Infra & DevOps/AWS

[AWS]Session Manager 로 인스턴스 접속

용감한 개복치 2022. 10. 11. 12:38

aws 에서 제공하는 ec2 인스턴스 사용시 해당 인스턴스에 접속하는 방법은 크게 세 가지.

 

1. 콘솔 상에서 인스턴스로 연결

2. 세션 매니저를 사용

3. 키페어를 등록하여 로컬의 터미널에서 ssh -i 명령을 통해 접속

 

 각 방법은 특징들이 있다.

1번은 일단 매우 쉽다.

단, 접속하고자 하는 인스턴스가 퍼블릭 ip를 가지고 있어야 하기 때문에 실제 서버의 역할을 하기엔 보안상 이슈가 있다.

 

3번은 내 로컬에서 원격의 인스턴스를 접속하여 서로 파일을 전송하거나 연결을 하기 위한 방법.

로컬의 운영체제 별로 조금 다른 접근이 필요.

가장 큰 특징은 키페어를 발급받아 퍼블릭 키와 프라이빗 키의 매칭을 통해 접속을 하는 방식.

해당 방식에 대해서는 추후 단독 컨텐츠로 설명 예정.

 

2번 세션 매니저를 이용하게 되면 운영체제와 상관 없이 모두 사용 가능.

또한 인스턴스 별로 secret key 를 생각할 필요 없으며 배스천 호스트를 둘 필요가 없다.

이걸 하기 위해서는 세션 매니저 policy 가 추가된 role이 필요하다.

 

IAM 부분은 개인적으로 AWS 서비스들을 공부하는 중에서 왜인지 제일 까탈스러운 느낌적 느낌...

 

1. IAM > role 생성

 

2. aws service , ec2 선택 > next

물론 다른게 필요하다면 각자 이 세션 매니저를 어느 서비스에 붙일지에 따라 다르니 결정.

 

3. AmazonSSMManagedInstanceCore 검색 후 선택 > 이름 적기 > 정책 이름 확인 > create role

 

4. 인스턴스에 만들어진 역할 붙여주기

EC2 선택 > action > security > modify IAM role > 만든 이름 골라 넣고 > save

 

+ ) 여기 가지 다 했는데도 처음 인스턴스 생성할 때 부터 역할을 주지 않았다면 가끔 역할이 적용 되기 까지 시간이 조금 거리는 경우가 생긴다. 특히 다음과 같은 에러라면 그냥 기다리면 되니까 기도하자...

원래 인프라는 기도의 힘이 크다고 그랬다...