【レポート】ネットワークデザインパターン Deep Dive #AWSSummit

2019.06.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、岩城です。

2019年6月12日(水)〜2019年6月14日(金)の 3 日間にわたり、 千葉県の幕張メッセにて AWS Summit Tokyo 2019 が開催されています。

こちらで講演されたセッション「ネットワークデザインパターン Deep Dive」を聴講しましたのでレポートします。

概要

本セッションでは、お客様からよくご相談いただくネットワーク関連の課題とその解決方法にフォーカスし、ネットワークデザインパターンとしてご紹介します。新たなワークロードについてこれから構成検討する方、既存構成を最新化したいお客様に最適です。基本的なサービスの紹介は省略しますので、本セッションの前に予定されている「AWS ネットワークの構成パターンと設計のポイント」への参加も合わせてご検討ください。

スピーカー

  • アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト
  • 益子 直樹

※敬称略

レポート

概要

  • 参加者
  • インフラのネットワーク設計/運用担当者
  • インフラの方針設計者
  • ゴール
  • 新規構築の場合、ネットワーク構成のベストプラクティスの理解
  • 運用中の場合、運用負荷の軽減

ネットワーク設計に重要なサービスのおさらい

  • VPC
  • Direct Connect(以降、DX)
  • Route53
  • Transit Gateway(以降、TGW)

歴史を追いながら理解する

  • 各サービスのが生まれた経緯を理解することは良いアーキテクチャに結び付けられる

VPCリリース

  • 2013-12にリリース
  • VPCでより隔離されたセキュアな空間が利用可能に

VPC Peeringリリース

  • 2014-3にリリース
  • VPC相互にデータ交換可能に
  • 共有サービス提供VPCパターン
  • 注意点
  • 仮に10個のVPCをフルメッシュで接続すると45個のVPC Peeringが必要に

海外のリージョンに接続 Inter-Region VPC Peeringリリース

  • 2017-11にリリース
  • 海外支社からもデータ連携したい
  • オレゴンリージョンから東京へ

オンプレミスと閉域接続(DX)

  • 専用線でオンプレと接続したい
  • 親アカウントでDXを接続し、各VPCのVGWに接続する
  • VPC Peeringを外すとVPC同士の折返し通信がオンプレルータで発生する

DX Gateway(以降、DXGW)をリリース

  • 2017-11にリリース
  • DX private VIF の本数を整理したい
  • DXGWにより1個のVIF:N個のVPCを接続可能に
  • 当時はマルチアカウント対応されていなかった

DXGW+海外リージョン

  • オンプレから直接海外のVPCに接続できる
  • 折返し通信を防ぐためにInter-Region VPC Peeringを設定

DXGWマルチアカウント対応

  • 2019-3にリリース
  • 海外リージョンでも利用可能

ここまでの整理

  • 長所
  • マルチアカウントで
  • 海外リージョンを含めて
  • 完全閉域のネットワークを設計可能
  • 短所
  • 構成が複雑になりがち

TGWリリース

  • 2018-11にリリース
  • TGWは折返し通信可能、VPC Peering可能
  • この時点ではDXによるオンプレミスへの接続は未対応だった

TGWがDXGWに対応

  • 2019-5にリリース
  • 親アカウントでDXGWを作成、TGWを利用したいアカウントでTransit VIFを作成
  • 現時点で4リージョンに対応

TGW+海外リージョン接続

  • 各リージョンでTGWを作成する
  • 東京リージョンリリース予定

ネットワーク関連でよく頂くご相談

オンプレ/VPCからVPC外のサービスにアクセスしたい

  • 解決したい課題1
  • VPCの中からVPC外のサービスにアクセスしたい
  • DynamoDBやS3等は、VPCエンドポイントのGateway型を使ってアクセス
  • 例えばECR、VPCエンドポイントのインターフェイス型を使ってアクセス
  • 上記2つに対応していない場合は、NAT Gatewayを経由してアクセス
  • 解決したい課題2
  • オンプレミスから直接VPC外のサービスにアクセス
  • VPCエンドポイント未対応のサービスへの接続方法
  • NAT Gatewayは嫌
  • 4つのパターン
  • 1.オンプレ→DX private VIF→VPCエンドポイント(Gateway型)→DynamoDB/S3
  • Gateway型の場合、別途Proxy用のインスタンスが必要
  • 2.オンプレ→DX private VIF→VPCエンドポイント(Interface型)→ECR
  • Proxyなし、直接オンプレからアクセス可能
  • 3.NAT Gatewayや対応していないサービスへのアクセス
  • 共有サービスVPCを作成
  • NLB→共有プロキシ→DynamoDB/S3
  • Private Linkを使って独自にサービスを作成および提供することがdけいる
  • 備考 独自VPCエンドポイントのアクセス制御
  • Interfaceに対してSecurity Groupを設定する
  • ProxyにURLフィルタを設定する
  • 備考 1:Nの共有サービスとして利用可能
  • Private Link1個:N個のVPCに共有サービスを提供可能
  • 4.Public Interfaceによるアクセス
  • オンプレミスからAWSとの物理的な閉域接続を担保しつつVPCを経由せず1HOPでS3にアクセス可能
  • 専有型のDXであればPrivate VIFと同じ物理回線でVIFによる通信可能
  • パブリック・アクセスできないと使えない案

