BLOG

[실습 예제] Amazon S3 SRR을 사용하여 Log 집계하기
작성일: 2020년 2월 13일

특정 위치에 있는 로그들을 집계하면 Security Information and Event Management(SIEM)와 같이 중요한 작업이 간소화됩니다. 더 많은 고객이 multi-account 전략을 채택함으로써 central logging 은 운영 효율성을 높이는 핵심 요소가 됩니다. 이러한 이점을 고려하여 엔터프라이즈 고객들은 종종 타사의 제품(도구)을 사용해 로그 집계 솔루션을 구축합니다. Amazon S3 SRR(동일 리전 복제)사용자는 해당 기능을 로그 집계를 포함한 다른 여러 곳에 사용할 수 있습니다. S3 SSR은 AWS 리전 내 버킷간의 데이터를 자동으로 복제하는 S3 Replication의 기능입니다. 특정한 버킷 또는 접두사에 업로드된 새로운 객체를 복제하도록 SSR을 구성할 수 있습니다. SRR은 새로운 객체를 원하는 대상으로 자가복제할 수 있습니다. 또한 고객은 SSR을 사용하여 하나의 계정 또는 여러 개의 계정에서 소유한 다른 S3 버킷의 로그를 중앙 버킷으로 집계 할 수 있습니다.

 

오늘은 S3 SRR을 사용하여 다중 계정 환경에서 호스팅되는 VPC의 VPC Flow Log를 수집해 로그 집계를 시연해보겠습니다. 이 설정은 이 튜토리얼의 목적상 AWS 계정 A와 계정 B, 두 개의 AWS 계정을 사용하지만 단일 계정 시나리오에서는 동일한 원칙이 데이터 집계에 적용됩니다. 이 설정에서 VPC Flow Logs를 생성하는 계정을 계정 A라고 하고 집계된 로그 버킷을 호스팅하는 계정을 계정 B라고 합니다.

 

시작 전 이것부터 챙겨주세요.

우선 더 자세히 설명 드리기 전에 S3 Same-Region Replication 전제조건을 먼저 확인해 보겠습니다.

 

 

Account A 전제조건

S3 버킷에 로그를 게시하도록 VPC Flow를 설정할 수 있습니다. 기존 S3 버킷을 사용하거나 새로운 S3 버킷을 생성할 수도 있습니다. 자세한 내용은 How do I create S3 buckets를 참고 부탁 드립니다. 저는 “Source-bucket-for-replication” 이라는 S3 버킷을 사용하여 설명하도록 하겠습니다

  1. How Do I Enable or Suspend Versioning for an S3 Bucket 페이지에 나와있는 단계를 참고하여 S3 버킷의 버저관리를 활성화합니다.
  2. 버킷이 준비 되었다면, Publishing Flow Logs to S3페이지의 단계를 따르십시오. 그리고는 Flow log 대상으로 복제할 소스 버킷을 선택합니다.
    • 참고: VPC 흐름 로그를 활성화하면 delivery.logs.amazon.com 에 로그를 버킷에 게시할 수 있도록 버킷 정책이 추가됩니다.

 

Account B 전제조건

  1. Account B에 새로운 S3버킷을 생성하십시오. 새로 생성된 S3버킷은 account A의 VPC Flow 로그와 계정 B의 VPC Flow를 보유하는 중앙 버킷 입니다. 저는 이것을 “destination-bucket-for-replication” 이라 이름을 정해보겠습니다.
  2. 위의 단계에 따라 S3 버킷에서 버전관리를 활성화 하십시오
  3. Account B에서 VPC Flow 로그를 활성화합니다. 그 후 Flow 로그 대상으로 복제할 대상 버킷을 선택해 줍니다.

 

S3 Same-Region 복제 설정하기

S3 SSR을 설정하기 위해 다음 단계를 진행합니다.

 

In Account A

  1. AWS 관리 콘솔에서 “resource-bucket-for-replication” 버킷으로 이동한 후 권한(Permission) 탭에서 버킷 정책을 확인합니다. 첨부된 버킷 정책은 버킷을 VPC flow logs 대상으로 지정한 결과 값입니다.
  1. 관리(Management) 탭에서 Replication(복제)옵션을 선텍 하십시오. 새로운 복제 룰을 추가하고자 한다면 Add Rule(룰 추가)를 선택합니다.

 

  1. 복제 규칙 대화박스에서 전체 버킷(Entire Bucket) 옵션을 선택하고 Next를 클릭하십시오. 전체 버킷 옵션을 선택하면 버킷에 업로드 된 객체가 모두 복제됩니다.

