액세스 로그로 객체 스토리지 버킷 요청 추적
액세스 로깅은 Amazon Lightsail 객체 스토리지 서비스의 버킷에 대한 요청에 대한 자세한 기록을 제공합니다. 이 정보에는 요청 유형, 요청에 지정된 리소스, 요청을 처리한 날짜 및 시간 등이 포함됩니다. 액세스 로그는 많은 애플리케이션에 유용합니다. 예를 들어 액세스 로그 정보는 보안 및 액세스 감사에 유용할 수 있습니다. 또한 고객 기반에 대해 알아보는 데 도움이 될 수 있습니다.
목차
로그 전송을 활성화하려면 필요한 사항이 무엇입니까?
로그 전송을 활성화하기 전에 다음 사항을 고려하십시오. 자세한 내용은 버킷 액세스 로깅 활성화를 참조하세요.
-
로그에 대한 대상 버킷을 식별합니다. 이 버킷은 Lightsail가 액세스 로그를 객체로 저장하려는 위치입니다. 원본 및 대상 버킷 모두 동일한 AWS 리전에 있어야 하며 동일한 계정에서 소유하고 있어야 합니다.
소스 버킷 자체를 포함하여 소스 버킷과 동일한 리전에 있는 자신의 고유 버킷에 로그를 전달할 수 있습니다. 그러나 로그 관리를 간소화하기 위해서는 액세스 로그를 다른 버킷에 저장하는 것이 좋습니다.
소스 버킷과 대상 버킷이 동일한 버킷이면 버킷에 작성되는 로그에 대해 추가 로그가 생성됩니다. 이러한 방식은 스토리지 사용이 약간 증가할 수 있으므로 이상적이지 않을 수 있습니다. 또한 로그에 대한 추가 로그로 인해 원하는 로그를 찾기가 힘들어질 수 있습니다. 소스 버킷에 액세스 로그를 저장하도록 선택한 경우 객체 이름이 공통 문자열로 시작하고 로그 객체를 더 쉽게 식별할 수 있도록 로그 객체 키에 대한 접두사를 지정하는 것이 좋습니다. 키 접두사는 여러 버킷이 동일한 대상 버킷에 로깅할 때 원본 버킷을 서로 구별하는 데 유용합니다.
-
(선택 사항) 로그 객체 키에 대한 접두사를 식별합니다. 접두사를 사용하면 더 쉽게 로그 객체를 구분할 수 있습니다. 예를 들어 접두사 값을
logs/
로 지정할 경우 Lightsail가 만드는 각 로그 객체의 키는logs/
접두사로 시작합니다. 후행 슬래시/
는 접두사의 끝을 나타내는 데 필요합니다. 다음은logs/
접두사가 있는 로그 객체 키의 예입니다.logs/2021-11-31-21-32-16-E568B2907131C0C0
로그 객체 키 형식
Lightsail는 대상 버킷에 업로드한 로그 객체에 대해 다음과 같은 객체 키 형식을 사용합니다.
TargetPrefix/YYYY-mm-DD-HH-MM-SS-UniqueString
키에서 YYYY
, mm
, DD
, HH
, MM
및 SS
는 각각 로그 파일이 전송된 연도와 월, 일, 시, 분, 초에 대한 숫자를 나타냅니다. 이러한 날짜 및 시간은 협정 세계시(UTC)로 표시됩니다.
로그 파일에는 해당 파일이 전송된 시간 이전에 기록된 레코드가 포함될 수 있습니다. 특정 기간의 모든 로그 레코드가 전송되었는지 여부는 확인할 수 없습니다.
키의 UniqueString
구성 요소는 파일의 덮어쓰기를 방지할 목적으로 사용되는 것으로, 특별한 의미가 없으므로 로그 처리 소프트웨어가 무시해도 됩니다.
로그 전송 방법
Lightsail는 주기적으로 액세스 로그 레코드를 수집하여 로그 파일에 레코드를 통합한 다음 대상 버킷의 로그 객체로 로그 파일을 업로드합니다. 동일한 대상 버킷에 전달하는 여러 소스 버킷에 대한 로깅을 활성화하면 대상 버킷은 해당 모든 소스 버킷에 대한 액세스 로그를 갖게 됩니다. 그러나 각 로그 객체는 특정 원본 버킷의 액세스 로그 레코드만 보고합니다.
최선의 액세스 로그 전송
액세스 로그 레코드는 최대한 전송하겠지만 항상 모든 레코드가 전송된다고 보장할 수는 없습니다. 버킷에 대해 적절히 로깅이 구성된 대부분의 요청은 로그 레코드가 전송됩니다. 대부분 기록된 지 몇 시간 내로 로그 레코드가 전송되지만 더 자주 전송될 수 있습니다.
모든 액세스 로깅이 제때 전송될 것이라고 보장할 수는 없습니다. 특정 요청에 대한 로그 레코드는 요청이 실제로 처리된 후에 오랫동안 전송되거나 전혀 전송되지 않을 수도 있습니다. 액세스 로그의 목적은 버킷에 대한 트래픽의 특성에 대한 아이디어를 제공하는 것입니다. 실제로 로그 레코드가 누락되는 경우는 매우 드물지만 액세스 로깅 자체가 모든 요청을 완벽하게 기록할 목적으로 제공되는 것이 아닙니다.
버킷 로깅 상태 변경 시 일정 기간에 걸쳐 단계적으로 반영됨
버킷의 로깅 상태를 변경한 후 실제 로그 파일의 전송에 반영되려면 어느 정도 시간이 지나야 합니다. 예를 들어, 버킷에 대해 로깅을 사용 설정할 경우 이후 1시간 동안 이루어진 요청 중 일부는 기록되지만 일부는 기록되지 않을 수도 있습니다. 버킷 A에서 버킷 B로 로깅의 대상 버킷을 변경할 경우 이후 1시간 동안 일부 로그는 버킷 A로 계속 전송될 수 있지만, 다른 로그는 새로운 대상 버킷 B로 전송될 수 있습니다. 그러나 추가 작업을 수행하지 않아도 어느 정도 기간이 지나면 새 설정에 따라 모든 로그가 전송됩니다.