(レポート) NET301: VPCに最近追加された機能について #reinvent
セッションの内容
- VPCエンドポイント
- VPC Flow Logs
VPCエンドポイント
解決したい課題
- AWSの抽象化されたサービス、例えばS3やDynamoDBはパブリックなエンドポイントしか持っていない
- VPC内からそれらのサービスへの最適なアクセス方法を知りたい
これまでのアクセス方法の比較
|| パブリックIPを付与してIGW経由 | NAT経由 | プロキシ経由 | |:--|:-----------|:------------|:------------| |利点| 高可用性 スケーラブル ポートやCIDRによる制限 |一元的なアクセス制御 全プロトコル対応| 一元的なアクセス制御 スケーラブル セキュリティオプションが多い | |欠点|パブリックIPを持つことによるセキュリティリスク アクセス先のリソースを絞れない| 可用性が低い スケールしない 管理が大変 NAT自体はパブリックなのでセキュリティの問題 |可用性が低い スケールしない 管理が大変 HTTP/HTTPSしか使えない|
VPCエンドポイントによる解決
- パブリックIPやNAT、プロキシは不要
- 高可用性
- スケーラブル
- セキュリティ制御
セキュリティ制御
- ルートテーブルにエンドポイントを追加することでアクセスを許可する
- セキュリティグループによるアウトバウンド制御が可能
- VPCエンドポイントポリシー
- S3バケットポリシー
- 各ポリシーはAND条件で適用される
速度比較
下記構成でIGW経由、NAT経由、VPCエンドポイント経由のアップロード/ダウンロード速度を比較した。
多重度1の場合
多重度10の場合
VPCエンドポイント経由の方が圧倒的に早い NATの場合、NATサーバがボトルネックになり一定以上は速度が出ない
VPC Flow Logs
- 設定が通信をブロックされた原因(セキュリティグループやNACL)
- トラフィックの分析
- CloudWatch Logsで確認できる
- なのでCloudWatch Logsの連携機能(Kinesis等)が使える
- レコードはENI単位
ログのフォーマットと例
活用例
不正なSSHアクセスを検知
SSHアクセス拒否の場合はこのようなレコードが記録されるので、
感想
VPCエンドポイントによりNATを介さずにAWSサービスにアクセスできるのは嬉しいですね。 今のところS3しかありませんが、今後他のサービスでも増えることを期待しましょう。
VPC Flow Logsは応用範囲が広いように思いました。 CloudWatch LogsからKinesisに流せるので、今回発表されたKinesis Analyticsを使った集計もできそうです。