EC2にNameをつける

AWSを利用している方なら基本中の基本だと思いますが、EC2の管理画面を見ているとNameという列があり、Terraformで作成していると空になっています。
これは何故でしょうか?

TL;DR


  • Nameタグを設定すれば表示される。

何故、表示されないのか?


AWSの公式ドキュメントであるAmazon EC2 リソースにタグを付ける - Amazon Elastic Compute Cloudに書いてある通り、キーがNameのタグの値に名前を入れれば、表示されます。
つまり、Nameタグが未設定なだけだったのです。
以下が当時書いていたtfファイルです。

resource "aws_instance" "khasegawa" {
  ami                     = "${data.aws_ami.image_id}"
  instance_type           = "${var.instance_type}"
  disable_api_termination = false
  subnet_id               = "${aws_subnet.khasegawa.id}"

  tags {
    Administrator = "${var.email}"
    Environment   = "${var.environment}"
  }

  lifecycle {
    "ignore_changes" = ["ami"]
  }
}

tagsに見事にNameを書いてませんね。

Nameタグを設定しよう


Nameタグを設定した方がEC2インタンスだけでなく、他のAWSリソースでも判別しやすくなります。
適切な名前を設定をしましょう。
先程のtfファイルに追記すると、こうなります。

resource "aws_instance" "khasegawa" {
  ami                     = "${data.aws_ami.image_id}"
  instance_type           = "${var.instance_type}"
  disable_api_termination = false
  subnet_id               = "${aws_subnet.khasegawa.id}"

  tags {
    Name          = "${var.environment}" # NOTE: 追記
    Administrator = "${var.email}"
    Environment   = "${var.environment}"
  }

  lifecycle {
    "ignore_changes" = ["ami"]
  }
}

コメント

このブログの人気の投稿

新生活始まります

ElasticIPを複数利用する時の注意

タスクの実行結果をwhenで指定するならcheck_modeつける