favicon Jay Lee DevLog

728x90
300x250

오늘은 SSM에 대해 정리하려 한다.

내가 SSM을 사용하게 된 이유는

인스턴스1과 인스턴스2 사이에 명령어를 주고 받아야 하는데,

특정 포트들은 사용할 수 없는 환경이라 SSM을 사용하게 되었다.

 

SSM 기능에는 명령실행이라는 기능이 있다.

 

위와 같은 곳에 위치하고 있는데,

이를 잘 활용하면 특정 인스턴스로 명령어를 전달할 수 있게 된다.

 

 

명령실행에서 주황색 명령실행 버튼을 누르게 되면

위와 같이 파라미터와 대상을 선택하는 UI가 있다.

여기에 잘만 값을 입력해주면, 선택한 대상으로 커맨드를 실행하고,

그에 대한 응답 값도 아웃풋으로 받아올 수 있다.

 

내용도 자세히 적고 싶지만,

회사 내부 내용이기에 관련된 커맨드 보내는 법 같은건

직접 찾아보기 바란다.

 

대강 실제 명령이 실행된 내용을 보자면,

이런식으로 명령 파라미터로 커맨드를 내보내면 된다.

 

그리고 해당 글을 쓰는 가장 큰 비중을 차지하는 이유였던,

SSM은 추가적인 설정을 하지 않으면 동시에 최대 5개의 명령까지만 처리할 수 있고,

5개 초과의 명령이 들어오게되면 펜딩 상태로 빠지게 된다.

 

이를 해결하기 위해서는

SSM Agent에 대한 설정을 해줘야한다.

글을 적다보니 빼먹은게 있는데,

SSM을 EC2 내부에서 사용하려면

Agent를 설치해야하고 설치 방법은 아래와 같다.

 

- AWS EC2 AMI에 Agent 설치

 

다시 본론으로 돌아와 동시에 6개 이상의 명령을 실행하려면

https://github.com/aws/amazon-ssm-agent/tree/master#config-property-definitions

 

GitHub - aws/amazon-ssm-agent: An agent to enable remote management of your EC2 instances, on-premises servers, or virtual machi

An agent to enable remote management of your EC2 instances, on-premises servers, or virtual machines (VMs). - GitHub - aws/amazon-ssm-agent: An agent to enable remote management of your EC2 instanc...

github.com

해당 문서의 Runtime Configuration 항목의 내용을 참고해서

amazon-ssm-agent.json.template 파일을 바꿔준 후에

이름에서 template를 빼주면 적용된다.

 

직접해보면,

vim amazon-ssm-agent.json.template

 

이후 원하는 값을 변경해주면 되는데,

나는 명령 커맨드 최대 수를 늘리기 위해 아래와 같이 변경해주었다.

기존에 5로 되어 있었는데,

100으로 바꾸고 테스트해보면 5개 이상의 동시 명령에도 정상 동작 하는걸 확인할 수 있다.

 

해당 방법을 발견하지 못했다면

로직을 갈아엎어야할 뻔 했는데,

다행히 방법이 있었다.

 

많은 사람들이 나같은 일을 겪지 않기를 바라는 마음에

해당 정보를 공유한다.

 

 

 

 

728x90
반응형

+ Recent posts

/ /

Contact

📧 dlwjdwls60@naver.com


블로그에 내용이 있으면 해당 글을 보여주며, 없으면 내용이 복사된 채로 ChatGPT로 연결됩니다.