AWS

AWS SSM 사용하여 EC2 Instance 접속하기

DevelopC 2022. 9. 20. 11:11
728x90

AWS SSM 사용하여 EC2 Instance 접속하기

AWS SSM을 사용하여 EC2에 접근하는 방법에 대해서 설명합니다. SSH를 직접 사용하지 않아도 접근가능한 방법입니다. SSH Port 오픈 및 Key Pair가 필요하지 않습니다.

IAM Role

EC2 Instance Profile 롤을 생성하고, AWS Managed Policy인 AmazonSSMManagedInstanceCore 권한을 설정해야합니다. EC2 Instance Profile을 생성하였으면, EC2 인스턴스 생성시 Role을 설정해주세요.

Amazon SSM Agent

대부분 AWS에서 제공하는 공식 AMI에는 기본적으로 amazon ssm agent가 설치되어있지만, 설치가 되어있지않으면, cloud-init 및 userdata를 활용해서 설치해아합니다. 설치방법은 공식 문서를 확인하면 OS별로 설명되어있습니다.

EC2 Instance 접속

SSM으로 접속하기 위해서 AWS CLI를 설치해주세요. 아래의 명령어를 통해서 SSM으로 SSH대신하여 접속할 수 있습니다. SSM을 사용하기위해서 SSM을 사용하려는 유저한테도 권한을 설정해주셔야합니다.

$ aws ssm start-session --target $instance_id

Trouble Shooting

SSM을 사용하다보면 접속이 안되는 경우가 종종있습니다. 이런경우에는 아래와 같이 해결하시면 됩니다.

  • EC2 Instance에 설정한 IAM 롤에 권한이 부족한 경우, KMS를 사용하거나, S3 로깅설정을 해두었다면, KMS, S3에도 권한이 필요합니다.
  • Security Group(보안그룹)의 아웃바운드에 목적지 0.0.0.0/0, 포트 443 허용되어있는지 확인해주세요. AWS 서비스에 연결하기 위해서 아웃바운드를 허용해주어야합니다.
  • 디스크의 공간이 부족한 경우, 디스크공간이 부족한 경우 EBS의 볼륨사이즈를 늘려주세요.
  • Amazon SSM Agent 프로세스가 죽었거나, 제대로 동작하지 않을 때 접근되지않습니다. 이런경우 EC2 Instance를 재부팅해주세요.

 

728x90