【AWS CLI】DX切替時に利用できるコマンド

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

今回は、DX切替時に利用できるコマンドをご紹介いたします。

f:id:swx-fukushima:20201022005339p:plain

実行環境

今回、コマンドを実行した環境は、以下の通りとなります。
(本記事でご紹介しているコマンドの中には、Linuxのコマンドを利用している箇所があります。)

# uname -a
Linux LAPTOP-CNM26HN6 4.4.0-18362-Microsoft #1049-Microsoft Thu Aug 14 12:01:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux
#

はじめに

今回、DX切替は以下のシナリオを想定しました。

  • 既存のDXは、DXGWを未使用
  • DX切替に伴い、DXGWを導入
  • DXGWを利用し、他アカウントもDX接続を可能にする
  • ルートテーブルの変更で切り戻しできるよう、新規にVGWを作成

変数の定義

## VPCIDの設定
VPCID="vpc-xxxxxx"

## 新VGWのID
NEW_VGW_ID="vgw-xxxx"

## 旧(既存)VGWのID
OLD_VGW_ID="vgw-xxx"

## DXGWのID
DXGW_ID="xxxxx-xxxxxxxx-xxxxxxxx-xxxxxx"

## ルートテーブルのID
ROUTE_TABLE_ID="rtb-xxxxxx"

## ルートテーブルのソースCIDR
SOURCE_CIDR="0.0.0.0/0"

## DXGWを作成したAWSアカウントID
DXGW_ACCOUNT_ID="123456789012"

コマンドのご紹介

VGWのアタッチ

aws ec2 attach-vpn-gateway \
--vpc-id ${VPCID} \
--vpn-gateway-id ${NEW_VGW_ID}

VGWのデタッチ

aws ec2 detach-vpn-gateway \
--vpc-id ${VPCID} \
--vpn-gateway-id ${OLD_VGW_ID}

DXGWへVGWを関連付け(同一アカウント)

aws directconnect create-direct-connect-gateway-association \
--direct-connect-gateway-id ${DXGW_ID} \
--gateway-id ${NEW_VGW_ID}

DXGWへVGWを関連付け(他アカウント)

aws directconnect create-direct-connect-gateway-association-proposal \
--direct-connect-gateway-id ${DXGW_ID} \
--gateway-id ${NEW_VGW_ID} \
--direct-connect-gateway-owner-account ${DXGW_ACCOUNT_ID}

※上記コマンド実行後、DXGWがあるAWSアカウント側で承認をする必要がありますが、  これはコンソールからやった方が手っ取り早いので、CLIは記載しませんでした...

ルートテーブルの変更

aws ec2 replace-route \
--route-table-id ${ROUTE_TABLE_ID} \
--destination-cidr-block ${SOURCE_CIDR} \
--gateway-id ${NEW_VGW_ID}

旧VGWを使ったルートテーブルの調査

aws ec2 describe-route-tables --query "RouteTables[].[RouteTableId,Routes[].[DestinationCidrBlock,GatewayId]]" --output text | grep -E "^rtb-|${OLD_VGW_ID}"
  • 実行結果
rtb-04b4c0d17a73802ba
rtb-05f18025ab46ea4f4 ★
0.0.0.0/0       vgw-007a25ab924a9af53
rtb-05538d510bc97703a

⇒少し見づらいですが、上記の場合、★のルートテーブルが${OLD_VGW_ID}を使っていることになります。

ルート伝播の有効化

aws ec2 enable-vgw-route-propagation \
--route-table-id ${ROUTE_TABLE_ID} \
--gateway-id ${NEW_VGW_ID}

ルート伝播の無効化

aws ec2 disable-vgw-route-propagation \
--route-table-id ${ROUTE_TABLE_ID} \
--gateway-id ${NEW_VGW_ID}

終わりに

今回は、DX切替時に利用できるCLIコマンドをご紹介いたしました。 どなたかのお役に立てれば幸いです。

福島 和弥 (記事一覧)

SRE3課

2019/10 入社

AWS CLIが好きです。