用途:该技能面向数据工程师,演示如何用 Terraform 在 AWS 上以声明式方式管理数据基础设施,包括 S3 存储桶、EC2 实例和 IAM 配置,提供可复现的数据工程环境。
主要能力:创建用于数据存储的 S3 桶,支持版本控制与生命周期规则(如 90 天转 GLACIER、365 天过期);创建并配置用于数据处理的 EC2 实例(含 user_data 安装 Python、pandas、boto3、awscli);配置安全组、密钥对;创建带 S3 访问权限的 IAM 角色、策略与实例配置文件;通过变量与输出管理配置;支持 S3 远程后端与 DynamoDB 状态锁;支持多环境模块化与 terraform.tfvars。
使用方式:需先安装 Terraform 与 AWS CLI 并配置凭证,命令如 brew tap hashicorp/tap、brew install hashicorp/tap/terraform、brew install awscli、aws configure。核心命令包括 terraform -chdir=terraform init、validate、fmt、plan、apply、state list、show、output、destroy,以及 -target 定向销毁、import 导入已有资源、force-unlock 解锁状态、refresh 刷新状态。可用 aws s3 ls、aws ec2 describe-instances、aws iam list-roles 验证资源。
适用场景:数据湖存储桶与处理实例的声明式管理、多环境(dev/prod)数据基础设施、团队协作下的远程状态管理。
限制与注意:示例中安全组 SSH 开放 0.0.0.0/0,资料提示生产环境需限制;不应将 .tfstate 或敏感变量提交到 Git;apply -auto-approve 需谨慎使用。具体收费、价格与平台支持范围暂未提供。