Ich habe Probleme, den Provisioner (sowohl "Datei" und "Remote-Exec") mit AWS Lightsail zu verwenden. Für den "Datei" -Berater bekam ich einen Einwahlfehler an Port 22 mit der Verbindung verweigert, die "Remote-Exec" gibt mir einen Timeout-Fehler. Ich kann sehen, dass es versucht, sich mit der Instanz zu verbinden, aber es kann sich einfach nicht verbinden.Fehler bei Verwendung von Terraform Provisioner mit AWS-Lightsail
Für den Datei-Provisioner habe ich auch mit scp
direkt versucht und es funktioniert ganz gut.
Eine Probe Schnipsel des Anschlussblocks ist verwende ich wie folgt zusammen:
resource "aws_lightsail_instance" "han-mongo" {
name = "han-mongo"
availability_zone = "us-east-1b"
blueprint_id = "ubuntu_16_04"
bundle_id = "nano_1_0"
key_pair_name = "my_key_pair"
user_data = "${file("userdata.sh")}"
provisioner "file" {
source = "file.service"
destination = "/home/ubuntu"
connection {
type = "ssh"
private_key = "${file("my_key.pem")}"
user = "ubuntu"
timeout = "20s"
}
}
}
Um diese Frage zu beantworten, würde es helfen, mehr von Ihrer Konfiguration zu sehen. Insbesondere bezieht sich die Ressource "aws_lightsail_instance", die diesen Provisioner umgibt, und die "Ressource" aws_lightsail_key_pair "" darauf. (Mit allen sensiblen Informationen, natürlich redigiert!) –
@MartinAtkins Ich habe das Skript aktualisiert. In der Tat habe ich nicht verwendet. " aws_lightsail_key_pair "Ich habe ein Schlüsselpaar in der Webkonsole erstellt und benutze es direkt im Skript. zB my_key_pair, der private Schlüssel für dieses Schlüsselpaar ist my_key.pem. – Chen