🔥

Direct Connectの設計図作ってみた

2023/06/22に公開

はじめに

今回はオンプレミスとAWSの接続を設計してみました。

具体的には
AWSとオンプレミスを専用線で繋ぐ際の設計を考えて欲しい、と言われたことを想定しています。
以下に求められる要件を書いています。

今回はこの要件を答える過程を書き連ねていきます。

Direct Connectに関する用語や概要について、別の記事でまとめていますので
よかったらこちらもご覧ください。
https://zenn.dev/fdnsy/articles/39609b00d080b7
https://zenn.dev/fdnsy/articles/5a4e7f816f3d13

要件

  • VPCは本番環境用に2つ、共通データ連携用に1つ必要
  • 3つのVPCはそれぞれ相互にデータを送受信するルートが必要
  • 共通データ連携用VPCは自社データセンターのデータを送受信する
  • データセンターで取り扱うデータは重要情報のため、専用線で費用対効果の高い設計が望ましい
  • 今後数年はVPCが増加する可能性は無い

VPC接続

では、まずVPC同士の接続を考えていきましょう。
これは簡単ですね。
ただ3つのVPCを繋げるだけです。

こうですね。

しかし、ここで考えることがあります。
何を使ってVPC同士を接続しますか?

選択肢として

  • VPC peering
  • TransitGateway

が考えられます。

今回の要件を考えましょう。
今回は「3つのVPC」「今後VPCが増える予定はない」ですね。

ここから考えられるのは、
VPC数が少ない、複雑なメッシュ構造のVPC構成ではないということです。

ということで今回は「VPC peering」を選択します。

TransitGatewayは複雑なVPC構造を相互接続するのに向いています。
TransitGatewayは後に記述するConnection, VIFにも制約があるため、今回は採用しません。

VPCとオンプレミスの接続

では次に、VPCとオンプレミス間の接続です。
まずはこの接続の要件をもう一度考えましょう。

  • セキュアな専用線での通信が必要
  • 費用対効果が高い設計が必要

ですね。

まずセキュアな専用線といえば「Direct Connect(以下DX)」ですね。
VPNではインターネット回線を使うので、今回は専用線であるDXを使います。

まずは解像度を低めに全体像を見るとこんな感じです。

DXを繋ぐためにVGW(Virtual Private Gateway)を連携用のVPC内に作成しています。
本番A,BのVPCはオンプレミス環境を直接接続しないので、VGWは不要です。

今回、オンプレミスと直接接続するのは連携用のVPC1つのみです。
そのため、DXGW(Direct Connect Gateway)を使用せず、VGWのみで接続を行います。

DXロケーション

では少しずつ解像度をあげていきます。
次に考えるのは、DXロケーションに配置するルーターです。

今回は、労力やスキルを考えてパートナー企業のルーターを使わせてもらいましょう。

次に、Connectionについて考えます。

  • Transit Gatewayを使わない
  • 費用対効果を求めている
  • パートナー企業のルーターを使う

これらの条件から、「共有型」を選択します。

「ホスト接続」も考えましたが、今回はTransit Gatewayを使わない、かつコストを抑える。
ということで、共有型を選びました。

VIF(Virtual Private InterFace)

Connectionが決まったので、次にVIFを考えてみます。
今までの流れからVIFも一択になります。

今回は「プライベートVIF」を使います。
これもConnectionと同様に、Transit Gatewayを使わないのでプライベートVIFでいいでしょう。

AWSのBlackBeltを参考にすると、こんな感じです。

全体像

最後に、全体像としては図のようになりました。

今回、ポイントとなったのは

  • VPCが少ない
  • DXで直接接続するVPCは一つだけ
  • コストを抑える

という部分でしょうか。

まとめ

なんとなくですが、設計時の雰囲気は掴めた気がします。
しかし、あくまでも机上の妄想なので、本来はもっと詰めるべきことが無数にあるのでしょう...

この課題は現在学習している「CloudTech」というコミュニティで出題された課題です。
ちょうどDXを勉強したてホヤホヤだったので、振り返りとしてよい勉強になりました。
インプットした知識を実際の設計で考えてみる、というのは非常に勉強になると感じました。

参考資料
https://kws-cloud-tech.com/
https://d1.awsstatic.com/webinars/jp/pdf/services/20210209-AWS-Blackbelt-DirectConnect.pdf

GitHubで編集を提案

Discussion