[AWS] SSM으로 EC2에 10초만에 접속하기
+) 내용 추가
EC2를 생성할 때부터 세부 정보에서 IAM 역할을 부여할 수 있는지 몰랐다. 생성 때부터 SSM Role 주는게 제일 빠르다 ㅎㅎ 내가 겪은 현상은 Credential 갱신되는 시간과 관련되어 있다고 예상된다.
나는 폐쇄망에서 일하고 있다. 그래서 개인적인 테스트가 필요할 때는 EC2를 생성해서 진행해 보는데, All-Deny 이기 때문에 SSH 접근이 안된다. 대신 http/https 접근은 가능하다 휴..
그래서 AWS Systems Manager (SSM)을 주로 사용한다.
근데 SSM으로 접속하기까지 시간이 너~~~무 많이 걸린다.
지나가는 SSM 설명..
SSM은 https 프로토콜을 이용해서 서버에 접근할 수 있다. SSH처럼 port 허용을 위한 SG 설정도, key pair도 Bastion Host를 만들 필요도 없다. 그냥 접근하고자 하는 서버에게 SSM 관련 IAM 역할만 수정해 주면 된다.
참고 ) AWS Systems Manager란 무엇인가요? - AWS Systems Manager
EC2에 SSM Agent가 설치되어 그 Agent를 통해 SSM 접근을 할 수 있는 것이다.
그래서 보통 만들어둔 EC2의 IAM role만 수정해서 서버에 접속하고는 했는데, SSM Agent가 enable되기까지 너무 많은 시간이 소요되었다.
참고로 SSM Agent는 기본적으로 AMI는 웬만해선 설치되어 있다. 아래 링크 참고
Amazon Machine Images(AMIs), SSM Agent 사전 설치 - AWS Systems Manager
SSM 활성화 테스트1,2
테스트 1은 그냥 default로 EC2 생성하여 IAM role을 바로 붙이는 것이고 테스트 2는 User-Data로 SSM Agent install 및 enable 스크립트를 넣어서 만들어 줬다.
테스트 1
- 8:59:45에 인스턴스 생성
-
9:00:30에 IAM 역할 수정 및 SSM 연결 확인
-
EC2에서 SSM Agent 상태 확인 > 이상없음…….(?)
- 9:05:30 SSM 연결 활성화
테스트 2
- 9:05:30에 인스턴스 생성
-
고급 세부 정보 > 사용자 데이터 > 스크립트 작성
#!/bin/bash sudo yum update -y sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm sudo systemctl enable amazon-ssm-agent --now
-
-
9:06:30에 IAM 역할 수정
-
9:06:40에 SSM 연결 활성화
-
EC2에서 SSM Agent 상태 확인 > 이상없음…….(?)
결론
SSM Agent 설치된 것도 active 상태인 것도 확인했으나, SSM으로 EC2 연결 버튼 활성화되기까지 어어엉어엄청 오래 걸린다. 시간 측정 기준은 IAM Role을 수정한 이후로부터인데, SSM Agent가 다시 install되고 enable되면서 Role 관련된 Credential이 갱신되어 연결 속도가 빨라진 것이라고 예측하고 있다.
SSM | Default | Install & Enable |
---|---|---|
IAM 역할 수정 시각 | 9:00:30 | 9:06:30 |
연결 버튼 활성화 시각 | 9:05:30 | 9:06:40 |
연결 버튼 활성화되기까지 소요 시간 | 약 5분 | 약 10초 |
이 테스트 시간은 대략적인 시간인데 폐쇄망에서는 Default
부분이 약 10분 가량 소요됐었다.
이는 Cloud9을 사용하다가 깨닫게 된 경험이었다(?)
암튼 고로 인스턴스 생성할 때 아래 스크립트를 User Data에 넣어서 시간을 단축시키자! (가 아니라 생성할 때부터 IAM Role 부여해 주자!)
-
고급 세부 정보 > 사용자 데이터 > 스크립트 작성
#!/bin/bash sudo yum update -y sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm sudo systemctl enable amazon-ssm-agent --now
Leave a comment