[アップデート] Transit Gateway Network Manager がマルチアカウントをサポートしました!

Transit Gateway使うならNetwork Managerを活用しない手はなさそう
2022.05.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ちゃだいん(@chazuke4649)です。

AWS Transit Gateway Network Manager がマルチアカウントをサポートしました!

Announcing Multi-Account Support for AWS Transit Gateway Network Manager

何が嬉しい?

AWS Transit Gateway Network Managerとは、Transit Gatewayを利用する上で欲しい機能(ネットワークの全体把握、ネットワークトポロジー、TGWルートテーブルの疎通確認、モニタリングetc)を基本無料で提供してくれるTGWを補完するサービスといえるかと思います。

そんな Network Managerですが、今まではシングルアカウントのリソース(主にTransit Gateway)しか登録することができませんでした。それが今回のアップデートで、複数のアカウントに分散されたTransit Gatewayや他ネットワークリソースを1つのNetwork Manager管理アカウントにて集中管理することができるようになりました。

そもそも Network Managerとは?

Network Managerにピンとこない人は、以下記事をご参考ください。

[新サービス] グローバルなネットワーク構成が一目瞭然!AWS Transit Gateway Network Manager を使ってみた #reinvent | DevelopersIO

[アップデート] Transit Gateway Network Manager で Route Analyzerが利用できるようになりました | DevelopersIO

Transit Gateway Network Managerを使ってTransit GatewayとVPN接続の可視化をしてみた #reinvent | DevelopersIO

Transit Gateway Network Managerを AWS CLIから操作してみる #reinvent | DevelopersIO

前提

登場するAWSアカウントと作成済みのリソース

  • Management 999999999999 : Organizationsの管理アカウント
  • Network 111111111111 : ネットワークを管理するアカウント
    • グローバルネットワーク(Network Managerの基本コンポーネントとして作成が必要)
    • Transit Gateway network-prd-tgw (東京リージョン) :Network Managerに登録済み
  • Development 222222222222 : 開発環境用のアカウント
    • Transit Gateway singapore-dev-tgw (シンガポールリージョン) :Network Managerに未登録。かつ別アカウントなので今までは登録できない状態

手順

  1. Managementアカウント作業:信頼できるアクセスを有効化する
  2. Managementアカウント作業:委任された管理者を登録する
  3. Networkアカウント作業: Transit Gatewayを登録する
  4. 確認

参考URL

基本的にはNetwork Managerのドキュメントの履歴に以下が追加されています。

The Network Manager User Guide was updated, as Network Manager now supports multi-account, which allows you to centrally manage multiple AWS Organizations accounts and transit gateways in a single global network. (May 24, 2022)

Document history for Network Manager - Amazon VPC

主に追加となったのが以下2つのページであり、基本的にこれらの手順を参考にしながら進めていきます。

Manage multiple accounts in Network Manager with AWS Organizations - Amazon VPC

Multi-account - Amazon VPC

1. 信頼できるアクセスを有効化する

まずはManagementアカウントでの作業となります。

VPCコンソールの左ペインから、Network Managerを選択します。 諸般の事情からAWS Coud WANの画面から進めることになりますが、「今すぐ始める」へ進みます。

早速「マルチアカウントサポート」のエリアが新設されているので、「マルチアカウントサポートの有効化」に進みます。

ここを開くと実体としては左ペインの「設定(新規)」を開いた形になります。ここで信頼されたアクセスの状態が「無効」になってるので、「有効化する」を選択します。

ここでアクセス許可レベルを Admin か Read-Only か選ぶことができます。 違いはドキュメントに以下記載があります。

  • 読み取り専用: 委任された管理者および管理アカウントがコンソールスイッチの役割を使用しているときにグローバルネットワーク内の他のアカウントからのリソースに関する情報を確認するだけでよく、変更を加える必要がない場合は、この権限を割り当てます。
  • 管理者: 委任された管理者および管理アカウントがネットワークマネージャーコンソールスイッチの役割を使用しているときにグローバルネットワーク内の他のアカウントからリソースを変更できる必要がある場合は、この権限を割り当てます。 参考元)Multi-account - Amazon VPC

今回はNetworkアカウントから変更もできるようにしたいため、 Admin を選択して有効化します。

するととりいそぎステータスは Enabled になりました。(すみません。コンソールが日本語表示、英語表示が混在することご容赦ください...)

2. 委任された管理者を登録する

そのままの流れで、委任された管理者としてNetworkアカウントを登録します。

"Resister delegated adminstrator" を選択すると、対象AWSアカウントを指定できます。
ここでNetworkアカウントを選択して、実行します。

登録すると、しばらくStateがpendingでしたがRegisteredに変更になりました。 すると、ページ下部の IAM role deployments statusのエリアにて、Organizations配下のメンバーアカウントに対するIAMロールのデプロイが走り始めたことを確認できました。

しばらくすると、各メンバーアカウントに対してIAMロールがデプロイされStackSetsで管理されていることが確認できました。

補足として、ドキュメントには「1.信頼されたアクセスを有効化する」を実行後に、このIAMロール作成が走ると読み取れますが、実際は「2.委任された管理者を登録する」を終えると実行されたので注意です。

余談として、他AWSサービスにも「Organizations連携による信頼されたアクセスの有効化」はありますが、今回のようにサービス側のコンソールにて「IAMロールのデプロイ状況を確認できる画面」があるのは初見の気がします。いいですね。

3.Transit Gatewayを登録する

マルチアカウントサポートの有効化と、管理者の委任が完了したので、Networkアカウント側にて作業します。

Managementアカウントと同様に、VPCコンソールからNetwork Manager画面を開きます。前提に記載の通り、既にグローバルネットワーク test-global-network と、NetworkアカウントのTGW network-prd-tgw は登録済みです。

それでは今回DevelopmentアカウントのTGW singapore-dev-tgw を登録してみます。

Network Manager画面の TGW一覧から "Register Transit Gateway"へ進みます。
"Select account"にて、Developmentアカウントを選択すると、候補一覧の中に、目当てのTGW singapore-dev-tgw を確認することができました。これを選択して実行します。

補足として、一覧の中には、NetworkアカウントのTGWも表示されました。これはNetworkアカウントからRAMを使いTGWを他メンバーアカウントへ共有しているためと思われます。(今回は選択しません)

そしてしばらくすると、登録されたTGW一覧の中に入ったことが確認できました。

4. 確認

"Geography"のタブを開くと、TGWsが既存+今回で2つになっており、マップ上にも東京リージョンに1つ、シンガポールリージョンに1つあることが確認できました。

"Topology tree"のタブを開くと、Transit gatewaysに新しくTGWがひもづいていることが確認できました。

まとめ

今回のTGWのように、これでNetwork Managerに登録されたリソースはどのアカウントで作成されたかを意識せず、管理することができそうです。すばらっ!Network Managerは無料です、どんどん使っていきましょう。

確認は以上です。