Amazon ec2 使用Terraform通过EC2创建时,如何向AWS EBS添加标记?
我正在尝试为一个测试环境创建一个EC2实例,该环境使用PROD的AMI。所有内容都在正确创建,但我不知道如何向随它一起创建的EBS卷添加标记 这些标记在EC2上工作,但不会应用于EBS或根卷。我也试着在上面添加一个标记映射,但这是无效的。有什么想法吗Amazon ec2 使用Terraform通过EC2创建时,如何向AWS EBS添加标记?,amazon-ec2,terraform,Amazon Ec2,Terraform,我正在尝试为一个测试环境创建一个EC2实例,该环境使用PROD的AMI。所有内容都在正确创建,但我不知道如何向随它一起创建的EBS卷添加标记 这些标记在EC2上工作,但不会应用于EBS或根卷。我也试着在上面添加一个标记映射,但这是无效的。有什么想法吗 provider "aws" { region = "us-east-1" } data "aws_ami" "existing_sft_ami" { most_recent = true filter { name =
provider "aws" {
region = "us-east-1"
}
data "aws_ami" "existing_sft_ami" {
most_recent = true
filter {
name = "name"
values = [var.prod_name]
}
owners = [
var.aws_account_id]
}
data "aws_subnet" "subnet" {
id = var.aws_subnet_id
}
resource "aws_instance" "sftp" {
ami = data.aws_ami.existing_sft_ami.id
instance_type = "t2.micro"
availability_zone = var.availability_zone
subnet_id = data.aws_subnet.subnet.id
key_name = var.ssh_key_name
vpc_security_group_ids = [var.aws_security_group_id]
root_block_device {
delete_on_termination = true
}
ebs_block_device {
device_name = "/dev/sdb"
delete_on_termination = true
}
tags = {
Name = var.name
Owner = var.owner
Created = formatdate("DD MMM YYYY hh:mm ZZZ", timestamp())
Environment = "TEST"
}
}
您需要使用附加参数来标记卷。另外,为了使代码更加干燥,可以使用
locals
块
locals {
tags = {
Name = var.name
Owner = var.owner
Created = formatdate("DD MMM YYYY hh:mm ZZZ", timestamp())
Environment = var.environment
}
}
resource "aws_instance" "sftp" {
ami = data.aws_ami.existing_sft_ami.id
instance_type = "t2.micro"
availability_zone = var.availability_zone
subnet_id = data.aws_subnet.subnet.id
key_name = var.ssh_key_name
vpc_security_group_ids = [var.aws_security_group_id]
root_block_device {
delete_on_termination = true
}
ebs_block_device {
device_name = "/dev/sdb"
delete_on_termination = true
}
tags = local.tags
volume_tags = local.tags
}
哇,我不知道我怎么会错过这个。。。非常感谢。