まだ「完全に理解した」みたいな状態で書いていないので悪しからず。。
(理解したとは言っていない)
もし間違っている部分あればコメントして頂けると嬉しいです。
とは AWS Direct Connect - AWS Direct Connect
目次
構築手順
なにはともあれ、実際にどうやって構築するのか見てみます。
このブログに丁寧にまとめられていました。
やさしいDirect Connect の構築 | Oji-Cloud
この手順をまとめると、以下のようになります。
- Direct Connectを使用するためのConnectionを作成する
- 仮想プライベートゲートウェイを作成する
- 仮想インターフェースを作成する
- ルートテーブルに作成した仮想プライベートゲートウェイを設定する
- セキュリティグループにDirect Connectで使用するIPを設定する
公式に乗っているフローはこんな感じ。
それぞれの手順にポイントがあります。
1. Direct Connectを使用するためのConnectionを作成する
コネクションの作成方法として、「専用接続」と「ホスト型接続」の2種類があります。
AWS Direct Connectとは?基本を解説!メリット・デメリットから利用方法まで|ブログ|アイテック阪急阪神トータルクラウドソリューション
それぞれ以下のような特徴があります。
- 専用接続
- 専用の物理回線を引く
- 複数のVPCを使用する場合、料金コストはこちらのほうがよい
- ホスト型接続
- 一つの物理回線をシェアする
- 一つのVPCであればこちらのほうが料金コストはよい
また、契約方法も2種類存在します。
- 直接契約
- AWSとDirectConnectを直接契約する
- 回線引き込みやネットワーク設定など全て自分でやる必要がある
- 自身がAPNパートナーになる場合はこちら
- APNパートナーと契約
- APNパートナーが代理人となり、各種セッティングを行ってくれる
- パートナーごとに専用接続・ホスト型接続への対応状況は異なる
- パートナー一覧はここを確認
直接契約の場合は結構作業が大変なので、通常は「APNパートナーと契約」してConnectionを作成します。
ここで作成したコネクションにより、DirectConnectロケーションとつながるようになります。
DirectConnectロケーションの一覧は以下のとおりです。
AWS Direct Connect | Find Locations | Amazon Web Services (AWS)
2023-07-15現在、Asia Pacific (Tokyo)には以下の6つのロケーションがあります。(そのうち2つは台北ですが)
何気にNECがいますね。
コネクションができたら、この後は仮想プライベートゲートウェイと仮想プライベートインターフェースを使用してDirectConnectロケーションとVPCを接続していく作業になります。
2. 仮想プライベートゲートウェイを作成する
VPCとプライベートに通信可能とするための入口を作成します。
Q: 仮想プライベートゲートウェイ (VGW) とは何ですか?
仮想プライベートゲートウェイ (VGW) は VPC の一部分であり、AWS が管理する VPN 接続と AWS Direct Connect 接続のために、エッジルーティングを提供します。仮想プライベートゲートウェイを AWS Direct Connect ゲートウェイに関連付けて、VPC で使用します。詳細については、このドキュメントを参照してください。
まず、DirectConnectの中で登場するゲートウェイは「DirectConnectゲートウェイ」「仮想プライベートゲートウェイ」「トランジットゲートウェイ」の3つです。
使い分けとしては以下のとおりです。
- 一つのVPCと接続したい場合:仮想プライベートゲートウェイ
- 複数のVPCと接続したい場合:トランジットゲートウェイ
- 仮想プライベートゲートウェイもしくはトランジットゲートウェイを一つのDirectConnect接続を経由して使用したい場合:DirectConnectゲートウェイ
DirectConnectゲートウェイだけちょっと説明が長いですが、要はこれを使うと複数のゲートウェイに対して個別に仮想インターフェースを作成しなくても済む、というふうに考えればよいです。
[新機能] AWS Direct Connect Gatewayで世界中のAWSリージョンとプライベート接続する | DevelopersIO
ただし、DirectConnectゲートウェイに関連付けられるのは「仮想プライベートゲートウェイ」か「トランジットゲートウェイ」かのどちらかです。
どちらも関連付けたDirectConnectゲートウェイは作成できません。
Direct Connect ゲートウェイが既にトランジットゲートウェイに関連付けられている場合、Direct Connect ゲートウェイを仮想プライベートゲートウェイにアタッチすることはできません。
Direct Connect ゲートウェイが既に仮想プライベートゲートウェイに関連付けられている場合、または仮想プライベートインターフェイスにアタッチされている場合は、Direct Connect ゲートウェイを Transit Gateway にアタッチすることはできません。
AWS Direct Connect ゲートウェイとトランジットゲートウェイの関連付け - AWS Direct Connect
仮想プライベートゲートウェイ、トランジットゲートウェイにそれぞれDirectConnectゲートウェイをつなげた図が以下になります。
一応、AWSとしてはDirectConnectゲートウェイを使用することを推奨しているようです。
(後述する仮想インターフェースの作成画面で推奨されていました。)
また、トランジットゲートウェイについてはこちらを参照してください。
Transit Gatewayを利用してVPC間で通信してみた | DevelopersIO
さて、それでは仮想プライベートゲートウェイの作成を行うとどうなるか見てみます。
これが作成画面です。
入力にはゲートウェイの名前と「デフォルトASN」「カスタムASN」の設定があります。かなりシンプルですね。
ただ、そもそもASNってなんだ???
ASN(自律システム番号)とは
ASN(Autonomous System Number)の略称です。
ASとは、翻訳すると「自律システム」となります。
このシステムは、インターネット全体を一つのものとして管理するのではなく、小さな単位に分けて管理するためのシステムのことです。
そして、この小さいインターネットに対して割り振られる番号がASNです。
この番号は全世界で使用されているASNでユニークなものでなければなりません。グローバルIPアドレスと一緒ですね。
自律システム【インターネット】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ただし、DirectConnectゲートウェイを使用する場合、仮想プライベートゲートウェイまたはトランジットゲートウェイのASNは重複しても良いみたいです。
Transit GatewayやDirect ConnectのAS番号について - サーバーワークスエンジニアブログ
BGP(ボーダーゲートウェイプロトコル)とは
更にDirectConnectの理解を深める上で、ANSに関連した「BGP」という概念も重要です。
BGP(Border Gateway Protocol)とは、異なるASどうしがルーティングテーブルを更新するために使用するプロトコルのことです。
BGPとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ここまで来ると、そもそもルーティングテーブルってなんだっけ?ってなってきましたが、CIDRとかサブネットマスクとかで指定しているあれですね。
こちらもあわせて参考になるサイトがありました。
ルーティングとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
3. 仮想インターフェースを作成する
ゲートウェイを作成したら、次に仮想インターフェースを作成します。
仮想インターフェースを使用して、DirectConnectロケーションと先ほど作成したゲートウェイをつないでいきます。
仮想インターフェースの作成画面は、ゲートウェイの作成画面よりも入力項目が断然多いです。
まず仮想インターフェースのタイプを選択します。
- プライベート
- VPCとプライベートな接続を確立したい場合
- パブリック
- VPC以外のリソースと接続したい場合
- 「パブリック」という言葉から、どこからでも接続可能なインターフェース??と勘違いしてしまいましたが、あくまで確立されたプライベートな接続の中で、VPC以外のグローバルリージョンなサービスに接続するための方法です
- トランジット
- DirectConnectゲートウェイでトランジットゲートウェイを使用している場合
以下の図でも、パブリックタイプとプライベートタイプの接続が描写されています。
VPCを使用するかどうかで使い分けができることがわかります。
作成画面はタイプごとに違います。
いずれにも共通しているのは、「VLAN」の設定と「オンプレミスサーバーのASN」の設定です。
VLAN(仮想ローカルエリア・ネットワーク)とは
ローカルエリアネットワークを、論理的に小分けにしたもののことです。
VLANとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
ややこしいですが、このVLANを小分けにするための方法は一つではなく複数あり、その中の一つに「タグVLAN」というものがあります。
タグVLANとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
このタグVLANの規格が「IEEE 802.1Q」です。
IEEE 802.1Qとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
DirectConnectでは、このVLANの方式として「IEEE 802.1Q」を使用しています。
また、コネクションの作成時に「ホスト型接続」を選択している場合、この値はホストから提供されたものを使用します。
仮想ローカルエリアネットワーク (VLAN) の、まだ接続で使用されていない一意のタグ。値は 1 ~ 4094 を指定する必要があります。またイーサネット 802.1Q 規格を満たしている必要があります。このタグは、AWS Direct Connect 接続を通過するすべてのトラフィックに必要です。
ホスト接続がある場合、AWS Direct Connect パートナーがこの値を提供します。仮想インターフェイス作成後に値を変更することはできません。
AWS Direct Connect 仮想インターフェイスとホスト仮想インターフェイス - AWS Direct Connect
専用接続の場合、VLANはどうやって設定するんだろう…?
オンプレミスサーバーのASN
オンプレミスサーバーのASNを添付します。
ちなみに、グローバルIPが分かれば以下のサイトからすぐにわかります。
The Internet Routing Registry - RADb
仮想インターフェース作成時のその他入力項目
それ以外の入力項目は、
- 仮想インターフェース名: 仮想インターフェースの名前
- 接続: 作成したConnectionを設定
- 仮想インターフェースの所有者: 自分のAWSアカウントの場合はゲートウェイタイプと使用するゲートウェイを選択しますが、別のAWSアカウントの場合はそれらの項目の入力はせず、アカウントIDの指定を行います。
- アドレスファミリー: BGPの通信にIPv4かIPv6のどちらを使用するか
- ルーターのピアIP
- Direct Connect接続を行う対象のオンプレミスネットワーク側のルーターのIPアドレス
Direct Connect接続において、オンプレミス側のネットワークとAWS側のネットワークを接続するために、オンプレミス側のルーターとDirect Connectゲートウェイの間でBGP (Border Gateway Protocol) を使用します。このBGPセッションを確立するためには、オンプレミス側のルーターのIPアドレスを指定する必要があります。
- AmazonルーターのピアIP
- Direct Connectゲートウェイ(AWS側)のIPアドレス
Direct Connect接続において、AWS側のネットワークとオンプレミス側のネットワークを接続するために、AWS側のルーター(Direct Connectゲートウェイ)とオンプレミス側のルーターの間でBGPセッションを確立します。そのため、AWS側のルーターのIPアドレスを指定する必要があります。
- ジャンボMTU
- Maximum Transmission Unitの略。最大送信単位という意味。
- 第5回 イーサネットを高速化するジャンボ・フレーム技術 - IT
イーサネット標準の最大フレームサイズ、1518バイトを超えるフレームサイズのことを「Jumbo(ジャンボ)フレーム」と呼びます。ジャンボフレームを有効にすると、一度に転送するデータサイズが大きくなり、その回数も少なくなるため、実行データ転送速度(スループット)の向上が見込めます。ジャンボフレームに対応し、それを利用することで、高速・大量なデータ転送に伴う負荷を軽減し、スループットが向上します。
- SiteLink
- DirectConnect特有の機能
- 別途課金あり
SiteLink は、仮想プライベートインターフェイス用のオプションの Direct Connect の機能であり、AWS ネットワーク上で利用可能な最短パスを使用して、同じ AWS パーティション内の任意の 2 つの Direct Connect の POP (Point Of Presence) 間の接続を可能にします。これにより、トラフィックをリージョン経由でルーティングすることなく、AWS グローバルネットワークを介してオンプレミスネットワークに接続できます。
AWS Direct Connect 仮想インターフェイスとホスト仮想インターフェイス - AWS Direct Connect
Introducing AWS Direct Connect SiteLink | Networking & Content Delivery
- タグ: AWSの管理に使用するリソースタグ
4. ルートテーブルに作成した仮想プライベートゲートウェイを設定する
使用するルートテーブルに、作成した仮想プライベートゲートウェイをターゲットとして指定します。
インターネットゲートウェイの設定時と同じです。
5. セキュリティグループにDirect Connectで使用するIPを設定する
セキュリティグループのインバウンド設定から、自身のIPアドレスを設定し、通信可能な形にします。
これでDirectConnectを使用した通信ができるはず。。
感想
ネットワーク関連の前提知識を多く必要とするため、フローを理解するのに時間がかかってしまいました。
まだまとめきれていない部分があるので、後日またまとめるかも。
(書いている箇所でなにかあればコメントお願いします!)