私有子网无NAT网关的EC2实例配置AWS CLI实现S3文件启动拷贝
私有子网EC2实例配置AWS CLI实现启动时复制S3文件
必要前提
- VPC已配置S3网关型VPC Endpoint,保证实例能通过私有网络访问S3
- EC2实例关联的IAM角色拥有目标S3对象的读取权限(策略需包含
s3:GetObject,资源指定s3://my-admin-bk/gpumon.py)
分系统类型配置User Data
Amazon Linux 2/2023 实例
这类系统的yum源托管在S3,可直接通过VPC Endpoint访问,在User Data中加入:
# 安装AWS CLI yum install -y aws-cli # 复制S3文件到实例 aws s3 cp s3://my-admin-bk/gpumon.py ./gpumon.py
Ubuntu/Debian 等非Amazon Linux实例
由于默认包源在公网,私有子网无法直接访问,采用离线安装AWS CLI:
# 下载x86架构的AWS CLI安装包(通过S3 Endpoint访问官方桶) curl -O https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip # ARM架构实例替换为:curl -O https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip unzip awscli-exe-linux-x86_64.zip ./aws/install # 执行S3文件复制 aws s3 cp s3://my-admin-bk/gpumon.py ./gpumon.py
关键注意事项
- 无需手动配置Access Key,AWS CLI会自动通过EC2实例元数据服务获取IAM角色的临时凭证(确保实例能访问元数据服务,默认开启)
- 若自定义AMI无
unzip或curl工具,需在User Data中先安装对应依赖(比如Ubuntu用apt install -y unzip curl)
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

