

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# VPC のアウトバウンドトラフィックを制限する
<a name="restricting-outbound-traffic"></a>

## セキュリティグループを使用して VPC のアウトバウンドトラフィックを制限する
<a name="restricting-outbound-traffic-security-groups"></a>

アーキテクチャのアウトバウンドトラフィックの要件を評価したら、組織のセキュリティニーズに合わせて VPC のセキュリティグループルールを変更します。必要なポート、プロトコル、送信先 IP アドレスのすべてをセキュリティグループの許可リストに追加します

方法については、「Amazon VPC ユーザーガイド」の「[セキュリティグループを使用してリソースへのトラフィックを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)」を参照してください。

**[重要]**  
テスト環境で VPC のセキュリティグループのルールを更新したら、アプリケーションが引き続き期待どおりに動作していることを確認します。詳細については、本ガイド内の「**Best practices for analyzing your VPC’s outbound traffic when using VPC Flow Logs**」のセクションを参照してください。

*特定の AWS サービスに関するセキュリティグループの重要な考慮事項*

**Amazon Elastic Compute Cloud (Amazon EC2)**

VPC を作成すると、すべてのアウトバウンドトラフィックを許可する[デフォルトのセキュリティグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/default-custom-security-groups.html#default-security-group)も一緒に作成されます。Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでは、ユーザーが独自に[カスタムのセキュリティグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/default-custom-security-groups.html#creating-your-own-security-groups)を作成しない限り、このデフォルトのセキュリティグループが使用されます。

**[重要]**  
Amazon EC2 インスタンスで、デフォルトのセキュリティグループが意図せず使用されるリスクを避けるには、このグループのアウトバウンドルールをすべて削除します。詳細については、Amazon VPC ユーザーガイドの「[セキュリティグループの操作](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#working-with-security-group-rules)」内にある「**セキュリティグループルールの削除**」を参照してください。

**Amazon Relational Database Service** (Amazon RDS)

Amazon RDS DB インスタンスのアウトバウンドセキュリティグループルールは、データベースがクライアントとして機能していない限り、すべて削除できます。詳細については、Amazon RDS ユーザーガイドの「[VPC セキュリティグループの概要](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html#Overview.RDSSecurityGroups.VPCSec)」を参照してください。

**Amazon ElastiCache**

Amazon ElastiCache (Redis OSS) インスタンスと Amazon ElastiCache (Memcached) インスタンスのすべてのアウトバウンドセキュリティグループルールは、インスタンスがクライアントとして機能しない限り削除できます。詳細については次を参照してください:
+ [セキュリティグループ: EC2-Classic](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SecurityGroups.html) (*Amazon ElastiCache (Redis OSS) ユーザーガイド*)
+ [ElastiCache と Amazon VPCs について](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/VPCs.EC.html) (*Amazon ElastiCache (Memcached) ユーザーガイド*)

## AWS Network Firewall および DNS ホスト名を使用した VPC のアウトバウンドトラフィックの制限
<a name="restricting-outbound-traffic-network-firewall-hostnames"></a>

アプリケーションで動的 IP アドレスを使用している場合、VPC のアウトバウンドトラフィックをフィルタリングするには、IP アドレスではなく DNS ホスト名を使用するのがベストプラクティスとなります。例えば、アプリケーションで Application Load Balancer を使用している場合は、そのアプリケーションに関連付けられた IP アドレスは、ノードが継続的にスケールすることから変化します。このような状況の場合、アウトバウンドネットワークトラフィックをフィルタリングするには、静的 IP アドレスではなく DNS ホスト名を使用した方が安全です。

[AWS Network Firewall](https://aws.amazon.com/network-firewall/) を使用すれば、VPC のアウトバウンドインターネットアクセスを、HTTPS トラフィックの [Server Name Indication (SNI)](https://https.cio.gov/sni/) から提供された一連のホスト名に制限できます。

Network Firewall のポリシールールの詳細と例については、「AWS Network Firewall デベロッパーガイド」の「[Domain filtering](https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-examples.html#suricata-example-domain-filtering)」を参照してください。詳しい手順については、AWS 規範ガイダンス (APG) のパターン、「[Use Network Firewall to capture the DNS domain names from the Server Name Indication (SNI) for outbound traffic](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/use-network-firewall-to-capture-the-dns-domain-names-from-the-server-name-indication-sni-for-outbound-traffic.html)」を参照してください。

**メモ**  
SNI とは、トラフィックフローで暗号化されない TLS の拡張機能です クライアントが HTTPS 経由でアクセスしようとしている、接続先のホスト名を表します。

**[重要]**  
テスト環境で Network Firewall のステートフルルールを更新したら、アプリケーションが引き続き期待どおりに動作していることを確認します。SNI から提供された、必要な DNS ドメイン名がブロックされていないことを確認します。

アーキテクチャ例

次の図は、 AWS Network Firewall を使用して DNS ホスト名を使用して VPC のアウトバウンドトラフィックをフィルタリングするためのアーキテクチャの例を示しています。

![を使用して AWS Network Firewall DNS ホスト名を使用して VPC のアウトバウンドトラフィックをフィルタリングするためのアーキテクチャの例](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/secure-outbound-network-traffic/images/network-firewall-architecture-dns-hostnames.png)


この図表は、次のワークフローを示しています:

1. プライベートサブネットからアウトバウンドリクエストが発信され、保護されたサブネットの NAT ゲートウェイに送信されます。

1. NAT ゲートウェイによって受信された HTTPS トラフィックは、パブリックサブネットの AWS Network Firewall エンドポイントにルーティングされます。

1. AWS Network Firewall はリクエストを検査し、設定されたファイアウォールポリシールールを適用して、インターネットゲートウェイに渡すリクエストを受け入れるか拒否します。

1. 承認されたアウトバウンドリクエストはインターネットゲートウェイに送信されます。

1. インターネットゲートウェイから届いた承認済みトラフィックはインターネットに送信され、対象の URL (暗号化されていない HTTPS ヘッダで SNI が提供) にアクセスします。