我认为这个主题很容易找到信息,但我误会了。
我正在使用需要用户数据并在https上卷曲以验证是否应用了用户数据的PaloAlto实例构建地形。
当我在公共界面上将安全组指定为 入站出站 https,ssh 0.0.0.0/0它就像一个吊饰。
但是我需要加强安全性,仅允许某些CIDR的入站。
成功进行用户数据引导并建立最严格的安全组,对EC2连接有什么要求?
感谢您的建议
答案 0 :(得分:0)
这取决于您所说的“用户数据引导”。
如果要引用实例的用户数据,则该数据是从instance metadata service获取的,该数据不需要任何规则,因为其IP地址169.254.169.254属于特殊规则。
Amazon安全组和网络ACL不会过滤去往或来自链接本地地址(169.254.0.0/16)或AWS保留的IPv4地址的流量-这些是子网的前四个IPv4地址(包括Amazon DNS) VPC的服务器地址)。
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html
在调用RunInstances
Action时,用户数据(在这种意义上)被传递到EC2服务API,以请求启动实例。 EC2服务存储用户数据,以便实例在启动后可以从实例元数据服务中获取它。这样可以避免实例需要从外部获取。
如果这是您所指的,则不需要安全组配置。
另请参阅What's Special About 169.254.169.254?
但是,由于您提到了PaloAlto,因此您可能还需要基于以下内容访问S3存储桶:
VM系列防火墙的管理界面必须能够访问S3存储桶以完成引导。您可以为管理接口分配公共IP地址或弹性IP地址,以便可以通过Internet访问S3存储桶。或者,如果您希望在VPC和S3存储桶之间创建专用连接,并且不想在防火墙管理界面上启用Internet访问,则在与S3存储桶相同的区域中创建AWS VPC终端节点。有关更多信息,请参阅有关设置VPC endpoints
的AWS文档。
用于S3的VPC端点不仅允许您访问S3(在与端点相同的区域内)而无需访问Internet网关,还可以限制使用VPC端点的实例仅访问特定的存储桶并执行特定的操作。这是控制整个S3受限访问的唯一有效方法,因为否则必须通过Internet访问它,并且它的IP地址不是静态的,因此不能在安全组中引用。即使基于IP的限制是可能的,它也不会提供任何有意义的安全性,因为恶意用户可以使用他们自己的存储桶来完成数据渗透,因为您将允许连接到所有S3。 IP地址与特定存储桶没有关联。