如何在Terraform根目录执行Terragrunt Apply部署指定AWS资源?
可以在Terraform根目录直接部署指定层级资源
方法1:使用Terragrunt的--terragrunt-working-dir参数
无需进入目标目录,直接在terraform/根目录下执行命令,通过参数指定对应环境配置的路径即可:
- 部署
iam-policies层级:
terragrunt apply --terragrunt-working-dir environments/iam-policies
- 部署
sagemaker层级:
terragrunt apply --terragrunt-working-dir environments/sagemaker
该参数会让Terragrunt临时切换到指定目录执行操作,完全替代手动进入目录的步骤。
方法2:根目录创建便捷执行脚本(可选)
如果需要更简化的调用方式,可以在terraform/根目录编写shell脚本(比如命名为deploy.sh),示例内容:
#!/bin/bash case $1 in "iam-policies") terragrunt apply --terragrunt-working-dir environments/iam-policies ;; "sagemaker") terragrunt apply --terragrunt-working-dir environments/sagemaker ;; *) echo "请指定要部署的层级:iam-policies 或 sagemaker" exit 1 ;; esac
给脚本添加执行权限:
chmod +x deploy.sh
之后在根目录直接运行以下命令即可快速部署:
./deploy.sh iam-policies
批量部署补充
如果需要一次性部署所有层级,可使用Terragrunt的run-all命令(注意确保资源间依赖关系正确):
terragrunt run-all apply --terragrunt-working-dir environments/
内容的提问来源于stack exchange,提问作者pawan19
相关产品推荐
相关产品推荐

