我正在使用terraform v0.12.6,但遇到了许多错误,例如:
Error: Error creating Security Group: InvalidGroup.Duplicate: The security group 'security-search-populate' already exists for VPC 'vpc-003e06e33a87c22f5'
status code: 400, request id: 82acdc81-c324-4672-b9fe-531eb8283ed3
Error: Error creating IAM Role PopulateTaskRole: EntityAlreadyExists: Role with name PopulateTaskRole already exists.
status code: 409, request id: 49aac94c-d52b-11e9-a535-c19e5ed20660
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过从 aws 中删除这些资源来解决它们。但我想知道是否有更好的方法来解决它们。
Som*_*ter 12
如果现有资源已经在另一个模块或工作区的 terraform 中,那么我不会导入任何这些资源,因为资源应该由单个状态而不是多个状态管理。
如果现有资源不在 terraform 中的其他任何地方进行管理,则应将其导入 terraform。
您需要找到安全security-search-populate组的安全组 ID。
aws ec2 describe-security-groups \
--group-names security-search-populate \
--query 'SecurityGroups[].GroupId' \
--output text
Run Code Online (Sandbox Code Playgroud)
假设 sg id 是sg-903004f8。使用您的配置文件将安全组导入terraform 资源。aws_security_group.elb_sgdev
AWS_PROFILE=dev terraform import aws_security_group.elb_sg sg-903004f8
Run Code Online (Sandbox Code Playgroud)
使用您的个人资料将IAM 角色 PopulateTaskRole导入terraform 资源。aws_iam_role.developerdev
AWS_PROFILE=dev terraform import aws_iam_role.developer PopulateTaskRole
Run Code Online (Sandbox Code Playgroud)
导入这些后,您可以执行有针对性的 terraform 计划,以查看源代码控制的 terraform 中的内容与 AWS 中上游的内容之间的差异
aws ec2 describe-security-groups \
--group-names security-search-populate \
--query 'SecurityGroups[].GroupId' \
--output text
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5762 次 |
| 最近记录: |