AWS ネットワーク接続サービス

2023/06/11に公開

はじめに

本記事は、AWS Certified Solutions Architect - Professional第 1 分野: 複雑な組織に対応するソリューションの設計ネットワーク接続戦略を設計するに関連するAWSサービスの特徴やポイントのまとめです

対象知識

  • AWS のグローバルインフラストラクチャ
  • AWS ネットワークの概念 (Amazon VPC、AWS Direct Connect、AWS VPN、推移的
    ルーティング、AWS コンテナサービスなど)
  • ハイブリッド DNS の概念 (Amazon Route 53 Resolver、オンプレミス DNS 統合など)
  • ネットワークセグメンテーション (サブネット、IP アドレス指定、VPC 間の接続など)
  • ネットワークトラフィックモニタリング

VPCエンドポイント

ゲートウェイエンドポイント

  • VPCのサービス専用のゲートウェイをアタッチ
  • 対象サービス:S3、DynamoDB
  • 利用料金:発生しない
  • 設定:ルートテーブルにゲートウェイへのルート設定が必要
  • オンプレミス、別リージョンからアクセス
    • 直接的なアクセスはできない
    • プロキシサーバーを経由してアクセス
      • 高可用性:ELB、EC2 Auto Scalingを使用
  • メリット:同一VPC内のEC2などからのアクセスであれば、コストが発生しない

インターフェイスエンドポイント

  • VPCのサブネットにENIを作成、ENIのプライベートIPアドレスを使用してサービスにアクセス
  • AWS PrivateLinkを利用してENIとサービスの間のプライベート接続を提供
  • 対象サービス:S3、DynamoDBを含む数多くのサービス
  • 利用料金:発生する
  • 設定:インターフェイスエンドポイントが作成されるとDNS名が発行され、このDNSをサービスエンドポイントに指定
    • 高可用性:複数のAZのサブネットを指定
  • オンプレミスからアクセス
    • プロキシサーバーを介する必要ない
  • メリット:オンプレミスや他リージョンのVPCからのアクセスの場合、構成がシンプル

エンドポイントポリシー

  • エンドポイントを使用したリクエストのアクションやリソースを絞る
  • デフォルト:全てのリソース、アクションを許可

AWSクライアントVPN

  • オンプレミスクライアントからVPCへのVPN接続が可能
  • VPCを介したオンプレミスやインターネット、他のVPCへのOpenVPNベースのVPNクライアントを使用した安定なアクセスが可能

基本的なクライアント VPN アーキテクチャ

認証タイプ

  • Active Directory認証(ユーザーベース)
    • AWS Managed Microsoft ADまたはAD Connectorを使用
  • SSO(SAMLベースのフェデレーション、ユーザーベース)
    • IAM SAML IDプロバイダーを作成して、クライアントVPNエンドポイントの認証で指定
  • 相互認証(証明書ペース)
    • AWS Certificate Managerにアップロードしたサーバー設計書とクライアント証明書を使用

接続ログ

CloudWatch Logに接続ログを記録

接続ハンドラ

接続時にLambda関数で任意のプログラムを実行して、接続の許可・拒否判定ロジックを実装できる

AWS Site-to-Site VPN

VPCに仮想プライベートゲートウェイをアタッチして、オンプレミスのルーターとIPSec(Internet Protocol Security)VPN接続が可能

仮想プライベートゲートウェイ

  • ASN(Autonomous System Number、自律システム番号)を指定できる
  • 指定しない場合:AWSのデフォルトASN(64512)が使用される

カスタマーゲートウェイ

  • オンプレミス側のルータ
  • 動的ルーティング:BGP(Border Gateway Protocol)ASNの指定が可能
  • パブリックなASNがない場合:プライベートASN(64512~65534)を指定できる
  • 認証(証明書ベースではない場合)
    • 事前共有キー:インターネットから接続可能なIPアドレスが必要
    • 証明書ベース:AWS Certificate Managerにプライベート証明書をインポートして指定可能

VPN接続

仮想プライベートゲートウェイとカスタマーゲートウェイのVPN接続を作成できる