Note: Prefix or tag(접두사 또는 태그) 옵션을 통하여 동일한 접두사 또는 객체로 복제할 수 있습니다.

 

  1. 대상의 버킷에서 Select Bucket 버튼을 드롭 다운하고 Buckets in another account 옵션을 클릭합니다. 그리고 AWS 계정 및 대상 버킷의 이름을 입력 하고 Save(저장) 버튼을 누르십시오.

  1. 버켓 객체에 대한 적절한 Destination options 을 선택하고 Next 버튼을 클릭하십시오.

 

  1. IAM role 에서 기존의 역할을 선택할 수도 있고 “source-bucket-for-replication” 버킷을 통하여 “destination-bucket-for-replication” 버킷으로 객체를 복제하기 위해 S3에 권한을 제공하는 AIM role 을 생성할 수도 있습니다. 이 작업을 수행하기 위해서는 “Creat new role”을 선택하고 새로운 “Rule name”을 지정해주어야 합니다.

 

  1. Copy 버튼을 눌러 생성된 버킷 정책을 복사하십시오. 이 버킷 정책은 account B의 “destination-bucket-for-replication” 버킷에 추가해야 합니다. 다음 단계로 Next 버튼을 클릭한 뒤에 다음 페이지에서 보여주는 정보들을 확인하고 Save 버튼을 클릭하십시오.

 

In Account B

  1. S3 콘솔에서 destination-bucket-for-replication 버킷을 선택하십시오
  2. Permission 탭으로 이동하여 Bucket Policy를 선택하십시오. Account A 설정 5단계에서 버킷 정책을 붙여 넣고 저장을 클릭합니다.
  3. Management 탭에서 Replication를 선택하고 드롭 다운 하십시오. 아래의 참고 사진을 보고Receive Objects 를 찾아 클릭해 줍니다.

 

  1. Receive Objects 대화 상자에서 계정 ID를 입력하신 뒤 Done 버튼을 누르십시오

 

  1. 이 작업은 “destination-bucket-for-replication”의 버킷 정책을 업데이트 하고 버킷 계정에 액세스 하여 객체를 복제합니다.
  2. 버킷 Overview 탭으로 이동하여 버킷에 소스 계정이 표기되어 나타나는지 확인하십시오. 모든 계정의 로그는 “AWSLogs”폴더에 저장되어 있습니다.

 

AWS CLI 와 SDK 지원

AWS CLI와 SDK를 사용하여 S3 복제를 해야 하는 경우 step-by-step 튜토리얼을 참고하십시오.

 

삭제하기

VPC Flow log 및 SRR configuration을 삭제 해야 하는 경우 다음의 단계를 수행하십시오.

  • Account A와 B 에서 활성화된 모든 VPC Flow 로그를 삭제하십시오. Account A의 VPC Flow log 는 다음 예시를 참고하십시오. Account B도 같은 방법으로 진행하십시오.

  • Account A에서 SRR rule을 삭제할 때는 Management 탭으로 이동하신 후에 “source-bucket-for-replication” 을 선택하십시오. Replication 버튼을 클릭 한 뒤에, rule-to-replicate-VPC-Flow-Logs 복제 규칙과 규칙을 삭제합니다.

위의 예시는 규칙을 삭제하지만 데이터는 계속 유지합니다. 따라서 각 버킷의 Overview 탭으로 이동하여 원치 않는 비용이 발생하지 않도록 데이터를 삭제해 주어야 합니다.

 

글을 마치며..

오늘 포스팅으론 로그 집계에 S3 SRR을 어떻게 사용하는 지에 대해 다루어 보았습니다. 같은 AWS region 내 S3버킷에 업로드된 S3 객체의 동일한 사본을 만들 수 있는 S3 SRR 사용이 가능하며, 이 기능을 통해 복제된 데이터 처리, 개발환경과 테스트간의 실시간 복제 구성을 포함한 여러 가지 다른 활용이 가능합니다. SRR은 객체의 사본과 같은 AWS region 내에서 보관하여 데이터 주권 및 규정 요구사항을 해결하는 데 도움을 줄 수 있습니다. 보다 자세한 내용이 궁금하시다면 S3 Replication documentation을 참고해 주시기 바랍니다.

 


원문 URL: https://aws.amazon.com/ko/blogs/storage/aggregating-logs-with-s3-same-region-replication/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달드리도록 하겠습니다.