キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
11033
閲覧回数
20
いいね!
0
コメント
jianzh3
Cisco Employee
Cisco Employee

はじめに

ASAの Active/Active 冗長構成では各筐体の 2つ の failover ペア(group 1 と group 2)がお互いの監視を行っており、問題を検知時に failover group 単位で切り替わり(failover)などが発生します。Active/Active 冗長構成はシステムの信頼性を高めた上、システムの負荷分散のメリットもあります。
本ドキュメントでは、ASA Active/Active 冗長機能の説明、及び、Active/Active Failoverの構成・設定例とその動作確認について、実例を交え紹介します。
本ドキュメントは、ASA5555 バージョン 9.12(1) にて確認、作成をしております。

 

 

ASA Active/Active 冗長機能の仕組み

Active/Active failover はマルチコンテキストのみをサポートし、各コンテキストは手動で ASA の failover group 1 と failover group 2 に配属されます。Admin コンテキストはデフォルトで failover group 1に配属されます。2台の筐体(ユニット)で、同じ failover group が 1つ の failover ペアとして、冗長機能を実現します。各 failover ペアの動作は基本的に Active/Standby failover の動作と同じであり、詳しくはASA: 冗長機能と、Failoverのトリガー、Health Monitoringについてを参照ください。Active/Active failover には筐体の Role(Primary or Secondary)と failover group の Role(Primary or Secondary)がそれぞれに存在しており、これらの Role の情報が手動で予め設定されて、failover ステータス(Active or Standby)の選択に利用されます。

Active/Active failover 構成のイメージは以下の通りです。Admin Context は基本 筐体の管理通信の処理用の特別なコンテキストです。

001.png

Active/Active failover は以下の組み合わせで動作することが可能です。

002.png

  • 組み合わせ1の通信例:

- Primary Unit      : Group 1 = Active ,    Group 2 = Standby
- Secondary Unit : Group 1 = Standby , Group 2 = Active

組み合わせ001_01.png

  • 組み合わせ2の通信例:

- Primary Unit      : Group 1 = Active ,    Group 2 = Active
- Secondary Unit : Group 1 = Standby , Group 2 = Standby

組み合わせ002.png

  •  組み合わせ3の通信例:

- Primary Unit      : Group 1 = Standby, Group 2 = Active
- Secondary Unit : Group 1 = Active,    Group 2 = Standby

組み合わせ003.png

  • 組み合わせ4の通信例:

- Primary Unit      : Group 1 = Standby, Group 2 = Standby
- Secondary Unit : Group 1 = Active,    Group 2 = Active

組み合わせ004.png

 

 

Active/Standby の選択ルール

Active/Active failover においては、下記のルールを持って、各 failover group の ステータス(active/standby)が決まります。

  • 両機器が同時に起動したように見える場合でも、一方のユニットが最初にアクティブになります。
  • preemptの時間を経つ場合に、装置の Role(Primary/Secondary)と failover group の Role(Primary/Secondary)が同じ failover group に対して、優先的に Active になります。
  • failover event(機器障害など)により、failover の切り替えが発生した場合に、Actice/Standby failover と同じように failover group の ステータスが変更されます。
  • 手動でフェールオーバーする場合に、preempt の機能が効きません。

以下は「両機器が同時に起動*1 → preemptの時間を経つ*2 → Primary 機器障害発生(Failoverのトリガー)*3 → Primary 機器の障害が復帰してから preempt の時間を経つ*4 → 手動で failover 切り替え*5」のステータス遷移の例です。
※Failoverのトリガー、及び、Health Monitoringの詳細については、ASA: 冗長機能と、Failoverのトリガー、Health Monitoringについてを参照してください。

 1. 両機器が同時に起動した後の failover group のステータス:

 ※ステータスA:選択_001.png

 2. ステータスAから、30秒(preemptの時間)を経った後のステータス:

 ※ステータスB:選択_002.png

 3. Primary 機器に障害(failover group 1 の Interface Down や HW障害など)が発生した後のステータス:

 ※ステータスC:選択_003.png

 4. Primary 機器の障害が復帰してから、30秒(preemptの時間)を経った後のステータス:

 ※ステータスD:選択_004.png

 5. Primary Unitで手動で failover group 2 を Active に設定した後のステータス:

  ※ステータスE:選択_005.png

 

 