VPN接続でサポートされている機能

  • Internet Key Exchange バージョン2(IKEv2):暗号化のための共通鍵を交換する
  • NATトラバーサル(NAT-T):オンプレミス側でNATルーターを介したVPN接続が可能
  • デッドピア検出(DPD)
    • 接続先のデバイスが有効かどうか確認
    • デッドピアタイムアウトが発生した時のアクション:接続クリア(デフォルト)、再起動、何もしない

トンネル

  • VPN接続を作成すると、仮想プライベートゲートウェイは2つのAZにそれぞれトンネルを作成(冗長性確保)
  • パブリックIPアドレスを使用
  • トンネルエンドポイントの置換発生:AWS Personal Health Dashboardに通知が送信される
  • 認証:事前共有キー(Pre-Shared Key)は自動生成、特定の文字列を指定できる
  • IKEネゴシエーションの開始
    • トンネルオプションから決定
    • デフォルト:カスタマーゲートウェイから開始
    • AWSから開始する場合
      • カスタマーゲートウェイにIPアドレスが必要
      • IKEv2のみでサポート

複数のSite-to-Site VPN接続

  • VPN CloudHub
    • 1つの仮想プライベートゲートウェイから、複数のカスタマーゲートウェイにVPN接続を作成
    • 各カスタマーゲートウェイには、個別のASNを使用する必要がある

冗長なSite-to-Site VPN接続


カスタマーゲートウェイデバイスとVPN接続を追加

ソフトウェアVPN

EC2インスタンスにソフトウェアVPNをセットアップ → インターネットゲートウェイ経由でVPN接続

  • 使用ケース
    • 接続両端を完全にコントロールする必要がある
    • IPSec以外のVPNプロトコルが必要

AWS Direct Connect(DX)

Customer Router から Direct Connectのルーター(DX Router)に、標準のイーサネット光ファイバーケーブルを介して接続するサービス

  • 主要なコンポーネント:接続、仮想インターフェイス(VIF)

接続

専用接続

  • 単一のアカウントに関連付けられた物理イーサネット接続
  • ロケーション、ポートスピード(1Gbps、10Gbps、100Gbps)を指定して接続リクエストを作成
  • DXロケーション事業者へのクロスコネクトのリクエストにLOA-CFA(Letter of Authorization and Connecting Facility Assignment)が必要

ホスト接続

  • AWS Direct Connectパートナーが運用している物理イーサネット接続
  • ロケーション、ポートスピード(50Mbps、100Mbps、200Mbps、300Mbps、400Mbps、500Mbps)を指定して接続リクエストを作成
  • パートナーが接続設定したら、コンソールのConnectionに接続が表示されるので、ホスト接続の承諾をして受け入れる

仮想インターフェイス(VIF)

  • Direct Connectを使用するには、仮想インターフェイスの作成が必要
  • VIFを作成してVLANを生成
    • ホスト型仮想インターフェイス(ホスト VIF):接続を作成したアカウントを他のアカウントのVIFで利用するため作成

プライベート仮想インターフェース

  • VPCにアタッチされた仮想プライベートゲートウェイ、Direct Connect Gatewayに接続するVIF
  • プライベートIPアドレスを使って接続
  • Direct Connectと同じリージョンの仮想プライベートゲートウェイに接続
  • Direct Connect Gatewayに接続して、異なるリージョンの仮想プライベートゲートウェイに接続(最大10、それ以上はトランジット仮想インターフェイスを使用)
  • オンプレミスのLinuxからEFSマウントターゲットにマウント可能

パブリック仮想インターフェース

  • パブリックIPアドレスを使用してすべてのAWSパブリックサービス(S3、DynamoDBなど)にアクセス可能

トランジット仮想インターフェース

  • Direct Connect Gatewayに関連付けられたTransit Gatewayにアクセス可能
  • 1Gbps、2Gbps、5Gbps、10Gbpsの接続で使用可能

VPNバックアップのDirect Connect

  • 障害時に、低い帯域幅になったとしてもコストを優先したい場合は、VPNバックアップを使用した構成が検討できる
  • Direct Connect で 1Gbpsを超える速度で使用する構造では非推奨(VPNトンネルでは最大1.25Gbpsがサポートされるので)

回復性レベル

Direct Connectのみで冗長化を実現:接続作成時に「接続ウィザード」を使用

