AWS Direct ConnectはオンプレとAWSを閉域接続するサービスですが、いくつかの部品に分かれている上なかなか使う機会もないのでDirect Connectってどんなものなのかイメージしずらいですよね。
ここでは私の理解も交えながらそこまで難しくならないように解説します。
理解することを優先させるため、たとえを使うことがあります。
そのため厳密性が失われるかもしれませんが、その点ご了承頂ければと思います。
基本のパターンとそれを構成する部品の説明、他の接続パターンの流れです。
Contents
基本パターンの接続イメージ
VPCとオンプレを閉域接続する、という最もよくあるシチュエーションを考えます。
その場合以下のような構成が一般的です。
実は「Direct Connect」というリソースはないんです。
1個ずつ紹介していきます。
Connection
Connection(接続)とはオンプレとAWS Direct Connectロケーションの間に専用ネットワークを確立するためのリソースです。すごくおおざっぱにいうとオンプレとAWSをL1接続するものです。
AWSにはロケーションというAWSとそれ以外のネットワークを接続するポイントがあります。
主にデータセンター事業者がロケーションを持っており、世界各地にあります。
ロケーションからオンプレ、例えばデータセンターに接続するにはDirect Connectパートナーというネットワーク事業者に依頼するのが一般的です。
日本だとロケーションとしてはEquinixかアット東京が有名で、Direct ConnectパートナーとしてはNTTコミュニケーションズなどのネットワーク事業者があります。
多くのパターンではDirect Connectパートナーに依頼すればロケーション側の申請含めてやってくれます。
データセンターを使用していれば、そのデータセンター事業者がDirect Connectパートナーでもある可能性が高いのでまずそちらに相談するのが良いでしょう。
Connectionの手配には時間がかかります。最低一ヶ月は掛かると思っておいたほうが良いです。
一般的に冗長構成のためにConnectionは2つ調達します。
あとから冗長組みたくなっても調達に時間が掛かるので予めそのあたり決めておいたほうがベターです。
Connectionの種類
Connectionには2つ種類があります。
専用接続とホスト接続です。
専用接続
単一の顧客に関連付けられた物理イーサーネット接続で、上で述べたようなロケーションにEquinixを選んで、そこにデータセンターから接続して..とやるような場合は専用接続だと思ってもらってよいかと思います。
いろんなシステムでDirect Connect使いたい場合はこちらを使うのが良いでしょう。
専用接続の場合、一つのConnectionから最大50個のprivate VIFまたはpublic VIFと一つのtransit VIFが作成できます。つまり最大51個のVIFが作成できます。
VIFについては後ほど説明します。
ホスト接続
パートナーが作成する顧客のAWSアカウントに作成するConnection。
Direct Connectパートナー側で予めConnectionを持っておいて、それを顧客に切り出して提供するイメージ。
なのでこちらは提供までのスピードが早いです。
ただ、利用している例は少ないのかなと思います。
こちらは一つのConnectionから最大1個のVIFが作成できます。種類はprivate, public, transitから選択可能。
LOA-CFA
専用接続でConnectionを作成する場合、LOA-CFAというものが必要です。
Letter of Authorization-Connecting Facility Assignmentの略で、マネジメントコンソールやCLIからConnectionを作成するとダウンロードできます。
PDFで、どのロケーションのどのラックのどのポートにどのインターフェイスで繋ぎなさい、ということが記されています。
要するにこれをもとにロケーションとロケーション-オンプレの設定をしなさいという指示書です。
通常はこれをDirect Connectパートナーに渡せばよいです。
注意点としてはLOA-CFAを発行(Connectionを作成してから)後90日の間にポートをアクティブ(対向とL1接続)させる必要があります。
たとえばロケーションにEqunixを使っていたらEqunix側のインターフェイスがUPしたらアクティブになります。そしてその時点からConnectionの課金が始まります。
ここまでの話を図にいれるとこうなります。
VIF
Virtual Interface、仮想インターフェイスです。
おおざっぱにいうと「Connection」の対向AWSのルータのポート(interface)です。
Connectionに紐づけて作成し、作成後は任意のDirect Connect GatewayやVPN Gatewayにつけることができます。
頭が混乱してくる頃かもしれないので、かなり噛み砕いてDirect Connectの各部品の役割を上につけてみました。
各ルーターはBGPでルート交換を行います。
VIFにも種類があり、3種類あります。
VIFはConnectionというケーブルを指すポートの役割でした。
つまりどの種類のポートに指すか選べるということです。
ポートの種類が違うとその先につながっているAWSのルータの種類が違い、その先で接続できるものが異なってきます。
private, public, transitの3種類です。
Private VIF
オンプレからVPCに接続するためのVIFです。
これを使うことが最も多いのではと思います。
Public VIF
Public IPを持つAWSサービスに閉域接続したい場合に利用できます。
こっちの場合つなぎ方がまた変わってきます。以下のイメージです。
Public VIFを作成後はAWS側では特にすることはありません。
作成時に2つの連続したグローバルIP(/31)を使います。
ひとつはAWS側のルータに、一つはオンプレ側のルータに割り当てます。
AWSルータとオンプレルータは閉域接続しているので、このグローバルIPはなんでもいっちゃいいです。一応使っていない自分が持っているグローバルIPにしておくのがベターでしょう。
うまく接続できるとAWSルータからAWSのパブリックIPのルートがオンプレルータに流れてきて、オンプレから接続できるようになります。ルート数は4000くらいあるそうで、今後も増えると予想されます。
Transit VIF
transit VIFはTransit Gatewayを使う際に使用するVIFです。
NWを拡張する可能性があるときはこちらを使うと良いです。
Transit Gatewayを使うと以下のような接続イメージになります。
Transit Gatewayについては後ほど説明します。
実はVIFにはまた別の種類が存在します。
ややこしいですよね。
さきほどのConnectionに関連した種類になります。
この種類によってできることに違いはないです。
こういう種類があるのを知っておくことは大事かと思います。
標準VIF
専用接続型のConnectionから作るVIFです。
ConnectionもVIFも自分のAWSアカウントから見えるのが特徴です。
ホスト型VIF
Direct Connectパートナーが提供しているサービスで、VIFのみが自分のAWSアカウントから見えるのが特徴です。
パートナーが持っているConnectionを利用してVIFを作成し、VIFだけ自分に与えられるイメージです。
こうすることConnectionが共用にはなりますが、安価に早くVIFを使うことができます。
接続イメージです。ロケーションも気にしなくてよいです。
ホスト接続から作るVIF
ホスト接続のConnectionから作るVIFです。
標準VIFとそう変わらないです。根っこのConnectionは共用になります、というのが違いです。
Direct Connect Gateway
先程のVIFとVPCをつなぐ部分になります。
ちょっと前まではこのDirect Connect Gatewayはなく以下のような構成でした。
VIFとVPN Gatewayを直接つなげるものです。
VPN GatewayはVPCをオンプレなどとSSL-VPNや今回のようなDirect Connectでつなぐときに使うゲートウェイです。
話を戻して、
上記の構成のほうがシンプルに見えますが、複数VPCでDirect Connectを使いたいときには面倒なことになっていました。
上記のようにVPC毎にPrivate VIFが必要だったんです。
ホスト型接続やホスト型VIFを使っていたら、VPC増やすたびにパートナーにConnection増加やVIF増加の依頼する必要がでてきてしまいます。
これは面倒ですよね。
そこでDirect Connect Gatewayが登場しました。
これによって複数のVPCでVIFをシェアできるようになりました。
こんなこともできます。
どのVPC、オンプレ間でも通信できます。
Direct Connect Gatewayは無料で利用することができます。
また、Direct Connect Gatewayはグローバルサービスで、複数のリージョンのVPCに接続させることもできます。一つのDirect Connect Gatewayと一つのVIFで複数のリージョンのVPCと通信できるという、優れものです。
おさらい
基本パーツの説明は以上になります。
なんとなくでもイメージ掴んでもらえたら幸いです。
最初の図はざっくりこういう感じです。
Transit Gateway
ここまで基本のつなぎ方をみてきましたが、さらに便利なTransit Gatewayを使ったパターンも紹介します。
Transit Gatewayはre:Invent 2018で発表された機能で、私もその年はたまたま現地におり、生で発表を聞いていて、すごいものがでてきたなと感じたのを覚えています。
このTransit Gateway何がすごいのかというと、名前のとおりトランジット、つまり中継ができます。
いままではDirect ConnectでオンプレとVPCを接続することはできても、オンプレからVPCを経由してどこかに通信することはできませんでした。
なので複数VPC使っているような環境では別途NWアプライアンスをデプロイし、ピアリングして…等々準備が色々必要だったのですが、これ一つで解決できるようになりました。
さらにTransit GatewayをハブにしてVPN接続先の拠点、他のVPC、他のDirect Connect、他リージョンのTransit Gatewayなどなど様々なところに接続することができます。
接続例を図にしてみました。ここに書いてあるVPC、オンプレはすべて相互に通信することができます。
真ん中左のVPCにInternetゲートウェイを書いていますが、オンプレがTransit Gatewayを経由してこのInternetゲートウェイからインターネットへ通信可能なことを言いたかったので書きました。
たとえばVPCのEC2等でスケールするプロキシだったりIPS/IDSを構築してそこを全拠点のインターネットゲートウェイとして使うことも可能です。
さらにTransit Gatewayはアタッチしたものごとにルートテーブルを書くことができます。
上の図だとTransit Gatewayから線が5本伸びていますが、5本それぞれ毎にルートテーブルを持つことができ、こことここは通信させたくない、などのコントロールもできます。
詳しくはこちらにわかりやすく書いてあったのでリンクさせていただきます。
また、小ネタですが、Transit GatewayはDirect Connect Gatewayを間に挟んだTransit GatewayとはASNが被っても大丈夫です。
最後に
ここまで読んでくださってありがとうございます。
Direct Connect周りは基本のつなぎ方以外にもDirect Connect GatewayはTransit Gatewayの登場で幅が広がってきています。
Direct Connectについて少しでも理解が深まっていただけたら幸いです。