構成例

本ドキュメントは、以下の構成で、設定・動作確認例を紹介します。

ロジック構成図:

構成図_ロジック.png

物理構成図:

構成図_物理.png

 

 

設定例

1. Primary機器側の failover 設定(Primary Unit -- system コンテキストで実施する)

failover lan unit primary
failover lan interface fover GigabitEthernet0/2
failover link fover_link GigabitEthernet0/3
failover interface ip fover 192.168.240.254 255.255.255.0 standby 192.168.240.253
failover interface ip fover_link 192.168.250.254 255.255.255.0 standby 192.168.250.253
failover group 1   <---- デフォルトで primary 
preempt 30 failover group 2 secondary
preempt 30 failover

2. 子コンテキストの failover group の設定(Primary Unit -- system コンテキストで実施する)

admin-context admin
context admin
  allocate-interface Management0/0
  config-url disk0:/admin.cfg
!                       <---- admin がデフォルトで group 1に追加される
context con1
  allocate-interface GigabitEthernet0/0
  allocate-interface GigabitEthernet0/1
  config-url disk0:/con1.cfg
  join-failover-group 1 <---- con1 コンテキストを group 1に追加する
!
context con2
  allocate-interface GigabitEthernet0/4
  allocate-interface GigabitEthernet0/5
  config-url disk0:/con2.cfg
  join-failover-group 2 <---- con2 コンテキストを group 2に追加する

3. con1 コンテキストの Interface IP の設定(Primary Unit -- con1 コンテキストで実施する)

ciscoasa/pri/act(config)# changeto context con1

ciscoasa/pri/act(config)# interface GigabitEthernet0/0
ciscoasa/pri/act(config-if)#  nameif con1-inside
ciscoasa/pri/act(config-if)#  ip address 192.168.10.254 255.255.255.0 standby 192.168.10.253
ciscoasa/pri/act(config-if)#  security-level 100
ciscoasa/pri/act(config-if)#  no shutdown
ciscoasa/pri/act(config-if)# interface GigabitEthernet0/1
ciscoasa/pri/act(config-if)#  nameif con1-outside
ciscoasa/pri/act(config-if)#  ip address 192.168.20.254 255.255.255.0 standby 192.168.20.253
ciscoasa/pri/act(config-if)#  no shutdown

4. con2 コンテキストの Interface IP の設定(Primary Unit -- con2 コンテキストで実施する)

ciscoasa/pri/act(config)# changeto context con2

ciscoasa/pri/act(config)# interface GigabitEthernet0/4
ciscoasa/pri/act(config-if)#  nameif con2-inside
ciscoasa/pri/act(config-if)#  ip address 192.168.30.254 255.255.255.0 standby 192.168.30.253
ciscoasa/pri/act(config-if)#  security-level 100
ciscoasa/pri/act(config-if)#  no shutdown
ciscoasa/pri/act(config-if)# interface GigabitEthernet0/5
ciscoasa/pri/act(config-if)#  nameif con2-outside
ciscoasa/pri/act(config-if)#  ip address 192.168.40.254 255.255.255.0 standby 192.168.40.253
ciscoasa/pri/act(config-if)#  no shutdown

5. Secondary機器側の failover 設定(Secondary Unit -- system コンテキストで実施する)

failover lan unit secondary
failover lan interface fover GigabitEthernet0/2
failover link fover_link GigabitEthernet0/3
failover interface ip fover 192.168.240.254 255.255.255.0 standby 192.168.240.253
failover interface ip fover_link 192.168.250.254 255.255.255.0 standby 192.168.250.253

6. Secondary機器側で failover コマンドの実施(Secondary Unit -- system コンテキストで実施する)

ciscoasa(config)# failover 

7. failover 同期が正常にできた後、failover状況の確認(Secondary Unit -- system コンテキストで実施する)

