[レポート]AWS のネットワーク設計入門 #AWSSummit
ご機嫌いかがでしょうか、豊崎です。
現在開催されている、AWS Summit 2018 Tokyoの AWS のネットワーク設計入門を拝聴いたしましたので、レポートしたいと思います。
概要
https://www.awssummit.tokyo/tokyo_session/session/
AWS 上でシステムを構築するにあたり、ネットワークレイヤーではどのような検討、設計すべきかを紹介します。また、最近発表された Inter-Region VPC Peering、Direct Connect Gateway、Private Link を活用した設計例についてもご紹介します。これから使う方はもちろん、すでに構築されている方のネットワークデザインアップデートとしてもご活用ください。
スピーカー
益子 直樹 アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト
レポート
AWSクラウドのメリット
- 従来のオンプレミス環境
- 様々なファシリティの準備が必要
- DC
- ラック
- ネットワーク機器
- リードタイムは早くても数ヶ月から、長いと半年
- 様々なファシリティの準備が必要
- AWSではどう変わるか
- 様々なネットワーク機能をNFV(Network Function Virtualization)として用意
- NFVを組み合わせて即時構築
- WebのAWSマネジメントコンソールで構築可能
- AWS CLIなどのAPIから構築可能
- 実際ににはAWSのデータセンターが存在
- 非常にセキュア
- グロバールなネットワーク
- 世界18+1リージョン
AWSのネットワーキング&コンテンツ配信
- VirtualPrivateCloud
- AWS上にプライベートネットワークを構築
- 論理な的なネットワーク分離が可能
- インターネット/閉域網/VPNの利用が可能
- 組み合わせる主なコンポーネント
- VPC
- Subnet
- EC2にはENIが付与される
- Subnetの範囲内のプライベートIPが付与される
- パブリックに接続を行う場合はPublicIP(ElasticIPも利用可能)を付与可能
- RouteTable
- プライベートなSubnetではインターネットへのルートを持たない
- パブリックなSubnetではインターネットへのルートを持つ
- IGW
- SecurityGroup
- サーバOSからFirewallの働きをオフロード可能
- 送信元にSecurityGroupを指定可能
- EC2の増減に影響を受けない柔軟性の高い設計が可能
- VPC内部の通信について
- VPC内のプライベートIPで通信を行うことが可能
- 専用線とVPN接続
- DirectConnect
- データセンターとAWS上のVPCの接続
- DCとVPG間でBGP Peerを貼ることで経路の交換が可能
- DirectConnectの冗長化も可能、もしくはバックアップの回線としてVPNを併用することも可能
- DirectConnect
考慮するべき設計ポイント
- VPC内サービスとVPC外サービス
- サービスの特性、抽象度(マネージドサービス)で分かれる
- VPC内
- EC2
- RDS
- Redshift
- EMR
- などなど
- VPC外
- Route53
- Athena
- S3
- DynamoDB
- などなど
- VPC内のサービスからVPC外のサービスに接続する3つの方法
- 基本はInternetGatewayを経由するもしくはNat Gatewayを経由する
- VPC EndPoint- GatewayType経由でアクセス
- VPC EndPoint - InterfaceTypeでVPCからアクセス
- PrivateLinkを利用したサービス
- Amazon Time Sync Service
- VPCに閉じたNTPでEC2の時刻同期が可能に
- 無料で利用可能
- うるう秒の平準化を行なっている
- VPC内
- サービスの特性、抽象度(マネージドサービス)で分かれる
- アベイラビリティゾーン(AZ)を用いた可用性
- リージョン内の構成
- 複数のDC群から構成されるAZ
- リージョン内に地理的に離れた複数のAZを用意
- AZ間は冗長化された数ミリsecの通信が
- 耐障害性
- Design for Failure
- 1つのAZが災害にあっても複数のAZがある
- 複数のAZにリソースを配置することでSPOFをなくす
- ELBなどを利用してバランシングする
- ELBを利用するためにセッションをステートレスにする
- またはELBのスティッキーセッションを利用する
- アプリケーションのDNSセッションに注意
- RDSなどサービスにMulti-AZに対応したものもあるので活用する
- ELBなどを利用してバランシングする
- リージョン内の構成
- VPCに使うアドレスレンジの選択
- VPCに設定するアドレスはすでに使っているネットワークアドレスを避ける
- VPCを1つで使うかVPCを分けるか
- VPCを分割する例
- アプリケーションレベル
- 監査スコープ
- リスクレベル
- 本番、検証、開発
- 部署
- 共通サービス
- フェーズによるVPC分割(本番、検証、開発)
- シングルアカウント・シングルVPC
- 組織ごとのVPC分割例(規模の大きいお客様にマッチしやすい)
- 業務部門ごとにVPCを分ける
- また、業務部門ごとに本番、検証、開発
- 共用システムについては共通のVPCとして利用
- VPC間はVPC Peeringで接続可能
- 2つのVPC間での通信が可能
- 異なるWASアカウントでの利用可能
- リージョン間での利用も可能
- 単一障害点や帯域幅のボトルネックなし
- 注意点
- MTU(1500byte)
- 直接接続しているpeering間でのみ通信可能
- VPCを分割する例
- Direct Connect Gateway
- 複数VPCとの接続、海外のVPCの利用も可能
- 注意点
- 現状マルチアカウント未対応(今後対応予定)
- 折り返し通信不可
- ネットワークアドレスの重複がある場合通信不可
感想
入門的な内容でポイントがまとまっているセッションでした。Direct Connect GatewayやInterfaceタイプのVPCエンドポイントの説明など新しいサービスの紹介もあり有意義な内容でした。ネットワーク周りはAWSを使う初期段階で検討を行う必要がある項目です。しっかり抑えて適切な構成を取っていきましょう。