
Direct Connect Gatewayの切り替えをやってみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
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関連の切り替え作業は頻度がそこまで高くないことと、オンプレとの接続断が発生してしまうことが多いので注意して慎重に作業したいですね。この記事がどなたかのお役に立てば幸いです。






