[amazon-web-services] SSH에서 Elastic Beanstalk 인스턴스로

방금 아마존의 새로운 Elastic Beanstalk 제품에 가입했습니다. 내가 알 수없는 것은 Beanstalk 인스턴스에 SSH하는 방법입니다. Beanstalk가 대신 인스턴스를 생성했기 때문에 개인 키가 없습니다.



답변

나는 그것이 2 단계 과정이라는 것을 알았습니다. 이는 관련 리전의 EC2 인스턴스에 액세스하기 위해 키 페어를 이미 설정했다고 가정합니다.

보안 그룹 구성

  1. AWS 콘솔에서 EC2 탭을 엽니 다.
  2. 관련 지역을 선택하고 보안 그룹을 클릭하십시오.
  3. elasticbeanstalk-default해당 리전에서 Elastic Beanstalk 인스턴스를 시작한 경우 보안 그룹 이 있어야합니다 .
  4. SSH 액세스 규칙을 추가하도록 보안 그룹을 편집하십시오. 아래는 특정 IP 주소에서 들어오는 것만 허용하도록 잠겨 있습니다.

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

Elastic Beanstalk 애플리케이션 환경 구성

  1. 키 페어를 아직 만들지 않은 경우 ec2 탭의 보안 그룹 아래에서 키 페어를 클릭하여 키 페어를 만드십시오.
  2. AWS 콘솔에서 Elastic Beanstalk 탭을 엽니 다.
  3. 관련 지역을 선택하십시오.
  4. 관련 환경을 선택하십시오
  5. 왼쪽 분할 창에서 구성을 선택하십시오.
  6. 보안을 선택하십시오.
  7. “EC2 키 페어 :”아래의 Existing Key Pair필드 에서 키 페어 이름을 선택하십시오 .

인스턴스가 다시 시작되면 AWS 콘솔 EC2 인스턴스 탭 또는 API를 통해 호스트 이름을 가져와야합니다. 그런 다음 서버에 ssh 할 수 있어야합니다.

$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com

참고 : 환경 구성에 키 페어를 추가하려면 Beanstalk가 현재 인스턴스를 종료하고 KeyPair로 새 인스턴스를 시작하려고하므로 인스턴스의 종료 방지 기능을 해제해야합니다.

참고 : 무언가가 작동하지 않으면 Beanstalk 애플리케이션 / 환경의 “이벤트”탭을 확인하고 무엇이 잘못되었는지 확인하십시오.


답변

Elastic beanstalk CLI v3은 이제 명령으로 직접 SSH를 지원합니다 eb ssh. 예 :

eb ssh your-environment-name

EC2 인스턴스 주소를 찾기 위해 보안 그룹을 설정해야하는 번거 로움이 없습니다.

이 멋진 트릭도 있습니다.

eb ssh --force

임시로 포트 22를 0.0.0.0으로 강제로 열고 exit. 이것은 번거 로움없이 최고 답변의 이점을 약간 혼합 합니다 . 디버깅 이외의 다른 사람에게 일시적으로 권한을 부여 할 수 있습니다. 물론 공개 키를 호스트에 업로드하여 액세스 할 수 있어야합니다. 일단 그렇게하고 나면 eb ssh다른 사람이 할 수 있습니다

ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com


답변

Linux 클라이언트 및 간단한 AWS Beanstalk 설치 (단일 EC2 인스턴스)에서의 2013 년 8 월의 경험은 다음과 같습니다 (위의 커뮤니티 Wiki 기반).

보안 그룹 구성

  1. AWS 콘솔에서 EC2를 선택하여 EC2 대시 보드로 이동하십시오.
  2. 왼쪽 패널에서 Instances를 클릭 한 다음 연결할 인스턴스를 선택하여 EC2 인스턴스가 속한 보안 그룹을 찾으십시오 (필자의 경우 기본 환경이라고 함). 세부 사항은 페이지 하단에 표시됩니다. 보안 그룹에 대한 필드가 표시되어야합니다. 이름을 적어 두십시오. 제 경우에는 “awsweb …”입니다.
  3. 왼쪽 패널에서 보안 그룹을 선택하십시오.
  4. awsweb...보안 그룹을 선택하면 세부 정보가 페이지 하단에 표시됩니다
  5. 인바운드 탭을 선택하고 “새 규칙 작성”드롭 다운에서 SSH를 선택하십시오. 연결하려는 로컬 컴퓨터의 IP 주소 / CIDR (예 : 192.168.0.12/32)을 삽입하고 규칙 추가 및 규칙 변경 사항 적용을 클릭하십시오.

