2017-05-13 25 views
0

aws lightsailでプロビジョナ(「ファイル」と「リモートexec」の両方)を使用する際に問題があります。 「ファイル」プロビジョナリでは、接続が拒否されたままポート22にダイヤルアップエラーが発生しましたが、「リモートエグゼクティブ」はタイムアウトエラーを表示します。私はそれがインスタンスに接続しようとしているのを見ることができますが、それはそれに接続できません。aws lightsailでterraformプロビジョナを使用できません

ファイルプロビジョナリでは、私もscpで試してみましたが、うまく動作します。

私が使用していた接続ブロックのサンプルスニペットでは、以下の通りである:

認証情報に加えて
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" 
     } 
    } 
} 
+0

この質問に答えるには、あなたの設定の詳細を見るのに役立ちます。特に、このプロビジョナを取り囲む 'リソース' aws_lightsail_instance'とそれが参照するリソース 'aws_lightsail_key_pair"は(もちろん、機密情報は編集されています!) –

+0

@MartinAtkins私はスクリプトを更新しました。 aws_lightsail_key_pair "Webコンソールでキーペアを作成し、スクリプト内で直接使用します(例:my_key_pair、このキーペアの秘密鍵はmy_key.pemです)。 – Chen

答えて

1

は、IPが、それはこのように、接続するために使用すべき対処テラフォームを伝えることも必要です:

connection { 
    type  = "ssh" 
    host  = "${self.public_ip_address}" 
    private_key = "${file("my_key.pem")}" 
    user  = "ubuntu" 
    timeout  = "20s" 
} 

は、いくつかのリソースについてテラフォームが自動的にリソース属性からの接続の詳細のいくつかを推測することができますが、現時点でライトセイル1号のインスタンスではサポートされていないことと、それはを指定する必要があります引数を明示的に指定してください。

+0

ありがとう、後でそれを試してみましょう – Chen

+0

ありがとうございます魅力:)。 – Chen

関連する問題