こんにちは。
エンジニアの岩間です。
最近、オンプレミス環境とEC2をAWS Direct Connectを使用して接続する機会があったので、設定方法を紹介していきたいと思います!
目次
はじめに
そもそもDirect Connectとは何か?というところです。
私はこれまでDirect Connectを触ったことがなく、Direct Connectときいて、
「オンプレミス環境からAWSクラウドまでをまるっとつないでくれる専用線」とふわっとしたイメージを持っていました。が、それは違いました。
正しくは、こうです。(以下の図参照)
AWS Direct Connectの提供範囲は、AWS Direct ConnectロケーションからAWS Cloud環境までです。
オンプレミス環境からDirect Connectロケーションまでの接続(以下の図の赤い範囲)は、AWSがDirect Connect Gatewayのデリバリーを認めた、AWSパートナーと契約する(今回紹介する手順はこちらの方法です)か、ユーザ所有のルータをDirect Connectロケーションに設置する必要があります。
てっきり「オンプレミス環境からAWSクラウドまでをまるっとつないでくれる専用線」だと思っていましたが、そうではないんですね。
オンプレミス環境とAWSクラウドを接続する方法は他にもAWS VPNなどの接続方法がありますが、
Direct Connetのメリットとしては
- インターネットを介さない専用線接続
- 高スループット
- 低遅延
- 安定した通信
- 災害に強い
- 50 Mbps から 100 Gbps まで速度をスケールアップして利用可能
が挙げられます。
前提条件
以下、設定の前提条件です。
- 東京リージョンにVPCとEC2は作成済み
- AWSがDirect Connect Gatewayのデリバリーを認めた、AWSパートナーと契約済み
- 構成図は以下の図参照
設定箇所はAWS Cloudの部分(DXGW、VGW、VIFの承認、ルートテーブル)です。
※オンプレミス環境側のルータ設定などは紹介しません
設定手順
それでは早速設定をしていきましょう!
1.DXGW(Direct Connect Gateway)の作成
まずはDXGWを作成します。
※構成図のDXGWの箇所になります。
DXGW(Direct Connect Gateway)とは、VGW(仮想プライベートゲートウェイ)とVIF(Virtual Interface)をグループ化するためのものです。
DXGWを使用せずにVGWとVIFで接続確立することもできますが、VGWは、VPCに直接アタッチするもので、1つのVPCに複数のVGWをアタッチすることはできません。(1つのVPCにつき1つのVGW)
そのため、以下のようなケースでは、DXGWの出番となります。
- 1つのDirect Connect(VIF)を複数のVPCに接続したい場合
- 別のリージョンや別のアカウントのVGWにも接続したい場合
- VIFとVGWを同一リージョンに1対1以外で設定したい場合(1VPF:複数VGW or 複数VIF:1VGW)
DXGWを使用することで、以下の図のような構成が実現可能です。
以下、DXGWの作成手順です。
1.AWSコンソールにログインします。
2.「Direct Connect」と検索し、Direct Connectのコンソール画面に移動します。
3.左メニューから「Direct Connectゲートウェイ」をクリックします。
4.以下の画像のような画面に遷移するので、「Direct Connectゲートウェイを作成する」ボタンをクリックします。
5.Direct Connectデリバリーパートナーから指定がある場合は指定の番号を入力し、「Direct Connectゲートウェイを作成する」ボタンをクリックします。
※画像ではASNを「65182」としています。
6.作成確認
作成したら、正しく作成できているか確認します。
2.Private VIF(Virtual Interface)承認
次に、Private VIFの承認作業を行います。
なぜPrivate VIFの承認を行うのか?というところですが、これはAWSパートナーが提供するサービスの種類の話に関わってきます。
先述の通り、今回はオンプレミス環境~Direct Connectロケーションまでの接続は、AWSがDirect Connect Gatewayのデリバリーを認めた、AWSパートナーと契約をします。
AWSパートナーが提供するサービスにも種類があり、占有型と共有型(ホスト型VIF)があります。
参考:AWS Black Bletの資料
-
-
- Direct Connect(占有型)
- Connection自体が提供され、自身のアカウントで占有可能
- VIFを自由に設定可能
- Connectionの物理帯域(1G, 10G)を占有
- 共有型を3本以上引くと価格が逆転することも
- Transit VIFは1つまで
- Direct Connect(共有型)
- Connectionは、APNパートナーのアカウントが所有したまま
- リクエストベースでVIFが、自身のアカウントに提供される
- 帯域保証型、ベストエフォート型などさまざま
- ホスト型VIFとも呼ばれる
- Transit VIFは利用不可
- Direct Connect(占有型)
-
Direct ConnectのConnectionを自分で管理している場合は、自分でPrivate VIFを作成できます。
パートナー経由のDirect Connectで、共有型接続をしている場合はパートナーにVIFの作成を依頼する必要があります。今回はこちらの方法で設定するので、Private VIFの承認が必要になります。
Direct Connectパートナーを介してVirtual Interfaceの承諾依頼がきたら、以下の作業を実施します。
1.「Direct Connect」と検索し、Direct Connectのコンソール画面に移動します。
2.左メニューから「仮想インターフェース」をクリックします。
3.パートナー様より発行された対象の仮想インターフェースをクリックし、「承諾する」をクリックします。
4.アタッチするゲートウェイを選択する画面に遷移するので、前の手順で作成したDirect Connect Gatewayを選択し、「仮想インターフェースを承諾する」をクリックします。
5.状態がavaliableになればOKです。
3.VGW(仮想プライベートGateway)作成
次にVGWを作成します。
※構成図のVGWの箇所になります。
同じ AWS リージョン内の VPC への接続には、VPC 用のVGW(仮想プライベートゲートウェイ)が必要です。
先述の通り、VGWはVPCに直接アタッチするもので、1つのVPCにつき1つのVGWをアタッチできます。
1つのVPCに複数のVGWをアタッチすることはできません。
以下、VGWの作成手順です。
※VPCと同じ東京リージョンで作成します
1.AWSコンソールで「Direct Connect」と検索し、Direct Connectのコンソール画面に移動します。
2.左メニューから「仮想プライベートゲートウェイ」をクリックします。
3.「仮想プライベートゲートウェイを作成する」をクリックします。
4.VGWを作成するためには、ASNを設定する必要があります。
Direct Connectデリバリーパートナーから指定がある場合は指定の番号を入力し、「仮想プライベートゲートウェイを作成する」ボタンをクリックします。
※画像ではASNを「65182」としています。
5.作成確認
作成したら、東京リージョン(ap-northeast-1)に正しく作成できているか確認します。
4.VGWとVPCの関連付け
次に、作成したVGWとVPCを関連付けます。
1.AWSコンソールで「Direct Connect」と検索し、Direct Connectのコンソール画面に移動します。
2.左メニューから「仮想プライベートゲートウェイ」をクリックします。
3.前の手順で作成したVGWを選択し、「アクション」→「VPCへアタッチ」をクリックします。
4.対象のVPCを選択し、「VPCへアタッチ」をクリックします。
5.状態が「Attached」になっていればアタッチ成功です。
5.VGWとDXGWの関連付け
次に、作成したVGWとDXGWを関連付けます。
1.「Direct Connect」と検索し、Direct Connectのコンソール画面に移動します。
2.左メニューから「Direct Connectゲートウェイ」をクリックします。
3.上記で作成したDirect ConnectゲートウェイのIDをクリックします。
4.「ゲートウェイの関連付け」タブから「ゲートウェイを関連付ける」をクリックします。
5.ゲートウェイに前の手順で作成したVGWを選択し、「ゲートウェイを関連付ける」をクリックします。
6.少し待ってVGWの状態がassociating
からassociated
になればアタッチ完了です!体感では10分程度で状態がassociated
に変わります。
7.仮想プライベートゲートウェイの「Direct Connectゲートウェイの関連付け」タブ側からも確認することができます。
6.ルートテーブルの設定
次に、VPCのルートテーブルを編集します。
1.AWSコンソールで「VPC」と検索し、VPCのコンソール画面に移動します。
2.左メニューから「ルートテーブル」をクリックします。
3.前の手順で仮想プライベートゲートウェイに関連付けたVPCのルートテーブルにチェックをいれます。
4.「ルートの編集」をクリックします。
5.「ルート」タブ→「編集」をクリックし、以下の設定を追加します。
ターゲット | 送信先 |
オンプレミス側のIP | 前の手順で作成したVGWを選択 |
7.セキュリティグループの設定
次に、EC2のセキュリティグループを設定します。
1.AWSコンソールで「EC2」と検索し、EC2のコンソール画面に移動します。
2.左メニューから「セキュリティグループ」をクリックします。
3.対象のインスタンスに紐づくセキュリティグループを選択し、「インバウンドルール」タブをクリックします。
4.「インバウンドルールの編集」をクリックし、ソースにオンプレミス側のIPを指定し、追加します。
ここまでできたら設定完了です!
pingなどで問題なく疎通できているか確認をしましょう。
さいごに
お疲れ様でした。以上、AWS Direct Connectを使ってEC2に接続する方法でした。
Direct Connectは名前だけ聞いたことはありましたが、実際に触って設定することができてよい経験となりました!
ここまでお読みいただきありがとうございました。
- 電子工作で自作した植物の自動水やり機から土壌データをAWS IoT Coreに連携してみた - 2024-09-13
- 【ESP8266 NodeMCU】電子工作で植物の自動水やり機を作ってみた - 2024-08-14
- Amazon Bedrock APIでTypeScriptのテストコードを出力してみた - 2024-05-07
- AWS CDK × CodeBuild × CypressでE2Eテストを自動化&実行動画をS3に保存してみる - 2024-04-16
- AWS ECSでブルーグリーンデプロイメント!~デプロイメントタイプ別の動作比較~ - 2024-04-03