AWS Systems Manager Sessions Manager가 Amazon Simple Storage Service(Amazon S3) 또는 Amazon CloudWatch에 로그를 전송하지 않는 이유를 알고 싶습니다.
간략한 설명
Session Manager가 Amazon S3 또는 CloudWatch로 로그를 전송하지 않는 이유는 다음과 같습니다.
- 잘못 구성된 Session Manager 로깅
- 잘못된 S3 버킷 권한 및 AWS Identity and Access Management(IAM) 정책
- Amazon Virtual Private Cloud(VPC) 엔드포인트 접근성 문제
- IAM 역할에 CloudWatch 로깅에 필요한 권한 없음
전제 조건:
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
Session Manager 로깅 구성 확인
세션 데이터 로깅을 활성화하려면 Session Manager를 Amazon S3 또는 CloudWatch Logs용으로 구성했는지 확인합니다.
CloudWatch Logs를 구성할 때는 다음 모범 사례를 사용합니다.
- Session Manager 기본 설정을 검토하여 CloudWatch Logs를 활성화했는지 확인합니다.
- 유효한 로그 그룹 이름을 지정했는지 확인합니다.
- 지정된 로그 그룹이 CloudWatch에 있는지 확인합니다.
Amazon S3 버킷 권한 및 IAM 정책 확인
Session Manager가 Amazon S3에 로그를 업로드하려면 인스턴스에 연결된 IAM 역할에 필요한 권한이 있어야 합니다.
Amazon S3의 로그 누락 문제를 해결하려면 다음 단계를 완료합니다.
- Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 프로파일 역할에 S3 버킷 ARN에 대한 올바른 S3 IAM 권한이 있는지 확인합니다.
- S3 버킷 정책이 S3 버킷에서 필요한 S3 작업과 함께 인스턴스 프로파일 역할을 보안 주체로 허용하는지 확인합니다.
Amazon VPC 엔드포인트 접근성 확인
Amazon EC2 인스턴스가 인터넷에 액세스할 수 없는 경우 Amazon S3 또는 CloudWatch에 로깅하는 Session Manager에 대해 Amazon VPC 엔드포인트를 생성해야 합니다.
엔드투엔드 네트워킹을 확인하고 다음 엔드포인트에 대해 HTTPS 트래픽이 열려 있는지 확인합니다.
- HTTPS://ec2.region-code.amazonaws.com
- HTTPS://ec2messages.region-code.amazonaws.com
- HTTPS://ssm.region-code.amazonaws.com
- HTTPS://ssmmessages.region-code.amazonaws.com
- HTTPS://s3.region-code.amazonaws.com
- HTTPS://monitoring.region-code.amazonaws.com
엔드포인트를 만들려면 서비스 소비자로 엔드포인트 서비스에 연결을 참조하십시오.
CloudWatch 로깅을 위한 IAM 정책 구성
CloudWatch 로그 그룹에 세션 또는 스트림 로그가 없는 경우 인스턴스 프로파일 역할에 올바른 IAM 권한이 없습니다.
로그 스트림을 만들고 CloudWatch에 로그 이벤트를 배치하려면 Session Manager의 IAM 정책에 다음 권한이 있어야 합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:REGION:ACCOUNT-ID:log-group:LOG-GROUP-NAME:*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "*"
}
]
}
참고:
- 위의 정책에서 REGION, ACCOUNT-ID, LOG-GROUP-NAME을 해당 AWS 리전, AWS 계정 ID, 로그 그룹 이름으로 바꾸십시오.
- AWS Key Management Service(AWS KMS) 고객 관리형 키로 CloudWatch 로그 그룹을 암호화한 경우 인스턴스 프로파일 역할에 이를 사용할 권한을 부여하십시오. AWS KMS 키 정책은 역할이 키에 액세스할 수 있도록 허용해야 합니다.
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/ssm/my-log-group:*"
추가 문제 해결
CloudWatch Logs 문제를 해결하려면 작업 및 타임스탬프를 기반으로 AWS CloudTrail 이벤트 기록을 확인합니다. 자세한 내용은 AWS CloudTrail에서의 CloudWatch Logs API 및 콘솔 작업 로깅을 참조하십시오.
관련 정보
AWS Systems Manager Session Manager와 관련된 문제를 해결하려면 어떻게 해야 하나요?