Run Command 설정 - AWS 시스템 관리자

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Run Command 설정

Run Command를 사용하여 인스턴스를 관리하려면 먼저 명령을 실행할 사용자에 대해 AWS Identity and Access Management(IAM) 사용자 정책을 구성해야 합니다. 자세한 내용은 시스템 관리자의 관리자가 아닌 IAM 사용자 및 그룹 생성 단원을 참조하십시오.

또한 명령을 처리하고 해당 인스턴스에 연결할 인스턴스에 대한 IAM 인스턴스 프로파일 역할도 생성해야 합니다. 자세한 내용은 시스템 관리자에 대한 IAM 인스턴스 프로파일 생성EC2 인스턴스에 IAM 인스턴스 프로파일 연결 단원을 참조하십시오.

또한 다음과 같은 선택적 설정 작업을 완료하여 인스턴스의 보안 상태 및 일상적인 관리를 최소화하는 것이 좋습니다.

Amazon EventBridge를 사용하여 명령 실행 모니터링

Amazon EventBridge를 사용하여 명령 실행 상태 변경 사항을 기록할 수 있습니다. 상태가 달라질 때마다 또는 관심이 있는 상태로 변경될 때 실행되는 규칙을 만들면 됩니다. 이벤트가 발생할 때 Run Command를 대상 작업으로 지정할 수도 있습니다.EventBridge 자세한 내용은 이벤트에 대해 EventBridge 구성시스템 관리자 단원을 참조하십시오.

Amazon CloudWatch Logs를 사용하여 명령 실행 모니터링

모든 명령 출력 및 오류 로그를 정기적으로 CloudWatch Logs 로그 그룹에 보내도록 Run Command를 구성할 수 있습니다. 거의 실시간으로 이러한 출력 로그를 모니터링하고, 특정 구문, 값 또는 패턴을 검색하며, 검색을 기반으로 경보를 생성할 수 있습니다. 자세한 내용은 Run Command에 대한 Amazon CloudWatch Logs 구성 단원을 참조하십시오.

특정 인스턴스에 대한 Run Command 액세스 제한

사용자가 특정 Amazon EC2 태그로 지정된 인스턴스에 대해서만 명령을 실행할 수 있도록 하는 조건이 포함된 IAM 사용자 정책을 생성하여 어느 관리형 인스턴스 명령을 실행할 것인지를 제한할 수 있습니다 자세한 내용은 인스턴스 태그를 기준으로 Run Command 액세스 제한 주제를 참조하십시오.

인스턴스 태그를 기준으로 Run Command 액세스 제한

사용자가 특정 Amazon EC2 태그에 지정된 인스턴스에 대해서만 명령을 실행할 수 있도록 하는 조건이 포함된 IAM 사용자 정책을 생성하여 명령 실행을 특정 인스턴스로 제한할 수 있습니다. 다음 예제에서 사용자는 인스턴스가 Finance Run Command(Effect: Allow, Action: ssm:SendCommand)인 상태에서 인스턴스(SSM)에 있는 Resource: arn:aws:ssm:*:*:document/* 문서(Resource: arn:aws:ec2:*:*:instance/*)를 사용하여 WebServer(ssm:resourceTag/Finance: WebServer)를 사용할 수 있습니다. 사용자가 태그 지정되지 않았거나 Finance: WebServer 이외의 태그가 있는 인스턴스에 명령을 보내는 경우 실행 결과는 AccessDenied로 표시됩니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:*:*:document/*" ] }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ec2:*:*:instance/*" ], "Condition":{ "StringLike":{ "ssm:resourceTag/Finance":[ "WebServers" ] } } } ] }

사용자가 여러 태그로 지정된 인스턴스에 대해 명령을 실행하도록 허용하는 IAM 정책을 생성할 수 있습니다. 다음 정책은 두 태그를 포함하는 인스턴스에서 사용자가 명령을 실행하도록 허용합니다. 사용자가 두 태그 모두에 지정되지 않은 인스턴스에 명령을 전송할 경우 실행 결과가 AccessDenied로 표시됩니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ], "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

사용자가 여러 태그로 지정된 인스턴스 그룹에 대해 명령을 실행하도록 허용하는 IAM 정책을 생성할 수도 있습니다. 다음 정책은 태그 지정된 인스턴스 그룹 중 하나 또는 두 그룹 모두에 대해 명령을 실행하도록 허용합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

사용자 정책 생성에 대한 자세한 내용은 IAM관리형 정책과 인라인 정책을 참조하십시오.IAM 사용 설명서 인스턴스 태그 지정에 대한 자세한 내용은 Amazon EC2의 리소스 태그 지정을 참조하십시오(Windows 및 Linux 인스턴스에 적용됨).Linux 인스턴스용 Amazon EC2 사용 설명서