ホーム>source

Terraformバージョン= 0.12

<前>ウィズウィズ

Terraformプランを実行するとエラーが発生するのはなぜですか?

エラー:無効な参照

instance.tfの15行目のリソース「aws_instance」「bespin-ec2-web」: 15:adduser ${i} -g ${GROUP};

リソースタイプへの参照の後に、少なくとも1つの属性が続く必要があります リソース名を指定してアクセスします。

エラー:無効な参照

instance.tfの15行目のリソース「aws_instance」「bespin-ec2-web」: 15:adduser ${i} -g ${GROUP};

リソースタイプへの参照の後に、少なくとも1つの属性が続く必要があります リソース名を指定してアクセスします。

resource "aws_instance" "bespin-ec2-web" { ami = "ami-0bea7fd38fabe821a" instance_type = "t2.micro" vpc_security_group_ids = [aws_security_group.bespin-sg.id] subnet_id = aws_subnet.bespin-subnet-private-a.id associate_public_ip_address = true tags = { Name = "bespin-ec2-web-a" } user_data = <<EOF #!/bin/bash USERS="bespin" GROUP="bespin" for i in $USERS; do adduser ${i} -g ${GROUP}; echo ${i}:${i}1! | chpasswd; cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config_old sed -i 's/PasswordAuthentication no/#PasswordAuthentication no/' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config systemctl restart sshd EOF }
あなたの答え
  • 解決した方法 # 1

    user_dataはテンプレートレンダリングで渡す必要があります。または、base64encode関数を使用してファイルを渡すこともできます。

    <前>ウィズウィズ data "template_file" "user-data" { template = file("${path.module}/user-data.sh") } resource "aws_instance" "bespin-ec2-web" { ... ... user_data = "${data.template_file.user_data.rendered}" ... }

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ php - 'Ė'文字はデータベースに挿入できません