Terraformを使用してインスタンスを作成しながらAWS EC2インスタンスにコピーまたはアップロードしたいCronJobとシェルスクリプトがあります。
tried tried
provisioner "file" {
source = "abc.sh"
destination = "/home/ec2-user/basic2.sh"
}
_
data "template_file" "userdata_line" {
template = <<EOF
#!/bin/bash
mkdir /home/ec2-user/files2
cd /home/ec2-user/files2
Sudo touch basic2.sh
Sudo chmod 777 basic2.sh
base64 basic.sh |base64 -d >basic2.sh
EOF
}
_
すべてのオプションを試してみましたが、それらのどれも作業しません。
[。]を助けたり助言してください。
[。]私は長い間これに苦労しているので、Terraformが新しいことに新しいものです。
EC2インスタンスに接続詳細を持つファイルプローバを使用する必要があります。サンプル設定は次のようになります。
provisioner "file" {
source = "${path.module}/files/script.sh"
destination = "/tmp/script.sh"
connection {
type = "ssh"
user = "root"
password = "${var.root_password}"
Host = "${var.Host}"
}
}
_
ユーザー名/パスワード、秘密鍵、さらにはBastionホストを使用して接続できます。詳細については https://www.terraform.io/docs/provisioners/connection.html