공개-개인 키 쌍 생성

  1. EC2 대시 보드의 왼쪽 패널에서 Key Pairs를 선택하십시오.
  2. 키 쌍 (맨 위)을 클릭하고 myname-key-pair-myregion 또는 원하는 유효한 키 이름과 같은 이름을 입력하십시오.
  3. 브라우저에서 개인 키 다운로드를 확인한 후 예를 들어 홈 디렉토리에 저장하거나 어디에서나 저장하십시오. 디렉토리에 쓰기 권한 만 있는지 확인하십시오.

퍼블릭 프라이빗 키 페어를 Elastic Beanstalk EC2 서버와 연결

  1. 퍼블릭-프라이빗 키 페어를 Elastic Beanstalk EC2 인스턴스에 추가하려면 다음을 수행하십시오. 서비스-> Elastic Beanstalk-> 내 앱-> 기본 환경은 기본 환경 (앱을 업로드하는 환경)으로 이동합니다.
  2. 구성 (왼쪽 패널)을 클릭 한 다음 “인스턴스”와 관련된 기어 / 코그에서
  3. “서버”라는 제목의 페이지가 표시됩니다
  4. EC2 키 페어에서 사전 구축 된 키 파를 선택하고 저장
  5. 일부 경고 메시지가 표시되므로 다시 저장하십시오.

SSH를 사용하여 AWS EC2 인스턴스에 연결

  1. 터미널 세션에서 개인 키 (.pem 파일)가 포함 된 디렉토리로 변경하십시오.
  2. 이것에 대해 몇 가지 살펴 본다면 이름 바꾸기와 같은 것이 있다면 .ssh / known_hosts에 대해 뭔가를해야 할 것입니다. 그렇지 않으면 호스트 ID가 변경되었다는 오류가 표시 될 수 있습니다.
  3. ssh -i ./myname-key-pair-my-region.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com

행운을 빕니다


답변

나는 이것도 가지고 놀고있다.

  1. 탄력있는 콩나무 서비스 탭으로 이동
  2. 응용 프로그램 개요에서 goto action-> 구성 편집
  3. EC2 탭에 표시된 것과 같은 키 이름을 기존 키 쌍 상자에 추가하고 변경 사항 적용을 누르십시오.

서비스가 다시 시작되므로 5 분 동안 커피를 만드십시오.

같은 리전의 ec2 탭에 새로운 실행중인 인스턴스가 표시됩니다. ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com과 같이 3에 추가 된 키를 사용하여 ec2-user로 공개 dns 이름으로 ssh


답변

EC2 인스턴스의 ‘Instance Actions’메뉴에 편리한 ‘Connect’옵션이 있습니다. 인스턴스의 올바른 URL로 실행할 정확한 SSH 명령을 제공합니다. Jabley의 전반적인 지침이 정확합니다.


답변

위의 답변은 약간 낡았습니다.

먼저 키 페어를 생성 한 다음 Elastic Beanstalk 환경에 연결합니다.

키 페어를 만드는 단계

  1. AWS에 로그인
  2. 서비스-> EC2
  3. 네트워크 및 보안 아래 왼쪽에서 키 페어를 선택하십시오.
  4. Create new Key Pair를 선택하고 키 이름을 입력 한 후 create를 클릭하십시오. 키가 시스템에 자동으로 다운로드됩니다.

생성 된 키 페어를 Elastic Beanstalk 환경에 연결하는 단계

  1. AWS-> 서비스-> Elastic Beanstalk

  2. 환경을 선택하고 왼쪽에서 구성을 클릭하십시오.

  3. 구성 개요에서 보안에서 수정을 선택하십시오.

  4. 가상 머신 권한에서 작성한 키 쌍을 선택하십시오.

  5. 저장을 클릭 한 다음 구성 저장을 클릭하십시오.

EC2 인스턴스에 반영하는 데 시간이 걸립니다.


답변

탄력적 Bean 및 EB CLI를 사용 eb ssh하는 경우 인스턴스에 로그인하는 데 사용하십시오 . 다음 링크 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html에 지정된 옵션을 사용할 수 있습니다.