AWS instance 연결하기

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AccessingInstances.html

로컬 컴퓨터 운영 체제가 Linux 또는 macOS X인 경우

로컬 컴퓨터 운영 체제가 Windows인 경우

 

예전에는 SSH 접근을 위한 bastion host를 두었지만 Session Manager 등을 이용할 경우 IAM 설정을 통해서 SSH에 대한 접근 권한 관리가 가능함.

 

SSH 클라이언트

ssh private key 이용한 전통적인 방식

EC2 Instance Connect

베이스천 호스트에서 ssh key를 관리할 필요가 없음. 단기적으로 키(일회용 SSH 퍼블릭 키)를 푸시하고 액세스를 제한할 수 있음.

 

EC2 Instance Connect를 이용하면 Amazon EC2 콘솔(브라우저 기반 클라이언트), Amazon EC2 Instance Connect CLI 또는 사용자가 선택한 SSH 클라이언트를 사용하여 인스턴스에 연결할 수 있습니다.

EC2 Instance Connect을 사용하여 인스턴스에 연결할 때 Instance Connect API는 일회용 SSH 퍼블릭 키를 인스턴스 메타데이터에 푸시하여 60초 동안 유지합니다. IAM 사용자에게 연결된 IAM 정책은 퍼블릭 키를 인스턴스 메타데이터로 푸시하도록 IAM 사용자에게 권한을 부여합니다. SSH 데몬은 Instance Connect가 설치될 때 구성된 AuthorizedKeysCommandAuthorizedKeysCommandUser를 사용하여 인증을 위해 인스턴스 메타데이터에서 퍼블릭 키를 찾고 사용자를 인스턴스에 연결합니다.

 

EC2 instance Connect 이용을 한 예

https://aws.amazon.com/ko/blogs/infrastructure-and-automation/securing-your-bastion-hosts-with-amazon-ec2-instance-connect/

 

Amazon EC2 콘솔 에서 접속을 해야 하는 경우에는 AWS의 네트워크 대역 정보에서 EC2_INSTANCE_CONNECT 가 들어간 IP만 뽑아서 ssh에 대한 보안그룹에 추가를 해 주어야 함.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html#ec2-instance-connect-install-eic-CLI

https://docs.aws.amazon.com/ko_kr/general/latest/gr/aws-ip-ranges.html

AWS Systems Manager Session Manager

인바운드 포트를 열고, 배스천 호스트를 유지하고, SSH 키를 관리할 필요 없이 AWS CLI 를 통해서 ec2 instance 접속 가능함.

https://sysadmin.atlassian.net/wiki/spaces/CLOUD/pages/2275836163