【やってみた】AWS direct connectの設定を実際にやってみたので解説します:後編

2023.07.05

AWS

はじめに

こんにちは、ちーたです。

今回はチャレンジ企画として、私がデータセンター内でAWS Direct Connectの設定を実際に行ってみました。

この記事は、そのチャレンジ企画の後編に当たります。

前編はこちら→「【やってみた】AWS direct connectの設定を実際にやってみたので解説します」

続きをお楽しみください。

目次



2.AWS Direct Connectの設定(DXGWの作成、DXGWとVGWとの紐づけ、AWS Direct ConnectのVirtual Interfaceの承認)

Direct Connect構成

 

つづいて、DXGW(Direct Connect Gateway)の作成と、VGWとの紐づけ、AWS Direct ConnectのVIF(Virtual Interface)との紐づけに移ります。

DXGWとは、VGWとVIFをグループ化する機能のことで、これを利用すれば1つのAWS Direct ConnectのVIFに対して複数のAmazon VPCを利用することができるというメリットがあります。

まずはDXGWを作成し、前章で作成したVGWを紐づけ、その後AWS Direct ConnectのVIFのと紐づけを行います。

それでは、作業を行っていきましょう。

2-1.DXGW(Direct Connect Gateway)を作成

DXGW

 

まず最初にDXGW(Direct Connect Gateway)を作成します。

■図17

 AWS コンソールホーム

↑一旦ホーム画面に戻り、Direct Connectをクリックしましょう。

*最近アクセスしたサービスに出ないこともありますので、その場合は上部の検索機能で"dx"と入力すると候補の先頭に出てきます。

■図18

 Direct Connectゲートウェイ

↑上記の画面に遷移するので、「Direct Connect ゲートウェイ」をクリック。

■図19

 Direct Connectゲートウェイを作成する

↑右上の「Direct Connectゲートウェイを作成する」ボタンをクリック。

■図20

 Direct Connectゲートウェイを作成

↑上記の画面に遷移するので、任意の名前をつけて(今回はDXGW0428Training)、Amazon側のASNの値を入力し、「Direct Connectゲートウェイを作成する」をクリック。

■図21

 DXGW available

↑このDirect Connectゲートウェイ一覧画面で、作成したゲートウェイが表示され、状態が「available」になっていれば成功です。

設定した「DXGW0428Training」がちゃんと表示されていることが確認できました。

2-2. DXGW(Direct Connect Gateway)とVGWを関連づける

 DXGWとVGWの紐づけ

次に、作成したDXGWとVGWを紐づけ(アタッチ)ます。

■図22

 ゲートウェイを関連付ける

↑一覧画面に戻り、作成したDXGWにカーソルを合わせてクリックすると、上記の詳細画面に遷移します。画面中央の「ゲートウェイの関連付け」をクリックしたあとに右下の「ゲートウェイを関連付ける」をクリック。

■図23

 ゲートウェイを関連付ける

↑上記の画面に遷移しますので、作成したVGW(今回はvgw-0428training)を選択し、「ゲートウェイを関連付ける」をクリック。

■図24

 VGW

↑先ほどのDXGWの詳細画面に、選択したVGWが表示されます。少し待ち時間が発生しますが、それを待てば完了です。

2-3.DXGWとAWS Direct ConnectのVIFを紐づけ

 DXGWとDirect Connect VIFの紐づけ

次にDXGWとAWS Direct ConnectのVIFの紐づけを行います。

この章では、すでにATBeXへの申込が完了しており、AWS Direct Connect接続が利用可能な状態になっていることが前提となります。まずはAWS Direct ConnectのVIFを作成します。

★つまずきポイント②★

今回の検証を行っているときに、既存のDirect Connect接続にVIFを追加しようとしたらうまくいきませんでした。

それもそのはずで、既存のDirect Connect接続にはすでに別のVIFが作成されており、Direct Connectのホスト型接続では1つのVIFしか紐づけができない仕様になっているので、新しく作成したVIFを紐づけようとしてもエラーになってしまったのです。

そのため新規のDirect Connectのホスト接続を払い出し、そこに新しく作成したVIFを紐づけました。

この記事を読んでいるユーザー様も、完全新規でDirect Connectを利用する場合はこのようなことは起こらないのですが、追加利用しようとする場合は起こりえるので注意してください。

ホスト型接続の場合、1つのDirect Connect接続に対して1つのVIFしか作成できません!

図25 

仮想インターフェイス

↑Direct Connectの左サイドメニューで「仮想インターフェイス」をクリックし「仮想インターフェイスを作成する」をクリック。

*上記の手順に関して、検証当日はこのように進めましたが、ATBeXにてDirect Connectのホスト接続方式をご利用いただく場合、エンドユーザー様の”接続”項目内にホスト接続が割り当てられ、それを承認するところから開始することになりますのでご注意ください。

図26

プライベート仮想インターフェイスの設定

 ↑VIFの入力画面に遷移するので、各項目に入力します。

