System Manager의 Run Command 기능을 통해 S3에 저장된 스크립트 일괄 실행
1. AWS System Manager에서 인스턴스에 접근하여 명령어를 실행하기 위해 아래와 같은 설정이 필요합니다.
1) 엔드포인트 생성
- com.amazonaws.ap-northeast-2.ssm
- com.amazonaws.ap-northeast-2.ssmmessages
- com.amazonaws.ap-northeast-2.ec2messages
2) 아래 권한에 대한 인스턴스 IAM Role 추가 필요
- AmazonSSMManagedInstanceCore
2. 인스턴스에서 S3에 있는 스크립트를 다운로드하고, 실행 결과를 S3로 업로드하기 위해 아래와 같은 설정이 필요합니다.
1) 엔드포인트 생성
- com.amazonaws.ap-northeast-2.s3 (*Gateway Endpoint)
2) 아래 권한에 대한 인스턴스 IAM Role 추가 필요
- AmazonS3FullAccess
3. S3에 스크립트 파일 업로드
4. 스크립트를 인스턴스에 다운로드 후 원으로 실행
1) AWS System Manager - Run Command(명령 실행) - AWS-RunRemoteScript 문서 선택
2) 아래와 같이 파라미터를 설정하고 실행할 대상 인스턴스 선택 후 실행
명령 파라미터
파라미터
commandLine : "./test.sh"
executionTimeout : "300"
sourceInfo : "{"path:https:// test.s3.ap-northeast-2.amazonaws.com/test.sh}"
sourceType : "S3"
workingDirectory : "/root"
5. 인스턴스 내 스크립트 실행 결과 확인
6. 실행 결과를 S3로 업로드 합니다.
1) AWS System Manager - Run Command - AWS-RunShellScript 문서 선택
2) 아래와 같이 파라미터를 설정하고 실행할 대상 인스턴스 선택 후 실행
명령 파라미터
파라미터
commands : "echo -e "[default]\noutput = json\nregion = ap-northeast-2" > .aws/config", "aws s3 cp /root s3://test-result/ --recursive --exclude "*" --include "test_*""
executionTimeout : "300"
workingDirectory : "/root"
7. S3 업로드 확인
'AWS > EC2' 카테고리의 다른 글
[AWS] Amazon Linux 2023 /var/log 디렉토리에 로그가 없는 이유 (0) | 2024.10.20 |
---|---|
AWS EC2 StatusCheckFailed 발생 원인 (0) | 2024.08.21 |
[AWS] EC2 instance power maintenance scheduled 이란? (0) | 2024.01.14 |
[EC2] EC2 인스턴스 메타데이터 (0) | 2022.12.21 |