ciscoasa/sec/stby(config)# show failover 
Failover On 
Failover unit Secondary
Failover LAN Interface: fover GigabitEthernet0/2 (up)
Reconnect timeout 0:00:00
Unit Poll frequency 1 seconds, holdtime 15 seconds
Interface Poll frequency 5 seconds, holdtime 25 seconds
Interface Policy 1
Monitored Interfaces 5 of 516 maximum
MAC Address Move Notification Interval not set
Version: Ours 9.12(1), Mate 9.12(1)
Serial Number: Ours FCH1723JVYE, Mate FCH1723JVY8
Group 1 last failover at: 09:34:42 JST Jan 8 2020
Group 2 last failover at: 09:34:42 JST Jan 8 2020

  This host:    Secondary    <---- Secondary Unit の group1 と group2 が Standby ステータスとなる
  Group 1       State:          Standby Ready
                Active time:    0 (sec)
  Group 2       State:          Standby Ready
                Active time:    0 (sec)

                slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys)
                  admin Interface management (1.170.0.61): Normal (Monitored)
                  con1 Interface con1-inside (192.168.10.253): Normal (Monitored)
                  con1 Interface con1-outside (192.168.20.253): Normal (Monitored)
                  con2 Interface con2-inside (192.168.30.253): Normal (Monitored)
                  con2 Interface con2-outside (192.168.40.253): Normal (Monitored)
Other host:   Primary      <---- Primary Unit の group1 と group2 が Active ステータスとなる
  Group 1       State:          Active
                Active time:    601 (sec)
  Group 2       State:          Active
                Active time:    601 (sec)

                slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys)
                  admin Interface management (1.170.0.60): Normal (Monitored)
                  con1 Interface con1-inside (192.168.10.254): Normal (Monitored)
                  con1 Interface con1-outside (192.168.20.254): Normal (Monitored)
                  con2 Interface con2-inside (192.168.30.254): Normal (Monitored)
                  con2 Interface con2-outside (192.168.40.254): Normal (Monitored)

8. failover 構成が正しく構築できた後、負荷分担のため、failover group 2 を手動での切り替えを実施します。(Primary Unit -- system コンテキストで実施する)※「8.」を実施した後、Active/Active failover のステータスは上記の「組み合わせ1」に該当します。

ciscoasa/pri/act(config)# no failover active group 2

 

 

動作確認例

以下は Primary Unit の G0/0 Interface が DOWN した場合の動作例を紹介します。

G0/0 Interface の DOWN により、failover group 1 の failover がトリガーされ、Standby 側の G0/0 Interface(Secondary Unit)が元 Active Interface の IP/MAC アドレスを引き継ぎ、継続の通信を確保します。以下は failover group 1 の failover が発生した前後の FTP 通信例です。

動作確認001.png動作確認002.png

動作確認003.png

1. Win-01->Win-02のFTP通信を実施します。

2. ASAの両UnitでFTPコネクションが生成されたことを確認します。

// Primary Unitのコネクション確認
ciscoasa/pri/act(config)# changeto context con1
ciscoasa/pri/act(config)# show conn
5 in use, 11 most used

TCP con1-outside  192.168.20.1:21 con1-inside  192.168.10.1:7881, idle 0:00:22, bytes 45, flags UIO 

// Secondary Unitのコネクション確認
ciscoasa/sec/stby(config)# changeto context con1
ciscoasa/sec/stby(config)# show conn
5 in use, 11 most used

TCP con1-outside  192.168.20.1:21 con1-inside  192.168.10.1:7881, idle 0:00:33, bytes 45, flags UIO 

3. Primary Unit の G0/0 Interface を LinkDOWN させます。

4. failover group 1 の failover が発生し、FTP通信が切断されないことを確認します。※「4.」の処理が発生した後、Active/Active failover のステータスは上記の「組み合わせ4」に該当します。

