BLOG
여러분은 현재 AWS CloudTrail에서 제공하고 있는 모든 기능을 잘 활용하고 계신가요? 오늘 메가존 테크블로그에선 CloudTrail을 최대한 활용할 수 있도록 도움을 드리고자 사용에 관련된 모범 사례 및 팁을 알려드리겠습니다.
해당 서비스는 AWS 계정을 생성시 활성화되며 지속적인 로깅 및 기록을 위한 추적을 쉽게 설정할 수 있습니다. 사용자들이 CloudTrail에 대해 자주 묻는 질문에 대한 답변을 통해 이 기능에 대해 설명해드리겠습니다.
CloudTrail이 무엇이죠?
CloudTrail은 AWS 계정의 관리, 규정 준수 및 운영 및 위험 감사를 지원하는 AWS 서비스입니다. CloudTrail 로그 및 CloudTrail 콘솔에 기록된 정보를 사용하여 사용자, 역할 또는 AWS 서비스에서 수행한 작업에 대한 정보를 검토할 수 있습니다. 각 작업은 AWS Management Console 및 AWS CLI, AWS SDK 및 API 에서 수행한 작업을 포함하여 CloudTrail의 이벤트로 기록됩니다 .
CloudTrail은 리전에서 어떻게 작동하나요?
CloudTrail 작업시 AWS 리전을 염두에 두셔야 합니다. CloudTrail은 글로벌 서비스 이벤트가 아닌 한 항상 이벤트가 발생하는 AWS 리전에서 이벤트를 기록합니다.
작업을 수행하기 위해 콘솔에 로그인하는 경우 로그인 이벤트는 글로벌 서비스 이벤트로서 미국 동부(버지니아 북부)의 다중 리전 트레일에 기록되거나 글로벌 서비스 이벤트가 포함된 모든 리전의 단일 리전 트레일에 기록됩니다. 그러나 글로벌 서비스 이벤트 없이 미국 동부 (Ohio)에서의 이벤트만 기록하는 트레일을 작성하면 로그인 이벤트가 기록되지 않습니다.
CloudTrail을 사용하려면 어떻게 해야하죠?
우선 트레일을 만들어주세요! CloudTrail 콘솔에서 CloudTrail이 기본적으로 활성화되어 있지만 이벤트 기록은 가장 최근 90일 동안의 관리 이벤트 활동에만 적용됩니다. 진행중인 이벤트 기록을 유지하기 위해 추적을 만들지 않는 한, 그 전에 일어난 일은 더 이상 사용할 수 없습니다.
첫 번째 트레일을 만들 때는 모든 리전의 관리 이벤트를 기록하는 트레일을 만드는 것이 좋습니다. 이유는 다음과 같습니다.
- 간단합니다. 모든 리전에서 관리 이벤트를 기록하는 단일 트레일은 시간이 지남에 따라 유지 관리하기가 더 쉽습니다. 예를 들어, LogsAllManagementEventsInAllRegions 라는 추적을 작성하면 어떤 추적 이벤트가 기록되지 않습니까? 사용 방법이나 AWS 변경 방법에 관계없이 범위는 동일하게 유지됩니다. 시간이 지남에 따라 새로운 AWS 리전이 추가되고, 둘 이상의 AWS 리전에서 작업하더라도 그 흔적은 여전히 모든 AWS 리전의 모든 관리 이벤트를 기록합니다. 따라서 CloudTrail이 기록하는 모든 관리 이벤트에 대한 완전한 기록을 갖을 수 있습니다.
- 예상치 못한 일이 없습니다. 글로벌 서비스 이벤트는 다른 모든 관리 이벤트와 함께 로그에 포함됩니다. 단일 AWS 리전에서 추적을 생성하면 해당 리전에서만 이벤트가 기록되며 글로벌 서비스 이벤트가 해당 리전에서 반드시 기록될 필요는 없습니다.
- 무엇에 지불하고 있는지 알 수 있습니다. 이것이 여러분의 첫 트레일이라면 모든 AWS 리전의 모든 관리 이벤트를 기록하는 경우 무료입니다. 그런 다음 비즈니스 요구 사항을 충족하기 위해 추가 내역을 만듭니다. 예를 들어 보안 팀이 분석할 수 있도록 모든 관리 이벤트를 별도의 S3 버킷에 복사하는 관리 이벤트에 대한 두 번째 추적을 추가하면 두 번째 추적에 대한 요금이 부과됩니다. Amazon S3 버킷 또는 AWS Lambda 함수에 대한 데이터 이벤트를 기록하기 위해 추적을 추가하면 데이터 이벤트를 캡처하는 첫 번째 추적인 경우에도 데이터 이벤트를 캡처하는 추적에 요금이 부과되므로 비용이 청구됩니다. CloudTrail 비용에 대한 자세한 내용은 AWS CloudTrail 요금을 참고해 주십시오..
CloudTrail 비용은 어떻게 관리하죠?
일반적으로 많이 물으시는 질문입니다. 그 시작 방법은 다음과 같습니다.
- AWS CloudTrail 요금 문서를 읽어주십시오. 모든 CloudTrail 요금 및 비용 정보의 출처가 나와있습니다. 예제는 CloudTrail 사용시 잠재적 비용을 이해하는데 도움이 됩니다.
- AWS 사용량(CloudTrail 포함), 예산 및 비용을 모니터링할 수 있도록 AWS Billing and Cost Management을 사용하는 것을 고려해 보세요. 예를 들어 AWS 예산으로 CloudTrail 비용을 관리 할 수 있습니다.
트레일을 만들었는데, 그 다음은 뭘 해야하죠?
두 가지 중요한 고려 사항이 있습니다. 누가 로그 파일에 액세스할 지, 로그파일을 어떻게 활용할 지에 대해 고민해주신 다음, 아래의 단계를 따라주십시오.
- 적절한 액세스 권한으로 S3 버킷을 설정하십시오. CloudTrail 콘솔에서 추적을 생성하고 새 버킷을 생성하도록 선택하면 버킷 정책이 자동으로 생성됩니다. 자세한 내용은 CloudTrail 용 Amazon S3 버킷 정책을 참고하십시오. 해당 정보에 액세스하려는 사용자 만 로그 파일을 사용할 수 있는지 확인하십시오. 다음과 같은 경우에 특히 그렇습니다.
- 둘 이상의 AWS 계정에 대한 로그 파일을 수신하도록 단일 S3 버킷을 설정하십시오. 자세한 정보는 여러 계정에서 CloudTrail 로그 파일 받기를 참고하십시오.
- 다른 AWS 계정의 누군가와 로그 파일 데이터를 공유하십시오. 자세한 내용은 AWS 계정간에 CloudTrail 로그 파일 공유를 참고하십시오.
- 로그 파일을 검토하고 내용에 익숙해 지시기 바랍니다.
- 개별 로그 파일을 다운로드하거나 브라우저에서 직접 검토하십시오(로그 파일은 JSON 형식임).
- 로그 파일의 구성 방법은 CloudTrail 로그 이벤트 참조를 살펴봐주십시오.
- CloudTrail 용 AWS 서비스 주제에서 링크된 서비스 주제를 확인하여 기록된 서비스를 알아보고 해당 서비스에 대한 로그 항목의 예를 살펴보십시오.
로그 파일과 그 내용을 이해하면 AWS 계정 활동에 익숙해지고 특이한 패턴을 발견하는 데 도움이 됩니다.
시간이 지남에 따라 데이터가 많은 로그 파일이 많이 생깁니다. CloudTrail은 상당한 양의 데이터를 제공합니다. CloudTrail이 수집 한 데이터를 최대한 활용하고 해당 데이터를 실행 가능하게 만들려면 Amazon Athena 의 쿼리 기능을 활용할 수 있습니다. 이 기능은 SQL 기술을 가진 사람이라면 누구나 대규모 분석을 쉽게 수행할 수 있도록 하는 대화식 서버리스 쿼리 서비스입니다. 대규모의 데이터 세트 및 로그를 모니터링하고 특정 활동이 발생하면 알려주도록 Amazon CloudWatch 를 설정할 수 있습니다. 자세한 내용은 CloudTrail 로그와 AWS 서비스 통합을 확인해 주십시오.
각 계정에 대한 내역을 생성하는 방법 말고 여러 AWS 계정에 대한 이벤트를 기록하는 더 좋은 방법이 있을까요?
네, 있습니다! 여러 AWS 계정을 관리하기 위해 AWS Organizations에서 조직을 만들 수 있습니다. 그런 다음 모든 회원 계정에 자동으로 복제되는 단일 내역 구성인 조직 내역을 만듭니다. 조직의 모든 계정에 대한 이벤트를 기록하므로 모든 조직 계정의 활동을 기록하고 분석 할 수 있습니다.
조직의 마스터 계정만 조직 내역을 만들거나 수정할 수 있습니다. 이를 통해 조직 추적은 해당 조직에 대해 구성된 모든 로그 정보를 캡처합니다. 구성원 계정으로는 조직 추적 구성을 수정, 활성화 또는 비활성화할 수 없습니다. 자세한 정보는 조직의 추적 작성을 참고해 주십시오.
원하는 특정 이벤트를 찾을 수 없는데, 왜 그런거죠?
다중 리전 추적의 로그 파일에는 모든 리전의 이벤트가 포함되어 있지만 이벤트 기록의 이벤트는 해당 로그가 기록된 AWS 리전에만 해당됩니다.
찾고자 하는 이벤트가 표시되지 않으면 셀렉터에 로그인한 AWS 리전을 다시 확인해 주십시오. 필요한 경우 설정을 이벤트가 발생한 AWS 리전으로 변경해 주십시오.
또한 콘솔에는 AWS 계정에서 최대 90일 전에 발생한 이벤트만 표시됩니다. 오래된 이벤트를 찾고 계시다면 아쉽게도 이는 볼 수 없습니다. 이러한 이유로 이벤트를 S3 버킷에 기록하는 트레일을 보유하는 것이 중요합니다. 보관하지 않기로 결정할 때까지 해당 데이터는 그대로 유지됩니다.
CloudTrail 작업에 대한 모범 사례가 있나요?
CloudTrail 로그에 익숙해 지십시오. CloudTrail 로그 파일 데이터 및 구조에 대한 일반적인 지식과 이해를 통해 발생할 수있는 모든 문제를 파악하고 해결할 수 있습니다.
대부분의 상황에서 피해야 할 사항은 다음과 같습니다.
단일 AWS 리전의 이벤트를 기록하는 추적을 생성하지 않습니다.
CloudTrail이 이를 지원하긴 하지만 몇 가지 이유로 이러한 종류의 추적을 생성하지 않는 것이 좋습니다.
일부 AWS 서비스는 “글로벌”(작업은 로컬로 호출할 수 있지만 다른 AWS 리전에서 실행됨)로 표시되지만 글로벌 서비스 이벤트는 CloudTrail에 기록되지 않습니다. 모든 AWS 리전에서 이벤트를 기록하는 트레일은 발생하는 AWS 리전과 상관없이 AWS 계정에 대해 기록된 모든 이벤트에 대한 데이터를 보여줍니다.
예를 들어 Organizations는 글로벌 서비스이지만 미국 동부(버지니아 북부) 리전에서만 이벤트를 기록합니다. 미국 동부(Ohio)에서만 이벤트를 기록하는 추적을 생성하면 S3 버킷으로 전달된 로그 파일에 이 서비스에 대한 이벤트가 표시되지 않습니다.
또한 단일 AWS 리전에서 이벤트를 기록하는 트레일은 비용 관리와 관련하여 혼동될 수 있습니다. 기록된 이벤트의 첫 번째 인스턴스만 무료입니다. 단일 AWS 리전에서 이벤트를 기록하는 트레일이 있고 다중 리전 트레일을 생성하는 경우 두 번째 및 후속 트레일에 비용이 발생합니다. 자세한 내용은 AWS CloudTrail 요금을 참고해 주십시오.
추적을 만들고 관리하기 위해 create-subscription및 update-subscription명령을 사용하지 말아 주십시오.
create-subscriptionor update-subscription명령을 사용하지 않는 것이 좋습니다. 이 명령은 더 이상 사용되지 않는 경로에 있으며 향후 CLI 릴리스에서 제거될 수 있습니다. 대신 create-trail및 update-trail명령을 사용하십시오. 프로그래밍 방식으로 추적을 생성하는 경우 AWS CloudFormation 템플릿을 사용해 주시기 바랍니다.
추가로 더 알아야 될 사항이 있나요?
CloudTrail에 대해 의견이나 요청사항을 남기고 싶다면 다음의 자료를 통해서 AWS측에 연락 하실 수 있습니다.
- AWS CloudTrail 포럼
- AWS Contact Us 양식
- AWS CloudTrail 사용 설명서의 모든 페이지에있는 피드백 버튼
- GitHub에서 요청 풀
원문 URL: https://aws.amazon.com/ko/blogs/mt/maximizing-features-and-functionality-in-aws-cloudtrail/
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.