web-dev-qa-db-ja.com

アウトバウンドEC2をS3にのみアクセスするように制限するにはどうすればよいですか?

EC2インスタンスからの送信セキュリティグループを制限したい。インスタンスはS3バケットにアクセスするだけで済みます。 S3がポートHTTPS(443)を使用することを知りました。 HTTPSである限り、任意のIPへの接続を許可するためにそのルールを設定できますが、EC2インスタンスがS3にアクセスすることだけを許可することは可能ですか? S3バケットに接続されているIPはありますか、それとも設定できますか?

6
user3892683

eC2インスタンスがS3にアクセスすることだけを許可することは可能ですか? S3バケットに接続されているIPはありますか、それとも設定できますか?

S3は多くのIPを使用します。それらすべてのリストを特定するのは難しいでしょう。さらに、IPからバケットへのマッピングはなく、バケットのIPを指定することはできません。 S3はAWSが実行するマネージドサービスであり、サービスのIPアドレスの使用を完全に制御できます。

このレベルでフィルタリングする必要がある場合、最も簡単なことは、デフォルトの拒否ACLでフォワードプロキシ(Squidなど)を使用して、S3ドメインへのアクセスのみを許可することです。

4
EEAA

ここでVPCエンドポイントを使用することができます。

http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html

「VPCエンドポイントを使用すると、NATインスタンス、VPN接続、またはAWS Direct Connectを介して、インターネットを介したアクセスを必要とせずに、VPCと別のAWSサービスの間にプライベート接続を作成できます。エンドポイントは仮想デバイス。これらは、水平にスケーリングされ、冗長性があり、可用性の高いVPCコンポーネントであり、ネットワークトラフィックに可用性リスクや帯域幅の制約を課すことなく、VPCとAWSサービスのインスタンス間の通信を可能にします。」

7
nuclear rabbit

AWSは、JSONを介してパブリックIP範囲のリストを提供します。 (おそらく他のフォーマットも同様ですが、私にはわかりません。)JSONが解析され、適切なファイアウォールルールが適用されることを保証するツールを構築することは、比較的簡単なはずです。詳細については、次のブログ記事を参照してください。 :)

https://aws.Amazon.com/blogs/aws/aws-ip-ranges-json/

1
Bill B

this answer を基にして、JSONで使用できるAWS IP範囲はここ( https://ip-ranges.amazonaws.com/ip-ranges.json )で指定しますサービスはどのIP範囲からでも利用できます(S3にはこれを書いている時点で136のエントリがあります)。

したがって、これらのエントリを持つセキュリティグループがある場合は、S3をサービスとしてホワイトリストに登録できます。リストは変更され、他のAWSサービスが含まれる可能性がありますが、それは始まりです。

0
StephenG