最大回復性

  • 回復可能な障害:デバイス、接続、ロケーション
  • 重大でクリティカルなワークロード向け

高い回復性

  • 回復可能な障害:デバイス、接続、ロケーション
  • ロケーションの障害が発生した際には冗長化は失われる
  • クリティカルなワークロード向け

開発とテスト

  • 回復可能な障害:デバイス、接続
  • 開発およびテスト環境向け

  • 複数の専用接続を集約して1つの接続として扱えるようにする論理インターフェース
  • 1Gbps、10Gbps、100Gbpsのみ

Direct Connectの料金

  • ポート時間:容量と接続タイプによって時間料金が決まる
  • データ転送
    • プライベートVIF:AWSアカウントに課金
    • パブリックVIF:リソース所有者に対して計算

VPCピア接続

  • VPCが他のVPCとの接続をプライベートネットワークで行う
  • 異なるアカウント、リージョンでもピア接続を作成できる
  • ピア作成後、ルートテーブルにピア接続をターゲットとする送信先ルートを作成
  • VPCを複数アカウントで共有したいだけの場合:RAM(Resource Access Manager)でサブネットを他アカウントと共有して共有VPNとして使用

AWS Transit Gateway

  • 最大5000のVPCやオンプレミス環境の接続を簡素化
  • Transit Gatewayをカスタマーゲートウェイ間でVPN接続が作成可能
  • それぞれのアタッチメントにルートテーブルが関連付ける

VPCアタッチメント

  • Transit Gatewayにトラフィックを送信するには、同じAZにアタッチメントが必要
  • リソースが複数のAZに渡ってデプロイされているのであれば、リソースと同じAZにアタッチメントを作成(サブネットはリソースと同じである必要はない)
  • VPCアタッチメントにTransit Gatewayルートテーブルを関連付けてルートを設定

VPN接続

  • Transit Gatewayに対して、オンプレミスのカスタマーゲートウェイとVPN接続が可能
    • アタッチメントタイプを「VPN」として作成
  • VPN接続に対してのルートをTransit Gatewayで制御
  • 複数のVPN接続を作成して、ECMP(Equal Cost Multipath)を接続間で有効可能
  • ネットワークトラフィックが複数パスに負荷分散されて、帯域幅を広げる

Direct Connectトラフィック仮想インターフェイス

  • Direct Connect GatewayにTransit Gatewayをアタッチ可能
  • 1つのDirect Connect仮想インターフェイスで複数のVPN接続を管理可能

Transit Gatewayピアリング接続

  • 異なるリージョンでTransit Gatewayを介した接続ができる
  • Transit Gatewayを他のアカウントと共有:RAMで指定したアカウントのVPCにアタッチメントを作成

Transit Gateway Network Manager

  • ネットワークの視覚化、モニタリング
  • Transit Gatewayを介した接続のルート分析:ルートアナライザーを使用

Global Accelerator連携のVPN高速化

  • VPN接続作成時に、「アクセラレーション」を有効 → 「Acceleratedサイト間VPN」を使用
  • VPN接続にエッジロケーションのGlobal Acceleratorを使用 → VPN接続のパフォーマンス、ネットワークの安定性を向上

AWS Route53

Route53プライベートホストゾーン

  • VPC内のDNSとして名前解決できる
  • プライベートホストゾーンを作成して、VPCを指定するだけで作れる
  • 複数のVPCで使用できる

Route53 Resolver

  • オンプレミスのハイブリッドな双方向のDNSアクセス実現
  • インバウンド・アウトバウンドエンドポイントはサブネットを指定して作成
  • サブネットのCIDRからIPアドレスが設定される

インバウンドエンドポイント

  • オンプレミスのDNSサーバーから転送する先としてIPアドレスを指定
  • オンプレミスからRoute53プライベートホストゾーンに対してのDNSクエリを使用できる

アウトバウンドエンドポイント

  • VPCから他のネットワークに対してのDNSクエリを使用できる
  • オンプレミスDNSサーバーのIPアドレスとポートを指定

アウトバウンドルール

  • RAM(Resource Access Manager)を使用して他のアカウントのVPCに共有

Discussion