AWS Systems Manager의 기능인 Maintenance Windows를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 시작 또는 중지 시간을 예약하고 싶습니다.
간략한 설명
인스턴스를 시작하거나 중지하도록 예약하려면 AWS-StartEC2Instance 또는 AWS-StopEC2Instance 런북을 유지 관리 기간에 등록하십시오. 런북을 실행하려면 필요한 권한이 있어야 합니다.
참고: AWS Systems Manager의 기능인 Automation을 사용하여 런북을 실행할 때 인스턴스가 관리형 인스턴스일 필요는 없습니다.
중지된 후 인스턴스를 즉시 다시 시작하려면 동일한 유지 관리 기간에 중지 및 시작 작업을 모두 설정합니다. 인스턴스를 시작하기 전에 미리 정해진 시간 동안 중지된 상태로 유지하려면 각 작업을 별도의 유지 관리 기간으로 설정합니다.
해결 방법
런북에 필요한 권한이 있는 IAM 역할 사용
유지 관리 기간을 예약하여 작업을 시작하거나 중지하려면 런북을 실행하는 데 필요한 권한이 있는 AWS Identity and Access Management(IAM) 역할을 사용해야 합니다. IAM 역할에는 유지 관리 창에 등록한 Systems Manager 런북에 대한 권한만 필요합니다. 예를 들어 AWS-StopEC2Instance가 아닌 AWS-StartEC2Instance를 등록하도록 선택한 경우 IAM 역할에는 ec2:StartInstances 권한만 필요합니다.
IAM 역할에 필요한 권한이 없는 경우 IAM 역할을 생성합니다. 이 경우 서비스 또는 사용 사례에 대해 Systems Manager를 선택하거나 기존 Systems Manager 역할을 사용하십시오. 그런 다음 역할에 다음 권한 정책을 추가합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:StartAutomationExecution",
"ec2:DescribeInstanceStatus"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID"
}
]
}
참고: example-region을 AWS 리전으로 바꾸십시오. example_account_number를 AWS 계정 번호로 바꾸십시오. example_instance_ID를 인스턴스의 ID 번호로 바꾸십시오. 여러 개의 ARN을 쉼표로 구분하여 추가할 수 있습니다. 다음 예시에서는 두 개의 ARN을 리소스로 지정합니다.
"Resource": "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID_1", "arn:aws:ec2:example_region:example_account_number:instance/example_instance_ID_2"
중요: ec2:StartInstances 및 ec2:StopInstances의 경우, 액세스를 제공하려는 인스턴스의 리소스 ARN을 추가하는 것이 좋습니다. 자세한 내용은 정책 구문을 참조하십시오. 인스턴스의 볼륨을 AWS Key Management Service 키로 암호화한 경우 해당 키에 대한 권한을 역할에 추가하십시오. 자세한 내용은 암호화된 볼륨이 연결된 Amazon EC2 인스턴스를 시작할 때 ‘client error on launch’ 오류가 발생하는 이유는 무엇입니까?를 참조하십시오.
유지 관리 기간 생성
유지 관리 기간이 없다면 새로 생성합니다. 유지 관리 창에서 작업 우선 순위 필드에서 작업을 정렬합니다. 가장 높은 우선 순위는 0입니다. 기존 유지 관리 기간이 있는 경우 자동화 작업 등록을 계속 진행합니다.
유지 관리 기간에 대상을 등록하려면 인스턴스 수동 선택 또는 리소스 그룹 선택 옵션을 대상 옵션으로 선택합니다. 대상으로 등록하지 않은 관리되는 인스턴스에서 유지 관리 기간을 실행하려면 등록되지 않은 대상 허용을 선택해야 합니다. 인스턴스 태그 지정을 대상 옵션으로 선택하지 마십시오.
자세한 내용은 콘솔을 사용하여 유지 관리 기간에 대상 할당을 참조하십시오.
자동화 작업 등록
다음 단계를 완료하십시오.
- Systems Manager 콘솔을 엽니다.
- 탐색 창에서 Maintenance Windows(유지 관리 기간)를 선택합니다.
- 유지 관리 기간 목록에서 대상 유지 관리 기간을 선택합니다.
- Actions(작업)를 선택한 다음 Register Automation task(자동화 작업 등록)를 선택합니다.
- (선택 사항) Maintenance window task details(유지 관리 기간 작업 세부 정보)에 이름과 설명을 입력합니다.
- Automation document(자동화 문서)의 경우 AWS-StartEC2Instance 또는 AWS-StopEC2Instance를 선택합니다.
- Document version(문서 버전)에 대해 Default version at runtime(런타임 시 기본 버전)을 선택합니다.
- 작업 우선 순위는 기본적으로 1로 설정되어 있습니다. 동일한 유지 관리 기간에 여러 작업을 등록한 경우 작업 우선 순위를 다르게 지정하여 실행 순서를 정합니다.
- Targets(대상)의 경우, 유지 관리 기간에 대상 인스턴스를 등록한 경우 Selecting registered target groups(등록된 대상 그룹 선택)를 선택합니다. 유지 관리 기간에 대한 대상 인스턴스를 등록하지 않은 경우 Selecting unregistered targets(등록되지 않은 대상 선택)를 선택합니다. 그런 다음 인스턴스를 수동으로 선택하거나 리소스 그룹을 지정하여 자동화 문서를 실행할 인스턴스를 식별합니다.
참고: 대상에 대한 태그는 시스템 관리자가 관리하는 인스턴스에 대해서만 지원됩니다.
- Rate control(속도 제어)에 대해 Concurrency(동시성) 및 Error threshold(오류 임계값)를 지정합니다.
- IAM service role(IAM 서비스 역할)의 경우 드롭다운 목록에서 시스템 관리자에 대한 서비스 역할을 선택합니다. 시스템 관리자에 대한 서비스 역할을 만들지 않은 경우 이를 생성합니다.
참고: AWSServiceRoleForAmazonSSM 역할을 사용하지 마십시오.
- Input parameters(입력 파라미터)에 다음 파라미터를 지정합니다.
InstanceId: 둘 이상의 리소스를 대상으로 하려면 {{RESOURCE_ID}} pseudo parameter를 입력합니다.
AutomationAssumeRole: ec2:StartInstances 또는 ec2:StopInstances 권한이 있는 IAM 역할에 대한 전체 역할 Amazon 리소스 이름(ARN)을 입력합니다. 예를 들어, arn:aws:iam: :123456789101:Role/SSM\ _StartStopEC2Role을 예로 들 수 있습니다.
- Register Automation task(자동화 작업 등록)를 선택합니다.
중요: 자동화 문서를 등록하여 중지 및 시작 작업을 모두 예약하려면 두 번째 문서에 대해 이전 단계를 반복하십시오.
관련 정보
AWS Systems Manager Maintenance Windows
Amazon EC2의 작업, 리소스 및 조건 키
Systems Manager에서 Amazon EC2 인스턴스를 관리형 인스턴스로 표시하지 않는 이유는 무엇입니까?