Perlu ssh dari satu server Amazon EC2 ke yang lain

12

Pada dasarnya saya harus dapat terhubung dari satu contoh EC2 ke yang lain menggunakan SSH. Saya menjalankan perintah ssh -i path-to-pem-file ec2-user@dns-address-of-ec2-instance, dan itu habis.

Saya mengatur grup keamanan saya untuk mengizinkan SSH masuk dari alamat IP publik instance EC2 kedua saya, tetapi masih tidak berfungsi. Saya tahu bahwa semuanya harus baik-baik saja karena ketika saya mengatur lalu lintas masuk SSH saya untuk "memungkinkan dari mana saja" saya dapat terhubung tanpa masalah. Saya juga dapat terhubung ke instance EC2 dari mesin rumahan (saya menambahkan alamat IP saya ke grup keamanan) tanpa masalah.

Jelas saya tidak bisa membiarkan lalu lintas masuk saya terbuka untuk "memungkinkan dari mana saja", tetapi saya tidak bisa terhubung ketika saya membatasi hanya ke alamat IP dari contoh EC2 kedua. Mungkin alamat IP publik bukan yang seharusnya saya masukkan ke dalam grup keamanan?


Saya juga tidak bisa melakukan ping; itu hanya keluar. Ini adalah hasil darissh -vv -i path-to-pem-file ec2-user@dns-address-of-ec2-instance

OpenSSH_6.2p2, OpenSSL 1.0.1h-fips 5 Jun 2014
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to dns-address [IP Address different from public ip] port 22.
debug1: connect to address [IP Address different from public ip] port 22: Connection timed out
ssh: connect to host dns-address port 22: Connection timed out
Pompey
sumber

Jawaban:

13

Mesin virtual EC2 menggunakan 10.X.X.Xalamat internal (atau alamat lain jika menggunakan VPC), dan lalu lintas ke alamat IP 'publik' mereka hanya dialihkan ke alamat IP internal. Mesin virtual EC2 juga menggunakan server DNS berbeda yang tidak dapat diakses publik. Ketika Anda menyelesaikan nama host instance EC2 lainnya, karena Anda berada di dalam jaringan AWS , itu memberi Anda 10.X.X.Xalamat instance bukan alamat IP publik. Ini mencegah lalu lintas dari harus pergi ke internet dan kembali, yang membuatnya lebih cepat.

Bahkan jika Anda dapat memasukkan daftar putih berdasarkan alamat IP, ini bukan ide yang baik karena dalam mode klasik EC2, baik alamat internal maupun publik Anda dapat berubah. Solusi yang tepat adalah masuk daftar putih oleh grup keamanan. Anda pada dasarnya menambahkan aturan ke grup keamanan tujuan yang mengatakan untuk mengizinkan port 22 dari grup keamanan asal tertentu.

Jika kedua instance berada di akun yang sama, Anda cukup mengizinkan sg-1234abcd(di mana sg-1234abcdgrup keamanan tempat asal adalah anggota). Jika mereka berada di akun yang berbeda, masukkan nomor akun, seperti 111122223333/sg-1234abcd.
Lihat dokumentasi untuk informasi tambahan.

Patrick
sumber
Sempurna itulah yang saya cari! Bekerja tanpa hambatan!
Pompey
Ketika berbicara tentang grup keamanan dari akun yang berbeda, Anda harus membuat VPC mengintip sehingga Anda dapat referensi mereka. Lihat di sini: docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/…
Boris Strandjev
Hanya untuk penyelesaian, saya ingin menambahkan bahwa AWS membebankan biaya untuk lalu lintas masuk ke VPC dari internet, tetapi lalu lintas di dalam VPC gratis, jadi tidak melalui internet tidak hanya lebih cepat tetapi juga lebih murah.
Blueriver