Amazon'un yeni Elastik Beanstalk teklifine yeni kaydoldum. Anlayamadığım şey bir Beanstalk örneğine SSH nasıl yapılır. Özel bir anahtarım yok çünkü Beanstalk benim adıma örnek oluşturdu.
eb ssh
Amazon'un yeni Elastik Beanstalk teklifine yeni kaydoldum. Anlayamadığım şey bir Beanstalk örneğine SSH nasıl yapılır. Özel bir anahtarım yok çünkü Beanstalk benim adıma örnek oluşturdu.
eb ssh
Yanıtlar:
Bunu 2 adımlı bir süreç olarak buldum. Bu, ilgili bölgedeki EC2 bulut sunucularına erişmek için önceden bir anahtar çifti ayarladığınızı varsayar.
elasticbeanstalk-default
bölgede bir Elastik Fasulye Örneği örneği başlattıysanız bir güvenlik grubunuz olmalıdır .SSH erişimi için bir kural eklemek üzere güvenlik grubunu düzenleyin. Aşağıdakiler, yalnızca belirli bir IP adresinden girişe izin vermek için kilitleyecektir.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Existing Key Pair
alandaki anahtar çiftinizin adını seçin . Örnek yeniden başlatıldığında, ana bilgisayar adını AWS Konsolu EC2 örnekleri sekmesinden veya API yoluyla almanız gerekir. Daha sonra sunucuya ssh edebilmeniz gerekir.
$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
Not: Ortam yapılandırmasına bir anahtar çifti eklemek için, Beanstalk geçerli örnekleri sonlandırmaya ve KeyPair ile yeni örnekler başlatmaya çalışacağından örneklerin sonlandırma koruması kapalı olmalıdır.
Not: Bir şey çalışmıyorsa, Beanstalk uygulamasındaki / ortamlarındaki "Etkinlikler" sekmesine bakın ve neyin yanlış gittiğini öğrenin.
Elastik beanstalk CLI v3 artık komutla doğrudan SSH'yi destekliyor eb ssh
. Örneğin
eb ssh your-environment-name
EC2 bulut sunucusu adresini bulmak için güvenlik grupları kurma zahmetine gerek yok.
Bu harika numara da var:
eb ssh --force
Bu, bağlantı noktası 22'yi geçici olarak 0.0.0.0'a zorlar ve siz açık olana kadar açık tutar exit
. Bu , en üstteki cevabın faydalarını biraz zahmetsizce harmanlar . Geçici olarak hata ayıklama amacıyla başka birisine erişim izni verebilirsiniz. Elbette, erişebilmeleri için genel anahtarlarını ana bilgisayara yüklemeniz gerekir. Bunu yaptıktan sonra (ve içerideyken eb ssh
), diğer kişi
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
eb ssh production
. Kurulum seçeneğiyle belirli bir ortam da kurabilirsiniz:eb ssh production --setup
Ağustos 2013'teki linux istemcisi ve basit bir AWS Beanstalk kurulumu (tek EC2 örneği) ile yaşadığım deneyim (yukarıdaki Community Wiki'ye dayanarak) aşağıdaki gibidir
awsweb...
güvenlik grubu ve ayrıntıları sayfasının dibinde göstermelidirİyi şanslar
Ben de bununla oynuyorum.
Hizmet yeniden başlatılacak, bu yüzden 5 dakika kahve yapın
Aynı bölge için ec2 sekmenizde yeni çalışan örneğinizi görürsünüz. ssh, 3'te eklenen anahtarı kullanarak genel dns adına ec2 kullanıcısı olarak örn. ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
Yukarıdaki cevaplar biraz eski.
Önce bir anahtar çifti oluşturun ve daha sonra Elastik Beanstalk ortamına bağlayın.
Anahtar çifti oluşturma adımları
Oluşturulan anahtar çiftini Elastik Beanstalk ortamına ekleme adımları
AWS -> Hizmetler -> Elastik Beanstalk
Ortamınızı seçin ve soldaki yapılandırmaya tıklayın.
Yapılandırmaya genel bakış bölümünde Güvenlik'ten değiştir'i seçin.
Sanal makine izinleri altında, oluşturduğumuz anahtar çiftini seçin.
Kaydet'i ve ardından yapılandırmayı kaydet'i tıklayın.
Bu, EC2 yönetim ortamınıza yansıtmak için biraz zaman alacaktır.
Elastik fasulye ve EB CLI kullanıyorsanız eb ssh
, örneğin oturum açmak için kullanın . Aşağıdaki bağlantıda belirtilen seçenekleri kullanabilirsiniz
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
Ec2 örneğine doğrudan genel IP adresini kullanarak bağlanmanız gerekir. Elastik fasulyeli url kullanarak bağlanamazsınız.
Örnek ip adresini ec2 konsolunda arayarak bulabilirsiniz.
Ayrıca 22 numaralı bağlantı noktasının açık olduğundan emin olmanız gerekir. EB CLI, ssh bağlantısı tamamlandıktan sonra varsayılan olarak 22 numaralı bağlantı noktasını kapatır. Ssh oturumu tamamlandıktan sonra bağlantı noktasını açık tutmak için eb ssh -o öğesini çağırabilirsiniz.
Uyarı: Elastik fasulyenin istediğiniz zaman örneğinizin yerini alabileceğini bilmelisiniz. Elastik beantalk örneklerinizde durum garanti edilmez. Ssh'yi yalnızca test etmek ve hata ayıklama amacıyla kullanmak daha iyidir, çünkü değiştirdiğiniz herhangi bir şey herhangi bir zamanda gidebilir.
Geçerli kullanıcı arayüzüyle birlikte bir RubberBeanstalk ec2 örneği için anahtar çiftini ayarlama yönü şöyledir: Uyarı: Bu, RubberBeanstalk Uygulamanızdaki EC2 örneklerinin güncellenmesini gerektirecektir. Not: Bundan önce EC2 kontrol panelinde bir anahtar çifti oluşturmanız gerekir.
1) AWS Gösterge Panosunda, FlexibleBeanstalk servisini seçin 2) Kullanmak istediğiniz Uygulamayı seçin. 3) 'Yapılandırma'yı seçin 4)' Örnekler 'yapılandırma kutusundaki dişli (ayarlar) simgesini seçin. 5) Bu sizi 'Sunucu' başlıklı bir sayfaya götürür; burada 'EC2 anahtar çifti' açılır alanını istediğiniz anahtar çiftiyle güncelleyebilir ve 'Kaydet'i seçebilirsiniz.
Unutulmaması gereken bir şey, bunun birden fazla örneği olan Uygulamalar için işe yaramayabileceğidir (ancak bunların anahtar çifti ile aynı bölgede olmalarının muhtemel olduğuna inanıyorum).
Buraya Beanstalk'un provizyon sırasında oluşturduğu bir örneğe anahtar eklemenin bir yolunu aradım (Terraform kullanıyoruz). Terraform'da aşağıdakileri yapabilirsiniz:
resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
...
setting {
namespace = "aws:autoscaling:launchconfiguration"
name = "EC2KeyName"
value = "${aws_key_pair.your-ssh-key.key_name}"
}
...
}
Daha sonra kutuyu SSH olarak kullanmak için bu tuşu kullanabilirsiniz.
CLI'yi eb init
ortamınıza kullanarak kurduysanız , bu kadar basit olmalıdır
eb ssh --setup
bu, yeni bir anahtar çifti oluşturmanıza veya varsa mevcut bir anahtar çiftini kullanmanıza olanak tanır.
Bunu eb use
yapmamış olmama rağmen sadece mevcut ortama bağlanabilirsiniz .
CLI kurulumuyla ilgili ayrıntılar için - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
Ortam yapılandırmanıza bağlı olarak, ortamınız için oluşturulan EC2 örneğinde genel bir IP adresiniz olmayabilir. Kontrol edebilirsiniz:
Son olarak, yeni EIP'nizi seçin ve eylem menüsünden Adresi ilişkilendir'i seçin. Bu IP'yi EC2 yönetim ortamınızla ilişkilendirin. eb ssh
Şimdi kullanarak bağlanabilmelisiniz .
Bağlantı ayrıntılarını çalıştırarak sıfırlayabilirsiniz eb ssh --setup
.
Bir süre önce de aynı problemle karşılaştım. Anahtar dosyasını kullanmak istedim, ancak Amazon bir yerlerde mevcut bir EC2 sunucusuna anahtar dosyası ekleyemeyeceğinizi söylüyor. İlk Beanstalk uygulaması için Amazon uygulamayı sizin için önceden yapılandırır. Yeni bir uygulama oluşturmanız gerekir ve Beanstalk uygulamasını çalıştıran EC2 sunucusunu eski bir pem dosyası (Putty kullanıyorsanız ppk) kullanacak şekilde yapılandırabilir veya yeni bir tane oluşturabilirsiniz. Şimdi SSH yapabilmelisiniz.
Ardından yapılandırın, ardından eski uygulamanızı silin.