仮想プライベートゲートウェイを別アカウントのDirect Connectゲートウェイに関連付けしてみた

仮想プライベートゲートウェイを別アカウントのDirect Connectゲートウェイに関連付けしてみた

クロスアカウントで仮想プライベートゲートウェイとDirect Connectゲートウェイを関連付ける作業をやってみました。頻繁にやる機会はないのでブログにしておきます。

コンバンハ、千葉(幸)です。

仮想プライベートゲートウェイ(VGW)を別アカウントに存在するDirect Connectゲートウェイ(DXGW)に関連付ける機会がありました。

実施する機会が多い作業ではないので、作業イメージをブログに残しておきます。たまたま時を同じくして酒井(たけし)が同様の内容をブログにあげていましたが、被りを気にせず投稿します。

https://dev.classmethod.jp/articles/vgw-direct-connect-gateway-crossacount/

同じ事柄をちょっとずつ違う角度から見ると解像度があがると言いますからね。

たけしのブログはVGWの作成から関連付け後のルート伝播まで含めた内容が記されていますが、わたしのブログは「VGWを別アカウントのDXGWに関連づける」の一点突破です。

今回やりたいこと

すでにDXGWやVGWがある状態で、両者の関連付けを行います。関連付けができるところまでがゴールです。

VGW Association DXGW1

  • VGWはすでにVPCに関連付け済みであるとします
  • 今回はそれぞれのゲートウェイがあるAWSアカウントを以下の通り呼称します
    • VGWアカウント
    • DXGWアカウント

VGWとDXGWのクロスアカウントでの関連付けのポイント

作業の流れと、ポイントを先に記しておきます。

  1. VGWからDXGWに関連付けの提案を実施する
    • AWSマネジメントコンソールから実施する場合、VPCではなくDirect Connectのコンソールから実施する
    • 以下の情報が必要になるので事前に控えておく
      • DXGWアカウントのAWSアカウント番号
      • DXGWのID
  2. DXGWで関連付けの提案の承認をする
    • 提案を受け入れる
    • 受け入れから関連付けが完了するまで10分弱時間がかかる

許可されたプレフィックスはデフォルトで設定する

関連付けを行う際に「許可されたプレフィックス」を指定することもできます。DXGWと関連付けられるゲートウェイにはVGWの他にもトランジットゲートウェイ(TGW)があり、それぞれで許可されたプレフィックスは以下のような扱いです。

  • VGWと関連づける場合
    • 関連付けの際に指定は任意(オプション)
      • 明示的に指定しない場合、自動的にVGWと関連づいたVPCのCIDRが指定される
    • アドバタイズされるルート情報はVGWと関連づいたVPCのCIDRの単位
    • 許可されたプレフィックス はフィルタとして機能する
      • プレフィックスがVPCのCIDRと同じかそれより広い場合:VPCのCIDRをアドバタイズする
      • プレフィックスがVPCのCIDRより小さいか異なる場合:何もアドバタイズしない
  • TGWと関連づける場合
    • 関連付けの際に指定が必須
    • アドバタイズ情報と「TGWが関連づいたVPCのCIDR」は関連しない
    • 指定したプレフィックスがそのままアドバタイズされる

今回はDXGWとVGWの関連付けですので、特に指定しなくても問題ありません。自動的に「VGWと関連づけられたVPC」のCIDRが設定されます。このあたりの詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/aws-direct-connect-gateway-allowed-prefixes-explained-simply/

明示的な指定が必要なケースはあまり無い気がします。今回も指定なしのデフォルトで行きます。(なお、クロスアカウントでの関連付けの場合は「提案」「承認」それぞれのタイミングで指定の機会があります。)

0. 作業前の状態

VGWがこのようにVPCと関連づけられた状態で存在しています。

VGW1

👆VGWは「VPC」のコンソールで見る機会が多いと思いますが、今回の作業はこの画面からではできません。後で確認しましょう。

DXGWはこのようなイメージです。すでに他のVGWが2つ関連づけられています。ここに今回の作業でひとつ増えるというわけです。

DXGW

👆この画面から確認できる「ID」を控えておきましょう。

123e4567-e89b-12d3-a456-426614174000のような8-4-4-4-12の構成のUUIDです。

1. VGWからDXGWに関連付けの提案を実施する

マネジメントコンソールでVGWアカウントにサインインします。

  • AWS Direct Connect」のコンソールから「仮想プライベートゲートウェイ」の画面に遷移します
  • VGWの詳細画面から「Direct Connect ゲートウェイの関連付け」タブで関連付けを試みます。

VGW_Associate

  • 関連付け先のゲートウェイのアカウントとして「別のアカウント」を選択します
  • 以下の情報を入力し、関連付けを行います
    • Direct Connect ゲートウェイ ID:先ほど控えたDXGWのID
    • Direct Connect ゲートウェイ所有者:DXGWのAWSアカウントID
    • 許可されたプレフィックス:ブランクにしましょう

VGW_Associate2

  • 関連付けを実施したのち、画面をリロードすると「保留中の Direct Connect ゲートウェイ提案」というタブが増えています
    • 関連付け直後にリロードしてもタブが増えていないことがあります。数秒待ちましょう

VGW_Associate3

ここまででVGWアカウント側の作業は終わりです。

2. DXGWで関連付けの提案の承認をする

マネジメントコンソールでDXGWのアカウントにサインインします。

  • AWS Direct Connect」のコンソールから「Direct Connect ゲートウェイ」の画面に遷移します
  • DXGWの詳細画面に「関連付けの提案」というタブがあり、そこで先ほど実施した提案が確認できます
  • 「承認する」をクリックします

DXGW1

  • 提案の受け入れ画面で、「許可された(る)プレフィックス」にはVGWが関連づいたVPCのCIDRが入っていることが確認できます
  • ここで上書きすることもできますが、特にその要件がないのでそのまま提案を受け入れます

DXGW2

  • 画面をリロードすると、「関連付けの提案」タブが消え、「ゲートウェイの関連付け」タブに行が増えます
    • 関連付け直後にリロードしても反映されていないことがあります。数秒待ちましょう

DXGW3

  • 数分待つとステータスが「associated」に遷移します

DXGW4

今回は7分程度でステータス変わりました。時を同じくして、VGWアカウント側で確認できるVGWのステータスも変わっています。

VGW_6

ここまでで今回やりたいことが満たせました。

実際に利用中の構成や構築状況にあわせて、必要があれば後続として以下の観点の作業を行いましょう

  • オンプレミスルーター(カスタマールーター)でのルート設定
  • VGWが関連づいたVPCのサブネットルートテーブルのルート設定
    • VGWからの伝播による動的なルート登録や、静的ルートの登録

終わりに

仮想プライベートゲートウェイを別アカウントのDirect Connect ゲートウェイに関連づけてみた、という話でした。

分かってしまえば難しい作業ではありませんでしたが、以下を押さえておくとよいかなと感じました。

  • VGWは「AWS Direct Connect」のコンソールから操作する必要がある
  • 関連付けの提案を承認してから完了するまで10分弱時間がかかる
  • 許可されたプレフィックスは多くの場合指定しなくてよい

同様の作業があるときに思い出していただければ幸いです。

以上、チバユキ (@batchicchi)がお送りしました。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.