Saya baru saja mendaftar untuk penawaran Pohon Kacang Elastis Amazon yang baru. Apa yang saya tidak tahu adalah bagaimana SSH ke instance Beanstalk. Saya tidak memiliki kunci pribadi karena Beanstalk membuat instance atas nama saya.
eb ssh
Saya baru saja mendaftar untuk penawaran Pohon Kacang Elastis Amazon yang baru. Apa yang saya tidak tahu adalah bagaimana SSH ke instance Beanstalk. Saya tidak memiliki kunci pribadi karena Beanstalk membuat instance atas nama saya.
eb ssh
Jawaban:
Saya menemukan ini sebagai proses 2 langkah. Ini mengasumsikan bahwa Anda telah mengatur keypair untuk mengakses instance EC2 di wilayah yang relevan.
elasticbeanstalk-default
grup keamanan jika Anda telah meluncurkan mesin Beanstalk yang elastis di wilayah itu.Edit grup keamanan untuk menambahkan aturan untuk akses SSH. Di bawah ini akan menguncinya hanya untuk memungkinkan masuknya dari alamat IP tertentu.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Existing Key Pair
bidang. Setelah instance diluncurkan kembali, Anda perlu mendapatkan nama host dari tab instance instance AWS Console EC2, atau melalui API. Anda kemudian dapat ssh ke server.
$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
Catatan: Untuk menambahkan keypair ke konfigurasi lingkungan, perlindungan terminasi instance harus dimatikan karena Beanstalk akan mencoba untuk menghentikan instance saat ini dan memulai instance baru dengan KeyPair.
Catatan: Jika ada yang tidak berfungsi, periksa tab "Acara" di aplikasi / lingkungan Beanstalk dan cari tahu apa yang salah.
Pohon kacang elastis CLI v3 sekarang mendukung SSH langsung dengan perintah eb ssh
. Misalnya
eb ssh your-environment-name
Tidak perlu repot membuat grup keamanan untuk menemukan alamat instance EC2.
Ada juga trik keren ini:
eb ssh --force
Itu sementara akan memaksa port 22 terbuka ke 0.0.0.0, dan tetap buka sampai Anda exit
. Ini memadukan sedikit manfaat dari jawaban teratas, tanpa kerumitan. Anda dapat memberikan sementara kepada orang lain selain Anda akses untuk debugging dan yang lainnya. Tentu saja Anda masih perlu mengunggah kunci publik mereka ke host agar mereka memiliki akses. Setelah Anda melakukan itu (dan selama Anda berada di dalam eb ssh
), orang lain dapat melakukannya
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
eb ssh production
,. Anda juga dapat mengatur lingkungan tertentu dengan opsi pengaturan:eb ssh production --setup
Pengalaman saya pada Agustus 2013 dengan klien linux dan instalasi AWS Beanstalk sederhana (instance EC2 tunggal) adalah sebagai berikut (berdasarkan Komunitas Wiki di atas)
awsweb...
grup keamanan dan detailnya akan ditampilkan di dasar halamanSemoga berhasil
Saya telah bermain dengan ini juga.
Layanan akan diluncurkan kembali sehingga membuat kopi selama 5 menit
Pada tab EC2 Anda untuk wilayah yang sama Anda akan melihat instance berjalan baru Anda. ssh ke nama dns publik sebagai ec2-user menggunakan kunci yang ditambahkan dalam 3 misalnya ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
Jawaban di atas agak tua.
Pertama-tama buat pasangan kunci dan kemudian pasangkan ke lingkungan Elastic Beanstalk.
Langkah-langkah untuk membuat pasangan kunci
Langkah-langkah untuk memasang pasangan kunci yang dibuat ke lingkungan Elastic Beanstalk
AWS -> Layanan -> Elastic Beanstalk
Pilih lingkungan Anda dan klik konfigurasi di sebelah kiri.
Dalam Ikhtisar konfigurasi, pilih modifikasi dari Keamanan.
Di bawah Izin mesin virtual pilih pasangan kunci yang kami buat.
Klik simpan dan kemudian simpan konfigurasi.
Ini akan memakan waktu untuk merefleksikan instance EC2 Anda.
Jika Anda menggunakan kacang elastis dan EB CLI, cukup gunakan eb ssh
untuk masuk ke instance. Anda dapat menggunakan opsi seperti yang ditentukan dalam tautan berikut
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
Anda harus terhubung ke instance EC2 secara langsung menggunakan alamat ip publiknya. Anda tidak dapat terhubung menggunakan url elasticbeanstalk.
Anda dapat menemukan contoh alamat ip dengan mencarinya di konsol EC2.
Anda juga perlu memastikan port 22 terbuka. Secara default EB CLI menutup port 22 setelah koneksi ssh selesai. Anda dapat memanggil eb ssh -o untuk menjaga port tetap terbuka setelah sesi ssh selesai.
Peringatan: Anda harus tahu bahwa beanstalk elastis dapat menggantikan instance Anda kapan saja. Status tidak dijamin pada salah satu contoh batang elastis Anda. Mungkin lebih baik menggunakan ssh hanya untuk tujuan pengujian dan debugging, karena apa pun yang Anda modifikasi dapat hilang kapan saja.
Arah untuk menetapkan pasangan kunci untuk instance ElasticBeanstalk ec2 dengan UI saat ini adalah: Peringatan: Ini akan memerlukan pembaruan instance EC2 di Aplikasi ElasticBeanstalk Anda. Catatan: Anda harus membuat pasangan kunci di dasbor EC2 sebelum ini.
1) Di AWS Dashboard, Pilih layanan ElasticBeanstalk 2) Pilih Aplikasi yang ingin Anda gunakan. 3) Pilih 'Konfigurasi' 4) Pilih ikon roda gigi (pengaturan) pada kotak konfigurasi 'Instances'. 5) Ini akan membawa Anda ke halaman berjudul 'Server', di mana Anda dapat memperbarui bidang drop-down 'pasangan kunci EC2' dengan pasangan kunci yang Anda inginkan dan pilih 'Simpan'.
Satu hal yang perlu diperhatikan adalah bahwa ini mungkin tidak berfungsi untuk Aplikasi dengan banyak contoh (tapi saya percaya kemungkinan jika mereka semua berada di wilayah yang sama dengan pasangan kunci).
Saya datang ke sini mencari cara untuk menambahkan kunci ke contoh yang dibuat Beanstalk selama penyediaan (kami menggunakan Terraform). Anda dapat melakukan hal berikut di Terraform:
resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
...
setting {
namespace = "aws:autoscaling:launchconfiguration"
name = "EC2KeyName"
value = "${aws_key_pair.your-ssh-key.key_name}"
}
...
}
Anda kemudian dapat menggunakan kunci itu untuk SSH ke dalam kotak.
Jika Anda telah mengatur CLI gunakan eb init
untuk lingkungan Anda maka itu harus sesederhana
eb ssh --setup
yang akan memungkinkan Anda untuk membuat pasangan kunci baru atau menggunakan yang sudah ada jika ada.
Anda mungkin juga bisa terhubung dengan lingkungan yang ada eb use
walaupun saya belum melakukannya.
Untuk detail tentang menginstal CLI - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
Bergantung pada konfigurasi lingkungan Anda, Anda mungkin tidak memiliki alamat IP publik pada instance EC2 yang dibuat untuk lingkungan Anda. Anda dapat memeriksa dengan:
Terakhir, pilih EIP baru Anda dan pilih Alamat asosiasi dari menu tindakan. Kaitkan IP itu dengan instance EC2 Anda. Anda harus dapat terhubung menggunakan eb ssh
sekarang.
Anda dapat mengatur ulang detail koneksi dengan menjalankan eb ssh --setup
.
Saya juga mengalami masalah yang sama beberapa waktu lalu. Saya ingin menggunakan file kunci, tetapi Amazon mengatakan di suatu tempat bahwa Anda tidak dapat menambahkan file kunci ke server EC2 yang ada. Untuk aplikasi Beanstalk pertama, Amazon melakukan pra-konfigurasi aplikasi untuk Anda. Anda perlu membuat aplikasi baru, dan Anda dapat mengkonfigurasi server EC2 yang menjalankan aplikasi Beanstalk untuk menggunakan file pem yang lama (ppk jika menggunakan Putty), atau Anda dapat membuat yang baru. Sekarang Anda harus dapat SSH.
Kemudian konfigurasikan, lalu hapus aplikasi lama Anda.