〇仮想インターフェイス名→「dxvif0428training」と入力。ここには任意の名前を入力します。

〇接続→「0428training」を選択。ここには作成済みのDirect Connectが出てきますので、それを選択します。

〇仮想インターフェイスの所有者→「自分のAWSアカウント」を選択

〇ゲートウェイタイプ→「Direct Connectゲートウェイ」を選択

〇Direct Connectゲートウェイ→「DXGW0428Training」を選択。*作成したDXGWが一覧に出てきますのでそれを選択します。

〇Virtual Local Area Network(VLAN)→「1657」

*ATBeXを申し込んだときに「ATBeX開通報告書」で通知されるVLANのIDを入力してください。このVLANは、ATBeX~AWS間のVLANにあたります。

〇BGP ASN→「64999」

*オンプレミス環境のルータのASNを入力します。

図27

 追加設定

↑そのまま画面をスクロールして「追加設定」タブをクリックし、開いて各項目を入力します。ここを間違えるとうまく接続できないので気を付けてください。

★つまずきポイント③★

追加設定タブ

検証当日は、「追加設定」というタブが開くのかどうかわかりづらく、見落としてしまっていました。

追加設定に何も入力せずに VIF を作成すると、AWSが指定したIPの値が採用されてしまい、そのIPに従ってオンプレミス側のルータを設計する必要が出てきます。

事前にオンプレミス側のルータを設定していた場合は、追加設定タブをクリックして開き、事前に設計したルータのピア IP を入れる必要があるので注意してください。

また、一度間違えて作成してしまったVIFを削除するときには少し時間がかかりますので(5~10分ほど)、急ぎの作業の場合はより気を付けましょう!

〇ルータのピアIP-オプション

ここにはオンプレミス側のルータのピアIP(今回は10.0.1.1/30)を入力してください。

〇AmazonルータのピアIP-オプション

ここにはAmazon側のルータのピアIP(今回は10.0.1.2/30)を入力します。

〇BGP認証キー-オプション

ここにはルータのMD5を入力します。

以下の構成図と入力項目に連動する番号を振っているのでご参考にしてください。

各項目を入力したら、「仮想インターフェイスを作成する」をクリックします。

Direct Connect構成図

■図28

VIF 詳細

 ↑作成したVIFの詳細です。「状態」のところがpendingからdownになれば完了です。次章で行うBGPの設定が完了すれば、”available”状態になります。

3.オンプレミス側ルータ機器の設定(ルータの設定、ルータとVIFを紐づけ)

3-1.オンプレミス側ルータ機器 CISCOの892FSP-K9の設定

 Direct Connect 構成図

次に、オンプレミス側のルータ機器の設定を行います。

今回の検証で使ったのはCISCOの892FSP-K9でした。

そちらにコマンドを打ち込みBGPの設定を行いました。

具体的なコマンドは今回の記事には載せませんが、この記事をご覧のユーザー様が作業を行う場合は、このタイミングでルータ側でBGPの設定を行ってください。

AWSが確認済みのルーターについては、サンプルコンフィグをアクションメニューからダウンロード可能です。環境に合わせてカスタマイズして利用しましょう。

うまくBGPの設定が完了すれば、AWS側と疎通できるようになります。

この段階で先ほどのVIFの状態を確認すると、

■図29

 仮想インターフェイス

状態がavailableになっていることが確認できると思います。

*今回作成したのは「dxvif-fh9l2d9v」の方です。

これで疎通準備は完了です!

4.疎通確認&AZごとのレイテンシーチェック

 Direct Connect構成図

最後に、AWSのVPC内にAmazon EC2を立ち上げてオンプレミスサーバーとの疎通の確認と、それぞれのAZに接続したときのレイテンシーの確認を行います。

4-1. Amazon EC2立ち上げ

■図30

 インスタンスを起動

↑AWS コンソール上でAmazon EC2のメニューを開き、「インスタンスを起動」をクリックします。

起動画面に遷移しますので、各項目に入力していきましょう。

■図31

 インスタンスを起動

↑インスタンス起動画面に遷移したら、まずは「Name and tags」に任意の名前を入力してください。「クイックスタート」ではAmazon Linuxを選択しました。

■図32

 インスタンスタイプ

↑今回の検証では「インスタンスタイプ」はt2.microを選択。「キーペア(ログイン)」は「キーペアなしで続行(推奨されません)」を選択しました。これらは構築環境に合わせて選択してください。

■図33

ネットワーク設定

 ↑ネットワーク設定では、設定した「VPC」、「サブネット」を選択。ファイアウォールに関してはデフォルト設定を選択。

「サブネット」に関してですが、今回の検証では3つのAZそれぞれにAmazon EC2を立ち上げてレイテンシー検証を行いたかったので、「サブネット」で選択するAZを切り替えて、合計3つのAmazon EC2を立ち上げました。

■図34

 高度なネットワーク設定

