AWS のネットワークで知っておくべき10のこと
1. インスタンス起動からログインまで
起動時のインスタンスのIPアドレス関連処理
1. DHCPでサブネットのIPv4アドレスからプライベートアドレスが割当(インスタンス終了まで維持)
2. 内部DNSホスト名が割当
3. パブリックIPアドレスの割当(サブネットで有効な場合。EC2起動時に上書き可能)
4. 外部DNSホスト名が割当。プライベートIPアドレスとのマッピングがされる。
5. Elastic IPアドレスを関連付け
DNSサーバーとしてRoute 53 Resolverが動作(DHCPで配布される)
2 .インスタンスだけから見える専用ネットワークをつかって情報取得
メタデータを取得するためにサーバがある
http://169.254.169.254/latest/meta-data/
実行中のインスタンスからのみ取得可能
Credential不要
用途
パブリックIPアドレスを知る
ホストのSSH公開鍵入手
起動時実行スクリプトを置く
3. Amazon Virtual Private Cloud (VPC)
EC2 Classic
全AWSユーザーで共有するので1ユーザーが利用するIPアドレスがばらばらになる
インスタンス起動・削除のたびに企業のデータセンターのルーターの設定を更新しなければならない 技術的には可能だけど運用は無理
サブネットを切ってIPアドレス空間を埋めていけるようになった
Direct Connectの運用も現実的になった
4. インターネットにつながったクライアントからサーバへの旅
VPCと外の世界との間のゲートウェイ
VPC -> Blackfoot -> (Internet traffic, Direct Connect, VPN, S3 / DynamoDB endpoints)
5. リージョンとインターネットのはざまで
Availability Zoneの間
意味のある距離で配置
地震や災害があっても同時に破綻しない
DBでメインノードとコピー先が別AZにいたりもする インターネット、AWS Direct Connect、別リージョンとの結節点
データセンターの住所は非公開とし、トランジットセンタのみを公開している
6. AWSリージョンとグローバルバックボーン
国内だけの利用でも安定した可用性
全世界のAWSネットワークのようすを確認できる
AWSのEdgeとユーザーの間のネットワークのホップ数をなるべく減らす
ユーザーとEdgeを近くし、EdgeからはAWS内で高速に通信
ユーザーを一番近いエッジロケーションに誘導することで配信を高速化
コンテンツのキャッシュでオリジンの負荷をオフロード AWS Global Networkを利用することで非キャッシュコンテンツも高速化
ohbarye.icon Fastlyでも似たようなことをやっている 7. VPC同士を接続する
VPC peering
1:1で100VPCまで
AWS PrivateLink
1:N
スケーラブル
アプリケーションの共用に使える
Transit VPC
AWS Transit Gateway
1:1でも1:Nでも
スケーラブル
8. VPCとオンプレミスをつなぐ
Client VPN
自宅や出張先からアクセスするユースケース
OpenVPNベースのVPNを介してAWSへプライベートに接続するサービス Site-to-Site VPN
データセンターや拠点とAWSをかんたんに接続するユースケース
通常はDirect Connectだけどバックアップ回線として使う例など
データセンターや拠点とAWSを専用線を介してAWSへプライベートに接続するサービス
物理接続(Connection)は1Gbpsまたは10Gbpsのポート速度をサポート 接続先
VPC
AWSクラウド
トランジット
9. インターネットからの攻撃とその対処
AWSは世界中から攻撃を受ける
攻撃を受けないようにするのではなく受けても大丈夫にする
In-line DDoS Mitigation Inside an Edge POP
様々な攻撃からWebアプリケーションに対する防御を提供
WAFの割には廉価
AWS Organizationのアカウント/アプリケーションで一元的にファイアウォールのルールを設定・管理
10. ハンズオン&ワークショップで復習
役に立つソース
AWSデータセンターバーチャルツアー
AWS専用線アクセス体験ラボトレーニング
SaaSを自分のVPC内で使う方法(PrivateLink)
Configure and Deploy AWS Client VPN
AWS Transit Gatewayを使用したHAクラスタ構成
AWS環境における脅威検知と対応
Intelligent Automation with AWS and Snort IDS