이번 시간에는 AWS Systems Manager에서 Run Command에 대해서 알아보겠습니다.
AWS Systems Manager란?
Systems Manager는 AWS 리소스에 대해 안전하고 대규모로 작업을 수행할 수 있는 관리 도구 입니다.
Systems Manager 자동화 기능 중 하나인 Run Command를 사용하면 bastion host, SSH 또는 원격 PowerShell을 사용할 필요가 없으므로 관리 작업을 간소화 할 수 있습니다. - AWS amazon 공식문서
보안상 SSH의 엑세스를 허가하고 싶지 않거나 Bation host를 두지 않고 구성을 간소화하고 싶은 경우 등 다양한 운용상의 유스 케이스에서 이용할 수 있습니다.
직접 해보기
- IAM role를 작성합니다.
- EC2 인스턴스를 작성합니다.
- Systems Manager Agent를 업데이트합니다.
- Run Command를 사용하여 쉘 스크립트를 실행해 봅니다.
1. IAM role 만들기
AmazonEC2RoleforSSM을 검색해서 체크하고 Next을 눌러 role를 만들어주면 끝입니다.
+추가) AmazonEC2RoleforSSM이 아니라 AmazonSSMManagedInstanceCore이걸로 하는게 현재 표준 설정입니다.
2. EC2 인스턴스 작성하기
다른건 다 기본적인 설정으로 두고 Advanced details에 IAM instance profile만 방금 만들었던 role로 설정해주면 됩니다. key pair는 필요 없기 때문에 따로 만들지 않아도 됩니다.
위와 같이 IAM Role이 제대로 할당되있으면 성공입니다.
3. Systems Manager Agent Update
AWS Systems Manager > Run Command > Run a command에서 SSM으로 검색하여 AWS-UpdateSSMAgent를 눌러줍니다.
그 아래 Target selection에서 Choose instances manually를 누르고 활성화 되있는 아까 만든 EC2를 선택해주고 Run을 눌러 실행시켜줍니다.
성공하는 것을 확인할 수 있습니다. Targets and outputs에서 했던 instance를 체크 하고 View output를 누르면 결과를 볼 수 있습니다.
성공적으로 업데이트가 된 것을 확인할 수 있었습니다.
4. RunCommand로 shell script 실행
Systems Manager Agent를 실행하는 EC2 인스턴스를 만들었으므로 관리 작업을 자동화하고 인스턴스를 관리할 수 있습니다. 이 절차에서는 문서라고 하는 사전 패키징된 명령을 실행하여 에이전트를 업그레이드 합니다. 새 인스턴스를 만들 때 System Manager Agent를 업데이트하는 것이 좋습니다.
아까 했던거 그대로 일단 들어갑니다.
아까와 달리 AWS-RunSHellScript를 선택해 줍니다.
그리고 테스트를 위해서 sudo amazon-linux-extras install nginx1를 사용해서 nginx를 깔아보겠습니다. 그 후 아까 했던거 처럼 활성화 되있는 인스턴스를 선택해주고 Run으로 실행시켜줍니다.
이렇게 성공하였습니다. CLI로 접속해서 확인해 보겠습니다.
nginx에 잘 깔렸고 잘 실행되는 것을 확인할 수 있었습니다. 여기까지 AWS Systems Manager의 Run Command 기능에 대한 실습이였습니다.
참고
https://dev.classmethod.jp/articles/aws-systems-manager-run-command-ec2-instance/
'기능반공부 > 클라우드 컴퓨팅' 카테고리의 다른 글
[CC] Terraform 기초 사용법 (0) | 2023.03.08 |
---|---|
[CC] AWS SSM(Systems Manager) - Patch Manager (0) | 2023.03.06 |
[CC] AWS SSM(Systems Manager) - session manager (0) | 2023.02.28 |
[CC] AWS Cloud Service logs(AWS CloudWatch & AWS CloudTrail) (0) | 2023.02.22 |
[CC] AWS Organiztions & AWS IAM (0) | 2023.02.22 |