You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过CloudFormation部署搭载新版AWS CLI的非过时EC2实例Cloud9?

如何通过CloudFormation部署适配新版AWS CLI的现代Cloud9环境

当然可以通过CloudFormation部署搭载更现代EC2实例的Cloud9环境,同时确保AWS CLI版本符合需求,这里提供两种核心方案:

1. 指定现代EC2实例类型与兼容的新版AMI

Cloud9默认实例配置老旧,首先可以在CloudFormation模板中直接指定更新的实例类型和最新的兼容AMI:

  • 实例类型:替换默认的t2.micro为更现代的类型,比如t3.medium或t3.large,这类实例性能更好,预装的基础环境更贴近当前标准。
  • AMI选择:使用AWS SSM参数获取最新的Amazon Linux 2或Amazon Linux 2023 AMI(Cloud9对这两个系统兼容度最高),避免手动指定固定AMI ID导致后续过期。

示例CloudFormation资源片段:

Resources:
  DevCloud9Environment:
    Type: AWS::Cloud9::EnvironmentEC2
    Properties:
      InstanceType: t3.medium
      # 引用最新Amazon Linux 2 AMI的SSM参数
      ImageId: !Sub '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2}}'
      Description: 开发团队专用Cloud9环境(搭载新版AWS CLI)
      OwnerArn: !Sub arn:aws:iam::${AWS::AccountId}:role/DevTeamCloud9Role

如果偏好Amazon Linux 2023,只需替换SSM参数为:/aws/service/ami-amazon-linux-latest/amzn2023-ami-kernel-default-x86_64

2. 加入初始化脚本强制升级AWS CLI

即使使用新版实例,也可以通过CloudFormation的UserData字段注入初始化脚本,直接将AWS CLI升级到你需要的版本(比如官方推荐的2.9.1,或1系列最新的1.27.19):

示例更新后的资源片段,包含CLI升级脚本:

Resources:
  DevCloud9Environment:
    Type: AWS::Cloud9::EnvironmentEC2
    Properties:
      InstanceType: t3.medium
      ImageId: !Sub '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2}}'
      Description: 开发团队专用Cloud9环境(搭载新版AWS CLI)
      OwnerArn: !Sub arn:aws:iam::${AWS::AccountId}:role/DevTeamCloud9Role
      UserData:
        Fn::Base64: |
          #!/bin/bash
          # 升级系统依赖
          yum update -y
          # 卸载旧版AWS CLI
          yum remove -y aws-cli
          # 安装指定版本的AWS CLI v2(这里用2.9.1)
          curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.9.1.zip" -o "awscliv2.zip"
          unzip -q awscliv2.zip
          sudo ./aws/install
          # 清理临时文件
          rm -rf awscliv2.zip aws
          # 验证版本
          aws --version

注意事项

  • 若使用Amazon Linux 2023,脚本中的yum需替换为dnf,包管理命令略有差异。
  • 实例类型选择需结合团队实际使用需求,平衡性能与成本。
  • 确保Cloud9环境的IAM角色拥有足够权限执行脚本中的操作(比如网络下载等)。

两种方案结合使用效果最佳:用现代实例提供基础环境,再通过脚本强制锁定AWS CLI版本,能完全满足开发团队的初始配置需求。

内容的提问来源于stack exchange,提问作者Blunt Jackson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:55:23