Direct Connect Gatewayの切り替えをやってみた
はじめに
Bonjour、AWS事業本部のニシヤマです。
AWSアカウントで複数のVPCを持っていてオンプレとの接続している場合、Direct Connect Gateway(以下、DXGW)をご利用の方も多いかと思います。DXGW1つでVPC10個までの関連付けが可能なので、各VPCの仮想プライベートゲートウェイ(以下、VGW)とオンプレを接続する場合に比べ管理、コストが抑えられる便利なサービスです。
今回、このDXGWを既存のDXGWから新しいDXGW切り替える際の手順をご紹介します。
ざっくり説明
想定するユースケースとしては、すでにDXGWを利用している環境で回線増強をしたい場合などに、新規で作成したDXGWへ安全に切り替えを行う場合等になります。DXGWに関連付いている仮想インターフェイス(以下、VIF)を削除して、新しいVIFをDXGWと関連付けでも実現可能ですが、この場合既存のVIFを削除する必要があり切り戻しが出来なくなってしまうため今回はDXGWを切り替える方法をご紹介します。
実際に作業する場合は、影響の少ないVPCから実施するなどを検討してください。
ざっくり流れ
作業の流れはざっくりこんな感じになります
- 新規VIFを発行
- 新規DXGWを作成
- 新規DXGWと新規VIFを関連付け
- 既存DXGWからVGWをデタッチ
- VGWを新規DXGWからアタッチ
- 疎通確認
- 既存DXGWと、既存VIFを削除
作業開始時のイメージは以下のようになります。
それでは以下に実際の作業を説明していきます。すでに1番の新規VIFを発行
は対応済みの前提で進めます。
新規DXGWの作成
まずはDXGW(以下、新規DXGW)を作成します。AWSコンソールの「Direct Connect」の画面で、左メニューからDirect Connect ゲートウェイ
を選択します。すでに利用中のDXGW(以下、既存DXGW)がある状態です。
Direct Connect ゲートウェイを作成する
をクリックします。
DXGWの名前と、AS番号を64512~65534
、4200000000~4294967294
の範囲で指定します。デフォルト値は64512
新規DXGWが作成されDXGWが2つになりました。
次はVIFをDXGWに関連付ます。左メニューから仮想インターフェイス
を選択します。
VIF一覧の中に状態confirming
のVIFがあると思います。こちらがDXGWと関連付いていないVIFになります。状態available
のVIFに関しては既存のDXGWと関連付いているVIFになります。状態毎にVIFが2つあるのは、VIFが冗長化されている状態になります
状態confirming
のVIFのIDをクリックし、詳細画面に遷移し、右上の承諾する
をクリックします。
仮想インターフェイスを承諾する画面では、ゲートウェイタイプDirect Connect ゲートウェイ
、Direct Connect ゲートウェイはリストから先ほど作成したDXGWを選択し、右下の仮想インターフェイスを承諾する
をクリックして関連付けます。
自動的に画面がVIFの詳細画面に遷移し、VIFの状態がpending
からdown
に変わると思います。接続した直後はBGPステータスがupになっていないため、VIFの状態がdown
になります。
もう一つのVIFでも同様の作業を実施してください。
以上で新規DXGWの作成作業は完了です。現在の構成は以下の様になっています。
DXGWの切り替え
既存DXGWからVGWのデタッチ
それではDXGWの切り替えを実施していきます。この作業にはオンプレとの接続にダウンタイムが発生するので、実施する際は注意して作業するようにしてください。
AWSコンソールの「Direct Connect」の画面で、左メニューからDirect Connect ゲートウェイ
を選択します。
既存DXGWを選択し、ゲートウェイの関連付け
タブに関連付られているVGWが表示されています。
デタッチするVGWにチェックを入れ、関連付けを解除する
をクリックします。
最終確認になるので確認の上関連付けを解除する
をクリックします。その後、少し経過すると既存DXGWからVGWがデタッチされます。
確認
DXGWの画面でもVGWのデタッチが確認できますが、VPC内にルート伝播
が有効なルートテーブルがありオンプレ側からルート情報が伝播されている場合は、そのルートテーブルにBGP伝播されたルート情報の有無でも切断を確認することが可能です。
新規DXGWへVGWのアタッチ
それでは新規DXGWにVGWをアタッチしていきます。DXGWにVGWをアタッチする方法は2種類の画面で操作が可能なので両方とも説明していきます。
DXGW画面から
まずはDXGWの画面からの手順をご紹介。左メニューのDirect Connect ゲートウェイ
から新規DXGWを選択して詳細画面に移動します。
対象のDXGWのゲートウェイの関連付け
のタブでゲートウェイを関連付ける
をクリックします。
ゲートウェイ
で紐付けるVGWを選択します。許可されたプレフィックス
ではオンプレ側に広報するCIDRを指定することが可能です。デフォルトはVGWのアタッチされたVPCのCIDRが広報されます。
確認したらゲートウェイを関連付ける
をクリックして関連付けます。
以上で作業完了です。少し待ってVGWの状態がassociating
からassociated
になればアタッチ完了です!体感では10分程度で状態がassociated
に変わります。
VGW画面から
次にVGWの画面からの説明になります。
VGW自体はDXGWと関連付いてない物や、DXGWを利用しないDirect Connectで使われている物などがありますので対象のVGW IDなどを控えておいてください。
左メニューの仮想プライベートゲートウェイ
から新規DXGWを選択して詳細画面に移動します。ここで控えておいたVGW IDで対象のVGWの詳細画面に移動します。
対象のVGWのDirect Connect ゲートウェイの関連付け
のタブでDirect Connect ゲートウェイを関連付ける
をクリックします。
Direct Connect ゲートウェイ
で紐付けるDXGWと、許可されたプレフィックス
を選択します。
確認したらDirect Connect ゲートウェイを関連付ける
をクリックして関連付けます。
以上で作業完了です。少し待ってVGWの詳細画面からDXGWの状態がassociated
になればアタッチ完了です!体感では10分程度で状態がassociating
からassociated
に変わります。
現在の構成はこちら。
以上で再びオンプレ環境との通信が可能になっているかと思います!
旧DXGWの削除
以上で旧DXGWから新規DXGWへの切り替えが完了ですが、あとはVGWをデタッチした旧DXGWと関連付くVIFの削除になります。
VIFの削除
左メニューのDirect Connect ゲートウェイ
から旧DXGWを選択して詳細画面に移動します。対象のDXGWのゲートウェイの関連付け
のタブでアタッチされたVGWが無いことを確認します。
VGWが無いことを確認したら仮想インターフェイスのアタッチメント
のタブでVIF IDのリンクをクリックしてVIFの詳細を表示します。
確認したら右上の削除する
をクリックします。
確認のポップアップで最終確認をし、削除する
をクリックすればVIFの削除完了です。
旧DXGWの削除
最後に旧DXGWの削除を実施します。もう一度、旧DXGWの詳細画面に移動します。
こちらも削除対象のDXGWであることを確認したら右上の削除する
をクリックします。
確認のポップアップで最終確認をし、削除する
をクリックすればDXGWの削除完了です。
以上で新規DXGWの作成、切り替えから、旧DXGWの削除までの作業が完了しました!最終的に以下の構成になりました。
おわりに
Direct Connect関連の切り替え作業は頻度がそこまで高くないことと、オンプレとの接続断が発生してしまうことが多いので注意して慎重に作業したいですね。この記事がどなたかのお役に立てば幸いです。