オンプレミス/AWS間のシームレスなDNS設計がしたい

  • 前提:DNS解決の流れについておさらい
  • EC2からRDSのエンドポイントをRoute53にクエリ→Route53からIPアドレス応答→EC2からRDSにアクセス
  • 解決したい課題
  • オンプレミスからAWS上のシステムへの名前解決
  • AWSからオンプレミスのシステムへの名前解決
  • オンプレミスから透過的な名前解決になる設計にしたい
  • Route53のResolverはオンプレミスからのクエリに反応できない
  • 今までの解決策は
  • DNSフォワーダーをVPC内で構築していた

Route53 Resolver Endpointがリリース

  • ポイントは、Inbound EndpointとOutbound Endpoint
  • オンプレミスからVPC内のリソースをDNS Lookup
  • Route53 ResolverのInbound Endpointを設定する
  • オンプレミス側のResolverにはInbouned Endpointへ転送するルートを設定
  • AWSからオンプレ内のリソースをDNS Lookup
  • Route53のResolverにOutbound転送ルールを設定
  • 例:onpre.com xxx.xxx.xxx.xxx
  • Outbound EndopointからオンプレResolverへ

TGWにおけるDNSクエリ

  • 同一アカウント/同一Transit GatewayのVPC接続の場合
  • 他のVPCにあるリソースのクエリに対しても返ってくる
  • クロスアカウントやVPN接続の場合
  • Resolver Endpointを用意する

オンプレミスとAWS接続を高信頼にしたい

  • 解決したい課題
  • ミッションクリティカルなワークロードを扱いたい
  • 解決策
  • SPOFを排除
  • 費用対効果の観点冗長化する箇所を優先付け
  • TCPセッションは障害時に即時バックアップに引き継がれること
  • データセンターやAZを跨いだ時点で不可能
  • システム全体の正常性の定義を考えなおしてみる
  • Design for Failerの考え方
  • 絶対に落ちないシステムはない
  • 疎結合や水平に展開できるシステムを設計する
  • 費用対効果の観点で冗長化する箇所を優先付け
  • デュアルDXロケーション
  • 同一通信キャリアを利用している場合、異経路にする
  • 異なる通信キャリアを利用し、ラストワンマイルも含めて異経路にする
  • 備考 障害時のみ Internet VPNを利用
  • Backup回線としてインターネットを利用し低コストで冗長化
  • 大阪ローカルリージョンの利用(東京激甚災害を考慮)
  • DXGWはAWSサービス内部で冗長化
  • 大阪OS1、大阪ローカルリージョン間の通信については東京を経由しない設計
  • 海外リージョンの利用
  • 上記以外にも考えられること
  • BFD(Bidirectional Forwarding Detection)
  • 2台の装置間での経路の生存状況を調べ,いち早く障害を検出することを目的とした昨日
  • Link Aggregate
  • DXロケーションの渡りを作る
  • デュアルシステムにする

新サービスへのスムースな移行

  • 解決したい課題
  • 既存環境からスムースな移行
  • Classic VPNからSite to Site VPNに移行
  • 移行手順
  • 新しいVPNを作成
  • VPCからVGWをデタッチする(通信断発生)
  • VPCにVGWを作成しアタッチする
  • 古いVGWを削除する
  • Transit VPCからTGWへ移行
  • MigratorTool on EC2を使って移行することが可能
  • 既存VPCからTGWへの移行
  • TGWを作成してVPCと接続
  • DXGWをTransit VIFを使ってTGWにアタッチ
  • VPC宛の経路をPrivate VIFからTransit VIFに変更
  • オンプレ宛をVGWからTransit Gatewayに変更
  • 注意点
  • 事前テストを実施
  • マルチアカウント利用の前提条件を確認しておく

感想

歴史的背景を踏まえつつ、どのようにネットワークに関するサービスがアップデートされて来たか理解できました。 セッションでも言われていましたが、より深い理解のために実際に触りたいと思います。

Transit Gateway好きです!