Terraform无法为选择按标签备份创建EC2的备份



我有一个Terraform资源,它在AWS Backup中创建一个EC2实例的备份。我试图选择我的实例基于tags。因此,通过在线引用Terraform docs(选择按标记备份),我创建了如下所示的资源:

resource "aws_backup_selection" "select_lin_config" {
iam_role_arn = "arn:aws:iam::abc"
name         = "lin_config"
plan_id      = aws_backup_plan.bkp_plan_ec2.id
selection_tag {
type  = "STRINGEQUALS"
key   = "Name"
value = "config_lin1"
} 
}

当我做一个terraform apply,我得到以下错误:

Error: error creating Backup Selection: InvalidParameterValueException: Invalid selection conditions Condition(conditionType=STRINGEQUALS, conditionKey=Name, conditionValue=config_lin1)
{
RespMetadata: {
StatusCode: 400,
RequestID: "587a331c-e218-4341-9de1-a69a3ef7ec21"
},
Code_: "ERROR_3309",
Context: "Condition(conditionType=STRINGEQUALS, conditionKey=Name, conditionValue=config_lin1)",
Message_: "Invalid selection conditions Condition(conditionType=STRINGEQUALS, conditionKey=Name, conditionValue=config_lin1)"
}

我使用了下面的例子,它几乎是来自Terraform文档,它工作。将以下内容复制并粘贴到您的Terraform代码中并进行测试。

为了确保,您可能希望使用terraform init -upgrade将AWS提供商升级到最新版本。我的AWS提供商版本是3.26.0。

resource "aws_backup_vault" "example" {
name        = "example_backup_vault"
}
resource "aws_backup_plan" "example" {
name = "tf_example_backup_plan"
rule {
rule_name         = "tf_example_backup_rule"
target_vault_name = aws_backup_vault.example.name
schedule          = "cron(0 12 * * ? *)"
}
advanced_backup_setting {
backup_options = {
WindowsVSS = "enabled"
}
resource_type = "EC2"
}
}
resource "aws_iam_role" "example" {
name               = "example"
assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["sts:AssumeRole"],
"Effect": "allow",
"Principal": {
"Service": ["backup.amazonaws.com"]
}
}
]
}
POLICY
}
resource "aws_iam_role_policy_attachment" "example" {
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup"
role       = aws_iam_role.example.name
}
resource "aws_backup_selection" "example" {
iam_role_arn = aws_iam_role.example.arn
name         = "tf_example_backup_selection"
plan_id      = aws_backup_plan.example.id
selection_tag {
type  = "STRINGEQUALS"
key   = "foo"
value = "bar"
}
}

最新更新