Tidak dapat SSH ke dalam AWS CloudFormation Stack Instance

9

Saya memiliki penyeimbang beban yang diatur yang diatur sekarang yang sebagian besar diikuti dari templat ini:

https://github.com/satterly/AWSCloudFormation-samples/blob/master/LAMP_Multi_AZ.template

Setelah menyesuaikan AWS::AutoScaling::AutoScalingGroup.CreationPolicy.ResourceSignal.Counttombol untuk 0(pada dasarnya memungkinkan untuk memuat tanpa sinyal sukses diterima) saya bisa memuat tumpukan dan saya dapat melihat semua sumber daya yang tersedia.

Saya bisa melihat DNS publik dari kunci yang dibuat, tetapi saya tidak bisa SSH menjadi contoh.

Saya memiliki akses SSH terbuka untuk semua orang dalam aturan instance saya, saya dapat mengonfirmasi ini dalam konsol AWS.

Saya juga mengkonfigurasi rute untuk VPC saya seperti yang direkomendasikan dalam dokumen AWS resmi: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/

Saya dapat melihat contoh ada, tetapi tampaknya saya membatasi diri saya mengakses suatu tempat. Namun di dalam konsol AWS EC2, pengaturannya tampak sama seperti ketika saya dapat menggunakan SSH.

Berikut ini adalah template JSON yang saya gunakan di mana Anda dapat melihat semua pengaturan saya termasuk VPC, subnet, Grup Keamanan, dll .: https://gist.github.com/dambrogia/e4cd93a64ae6f3a79d4a58d466f144f8

Saya menerima kesalahan batas waktu dari perintah berikut: ( id_rsakunci saya valid dalam EC2)

ssh -i ~/.ssh/id_rsa ec2-user@<ec2_instance>

Bagaimana saya bisa SSH ke instance saya? Terima kasih sebelumnya atas bantuannya!

domdambrogia
sumber
2
Acungan jempol untuk menyertakan template CFN Anda yang sebenarnya! Ini sangat membantu :)
MLu

Jawaban:

11

Masalahnya adalah bahwa template CloudFormation menciptakan RouteTabledengan rute default 0.0.0.0/0 dengan benar menunjuk ke IGW , namun Anda tidak mengaitkannya RouteTabledengan subnet Anda.

masukkan deskripsi gambar di sini

Yang perlu Anda lakukan adalah menambahkan dua Asosiasi Tabel Rute ini ke templat:

        "Subnet1RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet1" }
                }
        },
        "Subnet2RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet2" }
                }
        },

Kemudian Perbarui tumpukan ...

masukkan deskripsi gambar di sini

Dan periksa kembali Tabel Rute

masukkan deskripsi gambar di sini

Sekarang Anda harus dapat SSH ke instance:

~ $ ssh 54.209.123.119
Last login: Thu Nov  1 18:54:54 2018 from ...

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
[ec2-user@ip-10-0-2-229 ~]$ 

Semoga itu bisa membantu :)

MLu
sumber
Terima kasih begitu banyak untuk jawaban yang mendalam dan penjelasan. Itu bekerja seperti pesona!
domdambrogia