Amazon VPC
# VPC
## 概要
従来DCを構築するには機材の調達などにより早くても半年かかっていた。そこでクラウドで必要な機能を抽象化し、サービスとして用意されているものを組み合わせることですぐに利用開始できるようになっている。
## VPCの特徴
- プライベートネットワーク空間を構築
- 任意のIPアドレスレンジが利用可能
- 論理的なネットワーク分離が可能
- ネットワーク環境のコントロールが可能
- 複数のコネクティビティオプションが選択可能
- インターネットゲートウェイ
- サブネット
- 仮想ルータ
- ルートテーブル
- VPC Peering
- NATゲートウェイ
- VPCエンドポイント
- Elastic IP
- バーチャルプライベートゲートウェイ
- VPNコネクション
- カスタマゲートウェイ
- Elasticネットワークインターフェース
- Elasticネットワークアダプタ
- PrivateLink
## 推奨
RFC1918 (192.168.xxx.0/16)
クラスBのネットワーク割り当てで65534個のIPを利用可能
## セキュリティコントロール
- ネットワークACL(NACL)
- セキュリティグループ
## VPCセットアップの補足
## Route 53 Resolver for Hybrid Clouds
VPC provided DNS へ接続されるENIが作成される。それを利用しオンプレDCのトラフィックを相互に転送できる
## Amazon Time Sync Service
## ネットワーク接続
- VPN
- 一つのVPN接続は2つのIPsec。トンネルで冗長化する
- 安価な回線も利用可能
- 即時利用可能
- 暗号化のオーバーヘッドにより帯域に制限あり
- ネットワーク状態の影響を受ける
- 障害時にインターネットを経由しているため自社の範囲外のトラブルに弱い
- Direct Connect
- 相互接続ポイントへ専用線を敷設しAWSとネットワーク接続する
- 接続先はVPC(プライベート接続)かAWSクラウド(パブリック接続)
- VPNより一貫性がある
- 高パフォーマンス
- 低コスト
- Direct Connect Gateway がHubになり同一アカウントの複数リージョン、複数ロケーションから複数リージョンの複数VPCに接続できる(中国を除く)
- キャリアの専用線サービスの契約が必要
- 数週間リードタイムがかかる
- 帯域はポートあたり1G/10Gbps/LAG可能
- キャリアにより品質が保証されている
- 障害時の切り分けが比較的容易
- 併用
- Direct Connect を優先させVPNをスタンバイとして利用できる
- フェイルオーバ時のレイテンシに注意が必要
- Transit VPC
- VPCをグローバルネットワーク転送センターとして機能させる
- 2つ以上のAWSリージョンに渡るプライベートネットワークを構築可能
- すべてのAWSリージョンをスキャンし、対象VPCを探し、自動でVPN作成をする(Cisco CSR)
- Cisco CSR のライセンス料金もかかる
- 帯域に制限
- 制御が複雑
- VPCエンドポイント(gateway型)
- グローバルIPをもつAWSのサービスに対して、VPC内部から直接アクセスするための出口(VPC内に作成)
- VPCエンドポイントを利用しない場合のアクセスはIGW経由の通信
- サブネットに特殊なルーティングを設定し、VPC内部から直接サービスと通信する
- 通信先のIPアドレスはグローバルIPアドレス
- ルートテーブルにより実現されている
- 無料
- PrivateLink(Interface型)
- 1:N対応
- サブネットにエンドポイント用のプライベートIPアドレスが生成される
- AWS内部で通信が届けられる
- セキュリティグループを利用できる
- 有料(NLBとエンドポイント費用)
- オンプレミスにも対応(自分で設計できる)
- IPアドレス重複OK
- スケーラブル
- Scope: アプリケーションの共用
- 相互信頼不要
- NATゲートウェイ
- プライベートサブネットのリソースがインターネットまたはAWSクラウドへ通信するために必要
- EIPの割り当て可能
- 高パフォーマンス
- 高可用性
- AZごとに配置するのがベストプラクティス
- ルートテーブルには “0.0.0.0/0 NATゲートウェイ”を追記
- VPC Peering
- 1:1対応
- 100VPCまで
- VPC間 Security Group
- Transit Gateway
- 1:N route table で制御
- AZごとのエンドポイント費用
- スケーラブル
- Scope: ネットワークの共用
- VPC間の信頼をroute tableで集中管理
## VPCを分割する例
- アプリケーションによる分割
- 監査スコープによる分割
- リスクレベルによる分割
- 本番・検証・開発フェーズによる分割(タグ付けなどでコスト管理、IAMによる権限管理)
- 部署による分割(共通部分はVPCピアリングで共用)
- 共通サービスの切り出し
など様々
逆にVPCシェアリングも可能
- ネットワークの統合
- 既存ネットワークの置き換え
- IPアドレス資源の保護
- 会計やセキュリティ
- 職務文章
- 一括管理
## VPCの運用
- VPC Flow Logs
- ネットワークトラフィックをキャプチャしCloudWatch Logs へ
- 料金はCloudWatchの分のみ
- GuardDuty
- 悪意のあるスキャン、インスタンスへの脅威、アカウントへの脅威を検知・通知するサービス
## 雑感
色々とサービスがあって混乱しがちですが、ネットワークは面白いです。
社内でも色々とサービスを利用しているので実際に見て確認してみようとおもいます。