ciscoasa/sec/act(config)# show failover 
Failover On 
Failover unit Secondary
Failover LAN Interface: fover GigabitEthernet0/2 (up)
……
Group 1 last failover at: 10:10:47 JST Jan 10 2020
Group 2 last failover at: 08:57:11 JST Jan 10 2020

  This host:    Secondary
  Group 1       State:          Active  <---- Secondary Unit の group1 が Active に切り替える
                Active time:    62 (sec)
  Group 2       State:          Active
                Active time:    4476 (sec)
                slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys)
                  admin Interface management (1.170.0.60): Normal (Monitored)
                  con1 Interface con1-inside (192.168.10.254): Normal (Waiting)
                  con1 Interface con1-outside (192.168.20.254): Normal (Monitored)
                  con2 Interface con2-inside (192.168.30.254): Normal (Monitored)
                  con2 Interface con2-outside (192.168.40.254): Normal (Monitored)
  Other host:   Primary
  Group 1       State:          Failed  <---- Primary Unit の group1 が Failed に切り替える
                Active time:    43 (sec)
  Group 2       State:          Standby Ready
                Active time:    64 (sec)
                slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys)
                  admin Interface management (1.170.0.61): Normal (Monitored)
                  con1 Interface con1-inside (192.168.10.253): No Link (Waiting)
                  con1 Interface con1-outside (192.168.20.253): Normal (Monitored)
                  con2 Interface con2-inside (192.168.30.253): Normal (Monitored)
                  con2 Interface con2-outside (192.168.40.253): Normal (Monitored)

ciscoasa/sec/act(config)# show conn  <---- Secondary Unit の group1 には対象FTPコネクションが存在している
12 in use, 12 most used

TCP con1-outside  192.168.20.1:21 con1-inside  192.168.10.1:7881, idle 0:00:30, bytes 61, flags UIO 
ciscoasa/sec/act(config)# 

5. Primary Unit の G0/0 Interface を LinkUP させてから、30秒(preemptの時間)を経った後、元の failover 状態(「組み合わせ1」)に戻ることを確認します。

ciscoasa/pri/stby(config)# 
  Group 1 preempt mate    <---- preemptの時間を経った後、failover がトリガーされる

ciscoasa/pri/act(config)# show failover Failover On Failover unit Primary Failover LAN Interface: fover GigabitEthernet0/2 (up) Reconnect timeout 0:00:00 …… Version: Ours 9.12(1), Mate 9.12(1) Serial Number: Ours FCH1723JVY8, Mate FCH1723JVYE Group 1 last failover at: 10:17:28 JST Jan 10 2020 Group 2 last failover at: 08:57:12 JST Jan 10 2020 This host: Primary Group 1 State: Active  <---- Primary Unit の group1 が Active に切り替える Active time: 44 (sec) Group 2 State: Standby Ready Active time: 64 (sec) slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys) admin Interface management (1.170.0.60): Normal (Monitored) con1 Interface con1-inside (192.168.10.254): Normal (Monitored) con1 Interface con1-outside (192.168.20.254): Normal (Monitored) con2 Interface con2-inside (192.168.30.253): Normal (Monitored) con2 Interface con2-outside (192.168.40.253): Normal (Monitored) Other host: Secondary Group 1 State: Standby Ready  <---- Secondary Unit の group1 が Standby に切り替える Active time: 401 (sec) Group 2 State: Active Active time: 4862 (sec) slot 0: ASA5555 hw/sw rev (1.0/9.12(1)) status (Up Sys) admin Interface management (1.170.0.61): Normal (Monitored) con1 Interface con1-inside (192.168.10.253): Normal (Monitored) con1 Interface con1-outside (192.168.20.253): Normal (Monitored) con2 Interface con2-inside (192.168.30.254): Normal (Monitored) con2 Interface con2-outside (192.168.40.254): Normal (Monitored)

 

 

MACアドレス

Active/Active failover の場合、常に仮想MACアドレス(デフォルト値、自動生成される値、もしくは、手動で設定される値)が使用されます。Active の仮想MACアドレスはいつも Active Interface と紐付きます。

物理 Interface に対して手動での仮想MACアドレス設定は以下の "mac address"コマンド、もしくは "(I/F設定モード内での) mac-address"コマンド が利用可能です。同機器内での以下2種のコマンドの併用は避けてください。以下は物理 Interface G0/1 に対して、手動での仮想MACアドレスの設定例です。

// 仮想MACアドレスの設定
ciscoasa/pri/act(config)# failover group 1
ciscoasa/pri/act(config-fover-group)# mac address g0/1 1234.1234.0001 1234.1234.0002

