无法从 Amazon EC2 实例连接到 Amazon S3 存储桶?

我无法从我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例访问我的 Amazon Simple Storage Service (Amazon S3) 存储桶。如何从 EC2 实例启用对 S3 存储桶的读/写访问?
简短描述
要从 EC2 实例连接到 S3 存储桶,您需要:

  1. 创建一个AWS Identity and Access Management(IAM)配置文件角色并将其附加到实例,以授予对Amazon S3的访问权限。

  2. 确认S3存储桶策略没有拒绝访问策略。

  3. 确认EC2实例和Amazon S3之间的网络连接。

解决方案
创建一个IAM实例配置文件以授予对Amazon S3的访问权限

  1. 打开 IAM 控制台。

  2. 选择角色,然后选择创建角色。

  3. 选中 AWS 服务, 然后选择 EC2。

注意: 从选中 EC2 作为受信任实体的控制台创建IAM角色会自动创建一个与角色名称同名的IAM实例配置文件。但是,如果使用AWS命令行界面(AWS CLI)或通过API创建角色,则不会自动创建实例配置文件。要了解更多信息,请参阅我创建了一个 IAM 角色,但启动实例时此角色未显示在下拉列表中。我该怎么办?

  1. 选中下一步:权限。

  2. 创建一个自定义策略,以提供访问 S3 存储桶所需的最低权限。有关创建自定义策略的说明,请参阅编写 IAM 策略:如何授予对 Amazon S3 存储桶的访问权限和管理对 S3 资源的访问权限。

注意:创建具有所需最低权限的策略是安全的最佳做法。但是,要允许 EC2 访问您的所有 Amazon S3 存储桶,您可以使用 AmazonS3ReadOnlyAccess 或 AmazonS3FullAccess 托管 IAM 策略。

  1. 选中 下一步: 标签, 然后选中下一步: 检查。

  2. 输入角色名称,然后选中创建角色。

将该IAM实例角色附加到 EC2 实例

  1. 打开 Amazon EC2 控制台。

  2. 选择 Instances。

  3. 选中 IAM 角色要附加到的目标实例。

  4. 依次选择操作选项卡、实例设置,然后选择附加/替换 IAM 角色。

  5. 选中您刚刚创建的 IAM 角色,选择 Apply, 然后选择 Close。该IAM 角色现已分配至您的 EC2 实例。

验证您 S3 存储桶的权限

  1. 打开 Amazon S3 控制台。

  2. 选中要验证策略的 S3 存储桶。

  3. 选择 Permissions选项卡。

  4. 选择存储桶策略。

  5. 搜索包含 "Effect: “Deny” 的语句。

  6. 在您的存储桶策略中,编辑或删除任何拒绝 IAM 实例配置文件访问您的存储桶的"Effect: Deny"语句。要了解有关编辑策略的说明,请参阅 编辑 IAM 策略。

验证从 EC2 实例到 Amazon S3的网络连接

验证EC2实例是否可以连接到S3端点。

该实例必须为以下之一:

具有公共IP地址的EC2实例及带有指向Internet网关的默认路由的路由表条目。
具有通过 NAT 网关的默认路由的私有EC2实例。
使用 网关 VPC 终端节点私有 EC2 实例连接到 Amazon S3。

验证对 S3 存储桶的访问

  1. 安装 AWS CLI。

  2. 通过运行以下命令来验证对您的 S3 存储桶的访问:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值