はじめに
皆様お初にお目に掛かります。アドウェイズにてネットワーク基盤の構築・運用を行っているTKと申します。
AWSとオンプレ環境をDirect Connect(以下DX)で繋いだので、どのように2点間通信を行なっているかをざっくり説明させて頂こうと思います。
さてさて前置きが長くなりましたが、次から技術の話をしていきます。
Direct Connectとは
AWSにおける Direct Connect(以下DX)は、AWSと接続するためのポートを予約することです。
閉域網接続のため、インターネットのような他者に盗聴される可能性が減り、またIPsecVPNと異なり暗号化する必要がないため、ルーター機器の性能も抑えることができます。
Direct Connectを接続するための契約
プロバイダー契約について
Direct Connect接続するには一般的にプロバイダーを介して契約することが多いと思います。
以下は、契約の種類と弊社で選択した方法になります。
回線帯域
- 帯域保障 ⇨ 採用
- 契約した帯域分はスピードが出る契約
- お値段高い
- ベストエフォート
- 常に最高効率で通信が行える訳ではない契約
- お値段安い
Direct Connect接続型
- 占有型 ⇨ 採用
- DXポートを自社のAWSアカウント上で予約して、そのポートへプロバイダーから繋いでもらうプラン
- 接続単位での提供
- DXポートを自社のAWSアカウント上で予約して、そのポートへプロバイダーから繋いでもらうプラン
- ホスト型
- 1Gbps も使わない場合など、契約プロバイダーが予め DXとポートを繋いでいるプラン
- 接続単位での提供(ただし作れるVIF は一つのみ)
- 仮想インタフェース単位での提供
- 1Gbps も使わない場合など、契約プロバイダーが予め DXとポートを繋いでいるプラン
Direct Connect料金
- AWSへ支払うもの
- DXポート料金
- DXポートを介して通信した分の通信料金
- データセンターやプロバイダーに支払う費用
- 構内配線費用
- 契約プロバイダーへのサービス料金(回線費用※)
オンプレからVPCまでの通信の流れ
オンプレからVPCに通信するための設定方法
※今回Transit Gateway は予め定義しています。
1. Direct Connect 接続の定義
接続を作成しAWSのポートと実際に接続します。
接続の準備ができると LOA-CFA がダウンロードできるので、キャリア or ロケーションのデータセンターに提出します。
2. Direct Connect Gateway の定義
定義名とAS番号を指定します。
AS番号はTransit Gateway と被らないものを使用する必要があります。
3. Transit VIF の定義
以下のものを定義します。
- 仮想インターフェースの名前
- Transit VIF を作成するDXの接続の指定
- DX Gateway の指定
- VLAN ID
- AS番号(DXゲートウェイと同じもの)
また、BGP関連の設定も詳細な設定から行えます。
- PeerのIP
- Peerを張る際の自分(Transit VIF)のIP
- Peerを張る際のパスフレーズ
4. オンプレ側BGPルーターの設定
設定する内容としては以下の通りです。
- VLANの定義
- ポートのモードを trunk ポートにして、フレームにVLANIDが付与されるようにする
- SVIを使用してVLAN毎にIPを持たせる
- Transit VIF の定義時に設定したIPとAS番号、パスワードでBGPのNeighborを構成する
- オンプレのネットワークで広報したいものを追加する
5. Transit GatewayとDirect Connect Gateway の関連付け
Transit GatewayとDX Gateway を接続します。
その際にTransit GatewayからDX Gateway に対して広報するネットワークを指定する必要があります。
6. Transit GatewayとVPCの関連付け(Attachmentの定義)
Transit Gateway と接続したVPCがあるAWSアカウントから Transit Gateway 接続で対象のTransit Gateway と VPC を繋ぐための設定を投入します。
この際にTransit Gatewayへ繋ぐためのElastic Netowrk Interfaceを Availability Zone 毎に サブネットを指定します。
7. VPCルートテーブルにTransit Gatewayへのルーティング追加
VPCのルートテーブルの設定より、宛先ネットワーク(オンプレミスのネットワーク)は Transit Gateway へ向くようにルーティングを設定します。
8. 疎通確認
オンプレ(契約IDC)からVPC内のEC2のIPアドレス宛にPINGを飛ばして疎通を確認します。
※もし疎通が行えない場合は個々のサービス毎に確認する必要がありますが、特に多かった(忘れがちだった)箇所をピックアップして以下に記載します。
- オンプレ側BGPルーターでAWSへネットワークの広報をしていなかった
- ここで広報をしていないとDX Gateway は契約IDC側にあるネットワークを把握できません
- Direct Connect Gatewayの許可されたプレフィックスに、新しくTransit Gateway にアタッチした VPC のネットワークアドレスを追加していなかった
- オンプレ側のBGPルーターがAWS側のネットワークを把握できないため、ここで教えてあげる必要があります
- EC2側のセキュリティポリシーで契約IDCからのプライベートIP通信を許可していなかった
- Direct Connectを繋ぐまではインターネット越しの接続だったので IDC のIPを許可していなかったパターンです
その他
Transit Gatewayとは
Direct Connect接続、VPN接続、VPC間接続を束ねる巨大なルーターです。
弊社ではTransit Gatewayを利用してオンプレ-AWS VPC間の接続を行なっています。
Transit Gatewayを使うメリット
- インフラが管理するネットワークの一元管理
- 個々AWS アカウントでのルーティングの簡略化
- Transit Gateway が見えていれば Attachment を作成して VPC と Transit Gateway で接続することができる
- 別AWSアカウントのユーザーはAttachmentを作成し、VPCのルートテーブルからオンプレのネットワークの宛先をTransit Gatewayに向ければ通信が行えるようになる
Transit VIF(Transit Virtual Interface)を定義する理由
Direct Connect内でのルーティングではオンプレ側、AWS側に IP を持たせてそのIPをネクストホップにすることでルーティングを行います。
ルーティングは BGPを使ってオンプレ、AWS間でルートを広報する必要があるため、Transit Gatewayを接続するためにTransit VIFを定義しています。
なぜルーティングする方法を行なっているのか。 DirectConnect(以下DX)は専用線と言われていますが L2延伸は行えません。DXは L2延伸はできません。(大事なことなので2回言いました)
L2延伸はデータセンター内のネットワークから同じネットワークを伸ばすことで、専用線ではそれができますが、Direct Connectではできません。
以下DXのよくある質問ページより抜粋。
Q.AWS Direct Connect を使用して、AWS クラウドに VLAN のいずれかを拡張することはできますか?
いいえ。VLAN が AWS Direct Connect で使用されるのは、仮想インターフェイス間のトラフィックを分離することのみを目的としています。
最後に
今回 Direct Connect の接続について色々と書かせて頂きましたが如何でしたでしょうか?
初のブログのため色々と拙い部分も多々ありますがご容赦頂けますと幸いです。
最初はもっと冗長に書いていたのですが、ブログ用途に向かない内容だったため色々とまとめさせて頂きました。
知りたい内容が書かれていないなどあると思いますが何卒ご了承下さい。
本ブログを書くにあたり、ブログを運営しております弊社担当者様、
ブログを書くにあたって添削・整形に協力頂きました、同部署のT.Y. 様、ブログ運営の皆様 。
最後にこの記事を読んで頂きました全ての方に多大な感謝を申し上げます。
この記事が皆様が今後Direct Connect 接続を行う上で役立つことを願って。
執筆者:アドウェイズ・インフラストラクチャーディビジョン所属 TKより