通过 AWS CloudShell 即刻开始 AWS 操作 - 浏览器 Shell 环境活用技巧
从控制台一键启动,在预装 AWS CLI、SAM CLI、CDK 的环境中即刻开始工作。1 GB 持久存储可保留脚本。
CloudShell 的特点与使用场景
CloudShell 是可以从 AWS 管理控制台直接启动的浏览器 Shell 环境。只需点击控制台顶部的终端图标,数秒内即可启动基于 Amazon Linux 2023 的 Shell。AWS CLI v2、SAM CLI、CDK、Terraform、Python、Node.js、Git、jq、kubectl、eksctl 等主要工具均已预装,无需安装即可使用。特别适用于快速执行 AWS CLI 命令、验证 IAM 权限、运行一次性脚本等场景。分配的计算资源为 1 vCPU 和 2 GB 内存,对于轻量级脚本执行和 CLI 操作已经足够,但不适合大规模构建或数据处理。
认证与安全
CloudShell 自动继承登录控制台的 IAM 主体的凭证。无需设置访问密钥或手动配置环境变量,控制台中可操作的权限可直接在 CLI 中使用。可通过 IAM 策略控制对 CloudShell 本身的访问,限制特定用户或角色使用 CloudShell。CloudShell 环境在每个会话中独立运行,其他用户无法访问您的环境。网络访问仅允许出站,无法从外部连接到 CloudShell 环境。会话在 20 分钟无活动后自动停止,但持久存储的数据保持不变。
持久存储与自定义
CloudShell 为每个区域提供 1 GB 的持久存储作为主目录 ($HOME)。脚本、配置文件和 .bashrc 的自定义在会话间保持。也可以通过 pip 或 npm 将包安装到 $HOME 目录下。文件上传 (最大 1 GB) 和下载功能使与本地机器的文件传输变得简单。但需注意,120 天不使用时持久存储会被删除,建议将重要文件备份到 S3。 CloudShell 的基础到应用,可通过书籍 (Amazon)系统学习。
CloudShell 与 Cloud9 的选择
CloudShell 和 Cloud9 都是基于浏览器的 AWS 操作环境,但用途明显不同。CloudShell 是专注于 CLI 操作和轻量级脚本的免费 Shell,没有编辑器功能或调试器。而 Cloud9 是具备代码编辑器、调试功能和文件树的集成开发环境 (IDE),后端启动 EC2 实例因此根据使用时间产生费用。基本准则是:「快速 CLI 确认」用 CloudShell,「编写和调试代码」用 Cloud9。需注意,AWS 于 2024 年 7 月停止向新账户提供 Cloud9,推荐使用 VS Code 扩展 AWS Toolkit 或 SageMaker Code Editor 作为替代。CloudShell 继续对所有账户可用。
实践活用技巧
介绍在日常运维中最大化利用 CloudShell 的技巧。第一,在 .bashrc 中配置别名和提示符自定义,确保每次会话重现相同的工作环境。例如 alias ll='ls -la' 或 AWS_DEFAULT_OUTPUT=table 等设置很有用。第二,将常用脚本 (资源列表获取、批量打标签、成本检查) 保存在 $HOME/scripts/ 中,因为持久存储在会话间保持,可以立即执行。第三,利用多标签功能可以并行处理不同区域或账户的工作。需注意,CloudShell 无法直接访问 VPC 内的私有资源 (除非启用 VPC 环境功能),如需直接连接 RDS 或 ElastiCache,请考虑配置 VPC 环境设置或通过 Session Manager 中转。
CloudShell 的定价
CloudShell 免费使用。计算环境、1 GB 持久存储和所有预装工具均不产生额外费用。仅对通过 CloudShell 执行的 AWS CLI 命令创建和操作的资源收费。会话在 20 分钟无活动后自动终止,120 天不使用时持久存储被删除。与本地环境的设置成本和 Cloud9 的 EC2 实例费用相比,CloudShell 是简单 AWS 操作和脚本执行的最优性价比选择。
总结
CloudShell 是可以从浏览器即刻开始 AWS CLI 操作的免费 Shell 环境。预装的 AWS CLI、Python、Node.js、Git 无需额外配置即可开始工作,IAM 凭证自动设置。1 GB 持久存储可保留脚本和配置文件,在会话间继续工作。注意与 Cloud9 的区分:CLI 操作和脚本执行选择 CloudShell,正式开发选择本地 IDE 或 SageMaker Code Editor。