↑「高度なネットワーク設定」タブをクリックし、「プライマリIP」に「192.168.0.20」と入力。

入力が終わったら「インスタンスを起動」をクリックしてください。

*今回作成したAWSのVPCのIPが「192.168.0.0/24」だったので、その範囲内で作成。これを繰り返し3つのAmazon EC2を立ち上げました。

★つまずきポイント④★

検証当日は、ここでも「高度なネットワーク設定」タブが開くことに気づかず、プライマリIPに何も入力しないでAmazon EC2を立ち上げてしまったためオンプレミスサーバーから全然疎通ができず非常に焦りました。

ここでしっかりVPC側のIPを入力しましょう!

■図35

 Amazon EC2一覧

↑3つのAmazon EC2を立ち上げた画面のキャプチャです。それぞれ別のアベイラビリティゾーンに紐づいていることがわかります。

4-2.オンプレミスサーバー→Amazon EC2インスタンスの方向でpingを実行 、レイテンシーを確認

 Direct Connect設定

ついに疎通確認!無事オンプレミスサーバーからAWS Direct Connectを通してAmazon EC2にトラフィックを繋げることができました。

この時、それぞれのAZのAmazon EC2に対してpingを飛ばしレイテンシーを確認しました。

以下、その結果の記録です。

AZ(1A)

C:\Users\opeman>ping 192.168.0.12

192.168.0.12 に ping を送信しています 32 バイトのデータ:

192.168.0.12 からの応答: バイト数 =32 時間 =2ms TTL=125

192.168.0.12 からの応答: バイト数 =32 時間 =2ms TTL=125

192.168.0.12 からの応答: バイト数 =32 時間 =2ms TTL=125

192.168.0.12 からの応答: バイト数 =32 時間 =2ms TTL=125

192.168.0.12 の ping 統計:

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、

ラウンド トリップの概算時間 (ミリ秒):

    最小 = 2ms、最大 = 2ms、平均 = 2ms

AZ(1C)

C:\Users\opeman>ping 192.168.0.20

192.168.0.20 に ping を送信しています 32 バイトのデータ:

192.168.0.20 からの応答: バイト数 =32 時間 =4ms TTL=125

192.168.0.20 からの応答: バイト数 =32 時間 =4ms TTL=125

192.168.0.20 からの応答: バイト数 =32 時間 =4ms TTL=125

192.168.0.20 からの応答: バイト数 =32 時間 =4ms TTL=125

192.168.0.20 の ping 統計:

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、

ラウンド トリップの概算時間 (ミリ秒):

    最小 = 4ms、最大 = 4ms、平均 = 4ms

AZ(1D)

C:\Users\opeman>ping 192.168.0.40

192.168.0.40 に ping を送信しています 32 バイトのデータ:

192.168.0.40 からの応答: バイト数 =32 時間 =3ms TTL=125

192.168.0.40 からの応答: バイト数 =32 時間 =3ms TTL=125

192.168.0.40 からの応答: バイト数 =32 時間 =3ms TTL=125

192.168.0.40 からの応答: バイト数 =32 時間 =4ms TTL=125

192.168.0.40 の ping 統計:

    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、

ラウンド トリップの概算時間 (ミリ秒):

    最小 = 3ms、最大 = 4ms、平均 = 3ms

結果は、AZ(1A)がレイテンシーが一番低い、という結果となりました!

〇AZ(1A) 平均 = 2ms

〇AZ(1C) 平均 = 4ms

〇AZ(1D) 平均 = 3ms

これはあくまでも参考値です。どのデータセンターで行うか、その環境によって数値は異なりますのでご了承ください。

まとめ

以上、「AWS Direct Connectの設定をやってみた!」記事でした。いかがでしたでしょうか?

是非AWS Direct Connectの設定を行う際の参考にしてください。

この記事の中では割りとスムーズに設定が進んでいるように感じるかもしれませんが、実際の検証当日は4時間ほどかかりました・・・。なかなか大変な作業でございました。

文中にも記載していますが、つまずきポイントが全部で4つありましたので改めてまとめておきます。

  • つまずきポイント①左サイドメニューにある「サブネット」と「ルート」を間違えた!
  • つまずきポイント②Direct ConnectとVIFをうまく紐づけられなかった!
    ホスト型接続の場合、一つのDirect Connect接続に紐づけられるVIFは一つです。
  • つまずきポイント③VIFの作成画面で「追加設定」タブを見落とした!
    追加設定タブを開き、ルータのピアIPを入れる必要がありますので、ご注意を。
  • つまずきポイント④Amazon EC2立ち上げ時に「高度なネットワーク設定」タブを見落とした!
    やはりここでも高度なネットワーク設定タブを開き、プライマリIPを入れる必要があります。

以上、4つのつまずきポイントでした。

今回の記事が、みなさんがAWS Direct Connectの設定をする際の助けになれば非常に嬉しいです。

この記事を書いた人 ちーた

同じカテゴリーの記事