Właśnie zapisałem się na nową ofertę Amazon Elastic Beanstalk. Nie mogę zrozumieć, jak połączyć się z instancją Beanstalk. Nie mam klucza prywatnego, ponieważ Beanstalk wygenerował instancję w moim imieniu.
amazon-web-services
amazon-ec2
ssh
amazon-elastic-beanstalk
Benno Waldmann
źródło
źródło
eb ssh
Odpowiedzi:
Odkryłem, że jest to proces dwuetapowy. Zakłada się, że skonfigurowano już parę kluczy umożliwiającą dostęp do instancji EC2 w odpowiednim regionie.
Skonfiguruj grupę zabezpieczeń
elasticbeanstalk-default
zabezpieczeń, jeśli uruchomiłeś instancję Elastic Beanstalk w tym regionie.Edytuj grupę zabezpieczeń, aby dodać regułę dostępu SSH. Poniżej zablokuje to, aby umożliwić wejście tylko z określonego adresu IP.
Skonfiguruj środowisko aplikacji Elastic Beanstalk
Existing Key Pair
.Po ponownym uruchomieniu instancji musisz uzyskać nazwę hosta z karty instancji ECS konsoli AWS EC2 lub za pośrednictwem interfejsu API. Powinieneś wtedy mieć możliwość ssh na serwerze.
Uwaga: Aby dodać parę kluczy do konfiguracji środowiska, ochrona przed zakończeniem instancji musi być wyłączona, ponieważ Beanstalk próbowałby zakończyć bieżące instancje i uruchomić nowe instancje za pomocą KeyPair.
Uwaga: Jeśli coś nie działa, sprawdź zakładkę „Zdarzenia” w aplikacji / środowiskach Beanstalk i dowiedz się, co poszło nie tak.
źródło
Interfejs CLI v3 elastycznej fasoli obsługuje teraz bezpośredni SSH za pomocą polecenia
eb ssh
. Na przykładNie ma potrzeby instalowania grup zabezpieczeń w celu znalezienia adresu wystąpienia EC2.
Jest też ta fajna sztuczka:
To tymczasowo zmusi port 22 do otwarcia do 0.0.0.0 i pozostanie otwarty do Ciebie
exit
. Łączy to w sobie zalety pierwszej odpowiedzi, bez kłopotów. Możesz tymczasowo przyznać dostęp komuś innemu niż Ty na debugowanie i tak dalej. Oczywiście nadal musisz przesłać klucz publiczny do hosta, aby mieli dostęp. Gdy to zrobisz (i tak długo, jak będziesz w środkueb ssh
), druga osoba możeźródło
eb ssh production
. Możesz również skonfigurować określone środowisko z opcją instalacji:eb ssh production --setup
Moje doświadczenia w sierpniu 2013 r. Z klientem linux i prostą instalacją AWS Beanstalk (pojedyncze wystąpienie EC2) są następujące (na podstawie Community Wiki powyżej)
Skonfiguruj grupę zabezpieczeń
awsweb...
grupę zabezpieczeń, a szczegóły powinny pojawić się u podstawy stronyUtwórz parę kluczy publiczny-prywatny
Skojarz parę publicznego klucza prywatnego z serwerem Elastic Beanstalk EC2
Połącz się z wystąpieniem AWS EC2 za pomocą SSH
Powodzenia
źródło
Bawiłem się również tym.
Usługa zostanie uruchomiona ponownie, więc zrób kawę przez 5 minut
Na karcie ec2 dla tego samego regionu zobaczysz nową działającą instancję. ssh do publicznej nazwy dns jako użytkownik ec2 za pomocą klucza dodanego w 3 np. ssh [email protected]
źródło
Istnieje przydatna opcja „Połącz” w menu „Działania instancji” dla instancji EC2. Da ci dokładne polecenie SSH do wykonania z poprawnym adresem URL dla instancji. Ogólne instrukcje Jabley są prawidłowe.
źródło
Powyższe odpowiedzi są nieco stare.
Najpierw utwórz parę kluczy, a następnie dołącz ją do środowiska Elastic Beanstalk.
Kroki tworzenia pary kluczy
Kroki dołączania utworzonej pary kluczy do środowiska Elastic Beanstalk
AWS -> Usługi -> Elastyczna łodyga fasoli
Wybierz środowisko i kliknij konfigurację po lewej stronie.
W przeglądzie konfiguracji wybierz zmodyfikuj z Security.
W obszarze Uprawnienia do maszyny wirtualnej wybierz utworzoną przez nas parę kluczy.
Kliknij przycisk Zapisz, a następnie Zapisz konfigurację.
Zastanowienie się nad instancją EC2 zajmie trochę czasu.
źródło
Jeśli używasz elastycznej fasoli i EB CLI, po prostu użyj,
eb ssh
aby zalogować się do instancji. Możesz użyć opcji określonych w poniższym linku http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.htmlźródło
Musisz połączyć się z instancją ec2 bezpośrednio przy użyciu jej publicznego adresu IP. Nie można połączyć się za pomocą adresu URL elasticbeanstalk.
Możesz znaleźć adres IP instancji, wyszukując go w konsoli ec2.
Musisz także upewnić się, że port 22 jest otwarty. Domyślnie EB CLI zamyka port 22 po zakończeniu połączenia ssh. Możesz wywołać eb ssh -o, aby pozostawić port otwarty po zakończeniu sesji ssh.
Ostrzeżenie: powinieneś wiedzieć, że elastyczna łodyga fasoli może w każdej chwili zastąpić Twoją instancję. Nie można zagwarantować stanu w żadnej z instancji elastycznej łodygi fasoli. Prawdopodobnie lepiej używać ssh tylko do testowania i debugowania, ponieważ wszystko, co zmodyfikujesz, może zniknąć w dowolnym momencie.
źródło
Kierunek ustawiania pary kluczy dla instancji ElasticBeanstalk ec2 z bieżącym interfejsem użytkownika: Ostrzeżenie: Będzie to wymagało aktualizacji instancji EC2 w aplikacji ElasticBeanstalk. Uwaga: Przed tym konieczne będzie utworzenie pary kluczy w desce rozdzielczej EC2.
1) W panelu AWS wybierz usługę ElasticBeanstalk 2) Wybierz aplikację, której chcesz użyć. 3) Wybierz „Konfiguracja” 4) Wybierz ikonę koła zębatego (ustawienia) w polu konfiguracji „Instancje”. 5) Nastąpi przejście do strony zatytułowanej „Serwer”, na której możesz zaktualizować pole rozwijane „Para kluczy EC2” o żądaną parę kluczy i wybrać opcję „Zapisz”.
Należy zauważyć, że może to nie działać w przypadku aplikacji z wieloma instancjami (ale wydaje mi się prawdopodobne, że wszystkie znajdują się w tym samym regionie co para kluczy).
źródło
Przybyłem tutaj, aby znaleźć sposób na dodanie klucza do instancji, którą tworzy Beanstalk podczas udostępniania (używamy Terraform). W Terraform możesz wykonać następujące czynności:
Następnie możesz użyć tego klucza do SSH w polu.
źródło
Jeśli skonfigurowałeś interfejs CLI
eb init
w swoim środowisku, powinien on być tak prosty jakeb ssh --setup
co pozwoli ci utworzyć nową parę kluczy lub użyć istniejącej, jeśli taka istnieje.Możesz także być w stanie połączyć się z istniejącym środowiskiem,
eb use
chociaż tego nie zrobiłem.Szczegółowe informacje na temat instalowania interfejsu CLI - https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
źródło
Na Macu możesz zainstalować cli przy użyciu brew:
Za pomocą narzędzia wiersza poleceń możesz następnie ssh za pomocą:
a także wykonywać inne operacje. Zakłada się, że dodałeś grupę zabezpieczeń, która pozwala ssh z twojego adresu IP.
źródło
W zależności od konfiguracji środowiska użytkownik może nie mieć publicznego adresu IP w instancji EC2 utworzonej dla tego środowiska. Możesz to sprawdzić:
Na koniec wybierz nowy EIP i wybierz opcję Powiąż adres z menu akcji. Powiąż ten adres IP z instancją EC2. Powinieneś być w stanie połączyć się za pomocą
eb ssh
teraz.Możesz zresetować szczegóły połączenia, uruchamiając
eb ssh --setup
.źródło
Jakiś czas temu spotkałem ten sam problem. Chciałem użyć pliku klucza, ale Amazon mówi gdzieś, że nie można dodać pliku klucza do istniejącego serwera EC2. W przypadku pierwszej aplikacji Beanstalk Amazon wstępnie ją skonfiguruje. Musisz utworzyć nową aplikację i możesz skonfigurować serwer EC2, na którym działa aplikacja Beanstalk, do korzystania ze starego pliku pem (ppk, jeśli używasz Putty), lub możesz utworzyć nowy. Teraz powinieneś być w stanie SSH.
Następnie skonfiguruj, a następnie usuń starą aplikację.
źródło