// Primary Unit 側の仮想MACの確認
ciscoasa/pri/act(config)# show interface g0/1 | in MAC
        MAC address 1234.1234.0001, MTU 1500

// Secondary Unit 側の仮想MACの確認 
ciscoasa/sec/stby(config)# show interface g0/1 | in MAC
        MAC address 1234.1234.0002, MTU 1500

            もしくは

// 仮想MACアドレスの設定
ciscoasa/pri/act(config)# changeto context con1
ciscoasa/pri/act(config)# int g0/1
ciscoasa/pri/act(config-if)# mac-addr 1234.1234.0001 standby 1234.1234.0002

// Primary Unit 側の仮想MACの確認
ciscoasa/pri/act(config)# show interface g0/1 | in MAC
        MAC address 1234.1234.0001, MTU 1500

// Secondary Unit 側の仮想MACの確認 
ciscoasa/sec/stby(config)# show interface g0/1 | in MAC
        MAC address 1234.1234.0002, MTU 1500

仮想MACアドレスを ASA により自動的に生成させたい場合に、"mac-address auto [prefix prefix]" コマンドの利用により、実現可能です。自動的に生成される仮想MACアドレスのフォーマットは以下の通りです。

フォーマット:A2 xx.yyzz.zzzz

  • A2:固定である
  • xx.yy:コマンドのオプションで指定された [prefix prefix] により生成される
    ※ prefix を 16進数 に変換された後の数字の逆の順番で入れる
  • zz.zzzz:ASA 内部のカウンタにより生成される

以下は "mac-address auto" が設定された場合に 各Interface の仮想MACアドレスの生成例です。

// 仮想MACアドレスの自動生成の設定
ciscoasa/pri/act(config)# mac-address auto INFO: Converted to mac-address auto prefix 8561
// con1 コンテキストに割り当てられている各Interfaceで生成された仮想MACアドレスの確認 ciscoasa/pri/act(config)# show run all context con1 context con1 allocate-interface GigabitEthernet0/0 mac-address auto GigabitEthernet0/0 a271.2100.0002 a271.2100.0003 allocate-interface GigabitEthernet0/1 mac-address auto GigabitEthernet0/1 a271.2100.0004 a271.2100.0005 config-url disk0:/con1.cfg join-failover-group 1 !
// con2 コンテキストに割り当てられている各Interfaceで生成された仮想MACアドレスの確認 ciscoasa/pri/act(config)# show run all context con2 context con2 allocate-interface GigabitEthernet0/4 mac-address auto GigabitEthernet0/4 a271.2100.0006 a271.2100.0007 allocate-interface GigabitEthernet0/5 mac-address auto GigabitEthernet0/5 a271.2100.0008 a271.2100.0009 config-url disk0:/con2.cfg join-failover-group 2 !

各Interface に対して、上記のように仮想MACアドレスの自動生成も手動生成も設定されていない場合に、デフォルトの仮想MACアドレスが利用されます。デフォルトの仮想MACアドレスの生成ルールは以下の通りです。

  • Active Interface の仮想MACアドレス:
    00a0.c9 physical_port_number.failover_group_id 01
  • Standby Interface の仮想MACアドレス:
    00a0.c9 physical_port_number.failover_group_id 02

以下は物理 Interface G0/1 に対して、デフォルトで生成された Active/Standby の仮想MACアドレスの例です。

// Active Interface の仮想MACアドレス
ciscoasa/pri/act(config)# show interface g0/1 | in MAC MAC address 00a0.c902.0101, MTU 1500
// Standby Interface の仮想MACアドレス ciscoasa/sec/stby(config)# show interface g0/1 | in MAC MAC address 00a0.c902.0102, MTU 1500

仮想MACアドレス設定の詳しくは設定ガイドの mac-address を参照ください。

また、仮想MACアドレスに関する詳細な説明内容は ASA: 冗長機能と、Failoverのトリガー、Health Monitoringについて も参照ください。

 

 

アップグレード

CLIまたはASDMを使用して、Active/Active failover ペアのゼロダウンタイムのアップグレードを実現できます。詳細は Upgrade an Active/Active Failover Pair を参照してください。

 

 

参考情報

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします