본문으로 건너뛰기

Access-Logs

1 S3 Access Logs

  • S3 Access Logs는 감사 목적으로 S3 버킷에 대한 모든 액세스를 기록합니다.
  • 모든 계정에서 S3로 이루어진 요청, 승인 또는 거부된 요청은 다른 S3 버킷에 기록됩니다.
  • 이 데이터는 데이터 분석 도구를 사용하여 분석할 수 있습니다.

2 주요 기능

2.1 모든 요청 기록

  • S3 버킷에 대한 모든 요청을 기록합니다.
  • 승인된 요청뿐만 아니라 거부된 요청도 기록됩니다.
  • 로그 데이터는 지정된 다른 S3 버킷에 저장됩니다.

2.2 동일한 AWS 리전 내에서 로깅

  • 로깅 버킷과 타겟 로깅 버킷은 동일한 AWS 리전에 있어야 합니다.
  • 이는 데이터 전송 비용을 줄이고 성능을 최적화하기 위함입니다.

3 로그 형식

  • 로그 형식에 대한 자세한 정보는 AWS 문서를 참조하세요.

4 주의 사항

  • 로깅 버킷을 모니터링 대상 버킷으로 설정하지 마세요.
    • 이는 로깅 루프를 생성하여 버킷 크기가 기하급수적으로 증가할 수 있습니다.
  • 로그 데이터의 지연 발생
    • S3 액세스 로그는 실시간으로 전달되지 않습니다.
    • 로그 전달에는 몇 시간이 걸릴 수 있으므로 즉각적인 모니터링이 필요한 경우 다른 솔루션을 고려해야 합니다.
    • CloudTrail 사용을 고려
  • 로깅 상태 변경의 지연
    • 버킷의 로깅 상태 변경(활성화, 비활성화, 대상 버킷 변경 등)은 즉시 적용되지 않고 최대 한 시간까지 지연될 수 있습니다.
    • 이 기간 동안에는 이전 설정과 새 설정이 혼재된 상태로 로그가 생성될 수 있습니다.

5 S3 Access Logs 설정 방법 (콘솔)

  • S3 Access Logs를 AWS Management Console을 통해 설정하는 단계별 과정은 다음과 같습니다:

5.1 로그 대상 버킷 생성

  1. AWS Management Console에 로그인하고 S3 서비스로 이동합니다.
  2. "버킷 만들기" 버튼을 클릭합니다.
  3. 로그를 저장할 새 버킷의 이름을 입력합니다 (예: "my-s3-access-logs").
  4. 리전을 선택합니다 (로그를 생성할 원본 버킷과 동일한 리전이어야 합니다).
  5. 다른 설정은 기본값을 유지하고 "버킷 만들기"를 클릭합니다.

5.2 로그 대상 버킷 권한 설정

![[Pasted image 20240821234313.png]]

  1. 새로 생성한 로그 대상 버킷을 선택합니다.
  2. "Permissions" 탭으로 이동합니다.
  3. "Bucket policy" 섹션에서 클릭하고 "Edit"을 선택합니다.
  4. 다음 정책을 추가합니다 (YOUR-BUCKET-NAME을 실제 버킷 이름으로 변경)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "logging.s3.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
}
]
}

5.3 원본 버킷에 로깅 활성화

![[Pasted image 20240821234420.png]]

  1. S3 콘솔에서 로깅을 활성화할 원본 버킷을 선택합니다.
  2. "속성" 탭으로 이동합니다.
  3. "서버 액세스 로깅" 섹션을 찾아 "편집" 버튼을 클릭합니다.
  4. "서버 액세스 로깅 활성화" 체크박스를 선택합니다.
  5. "대상 버킷" 드롭다운에서 앞서 생성한 로그 대상 버킷을 선택합니다.
  6. (선택사항) "대상 접두사"에 로그 파일의 접두사를 입력합니다 (예: "logs/").
  7. "변경 사항 저장"을 클릭합니다.

5.4 로그 확인

![[Pasted image 20240821234451.png]]

  1. 몇 시간 후, 로그 대상 버킷을 확인합니다.
  2. 지정한 접두사 (또는 루트)에 로그 파일이 생성되었는지 확인합니다.
  3. 로그 파일을 다운로드하여 내용을 확인할 수 있습니다.

5.5 로깅 비활성화 (필요시)

  1. 원본 버킷의 "속성" 탭으로 이동합니다.
  2. "서버 액세스 로깅" 섹션에서 "편집"을 클릭합니다.
  3. "서버 액세스 로깅 비활성화" 체크박스를 선택합니다.
  4. "변경 사항 저장"을 클릭합니다.

참고 자료