BLOG

AWS Systems Manager의 리소스 데이터 동기화를 위한 AWS CloudFormation 리소스
작성일: 2018년 8월 6일

AWS Systems Manager의 리소스 데이터 동기화 기능을 사용하여 관리되는 인스턴스의 인벤토리 데이터를 Amazon S3 버킷에 동기화할 수 있습니다. 그러면 리소스 데이터 동기화는 새 인벤토리 데이터가 수집될 때마다 S3 버킷을 자동으로 업데이트합니다. 리소스 데이터 동기화를 사용하여 여러 AWS 계정의 인벤토리 데이터를 하나의 Amazon S3 버킷에 동기화할 수도 있으며, S3 버킷을 여러 AWS 계정의 인벤토리 데이터 레이크로 만들 수 있습니다. 그런 다음 데이터 레이크를 사용하여 고급 쿼리를 수행하고 여러 계정의 인벤토리 데이터를 분석할 수 있습니다. 리소스 데이터 동기화 구성에 대한 자세한 내용은 여기를 클릭하십시오.

AWS CloudFormation은 AWS 인프라에서 프로비저닝 및 관리를 간소화합니다. 원하는 서비스 또는 애플리케이션 아키텍처를 위한 템플릿(JSON 또는 YAML 형식 파일)을 생성하고, AWS CloudFormation에서 이러한 템플릿을 사용하여 서비스 또는 애플리케이션(“스택”이라고 함)을 빠르고 안정적으로 프로비저닝합니다.

최근 AWS CloudFormation에서 리소스 데이터 동기화를 위한 리소스가 추가되었습니다(AWS::SSM::ResourceDataSync). 이 리소스를 사용하여 하나 이상의 AWS 계정에 대해 안정적이고 반복 가능한 방법으로 리소스 데이터 동기화를 구성할 수 있습니다.

이전에는 계정에 대한 리소스 데이터 동기화 구성을 할 때마다 AWS CLI 또는 AWS Systems Manager 콘솔을 사용해야 했습니다. 동일한 계정(예: 인벤토리 데이터를 하나 이상의 Amazon S3 버킷에 동기화할 위치) 또는 여러 AWS 계정에 대해 여러 리소스 데이터 동기화를 설정해야 하는 경우 S3 버킷 세부 정보와 같은 이전 구성을 기억하고 모든 단계를 반복해야 합니다.

이제 리소스 데이터 동기화를 CloudFormation 리소스로 사용하면 간단한 YAML 또는 JSON 파일 형식으로 리소스 데이터 동기화 구성을 코드(CloudFormation 템플릿을 통해)로 관리합니다. 즉, 버전 제어를 위해 리소스 데이터 동기화 구성 템플릿을 체크인하고 프로덕션에 배포하기 전에 팀원들과 함께 검토할 수 있습니다. 나중에 템플릿을 재사용하여 수동 작업을 수행하지 않고도 하나 이상의 계정에서 리소스 데이터 동기화를 자동으로 구성/생성할 수 있습니다.

CloudFormation을 사용하여 리소스 데이터 동기화를 생성하기 전에 다음 필수 조건을 충족해야 합니다.

  • 인벤토리 데이터를 동기화할 S3 버킷이 만들어졌습니다.
  • S3 버킷이 올바른 버킷 정책으로 구성되어 AWS Systems Manager가 이 버킷에 쓸 수 있습니다.
  • KMS 키로 동기화 데이터를 암호화하려면 KMS 키의 정책이 올바른지 확인합니다.

필수 조건이 충족되면 CloudFormation을 사용하여 리소스 데이터 동기화를 생성하기 위해 아래와 같은 템플릿에 구성 세부 정보를 추가하십시오.

Description: “Basic Resource Data Sync Test”

Resources:

        BasicResourceDataSync:

      Type: “AWS::SSM::ResourceDataSync”

      Properties:

          SyncName: “Test-Resource-Data-Sync”

          BucketName: “test-s3-bucket-resource-data-sync”

          BucketRegion: “us-east-1”

          SyncFormat: “JsonSerDe”

          BucketPrefix: “test”

          KMSKeyArn: “<provide your KMS Ker ARN>

AWS CloudFormation 콘솔로 이동하여 위 템플릿과 함께 TestCFNStack 이라는 스택을 만듭니다. 그런 다음 아래 표시된 대로 스택 TestCFNStack BasicResourceDataSync라는 리소스 데이터 동기화 리소스가 “CREATE_COMPLETE” 상태에 도달했는지 확인하십시오.

스택이 “CREATE_COMPLETE” 상태에 도달하면 Test-Resource-Data-Sync라는 이름의 현재 AWS 계정의 현재 리전에 리소스 데이터 동기화가 생성됩니다. 다음과 같이 AWS Systems Manager 콘솔의 리소스 데이터 동기화로 이동하여 확인할 수 있습니다.

리소스 데이터 동기화가 생성되면 관리되는 인스턴스와 인벤토리에 대한 기본 세부정보를 동기화하기 시작합니다.(구성이 되어 있는 경우, 관리 인스턴스에서 JsonSerDe의 형식을 가진 하위 디렉토리 sync-test에 있는 us-east-1 리전의 Test-S3-Bucket 이름을 가진 S3 버킷으로 동기화합니다.) 리소스 데이터 동기화에 사용할 수 있는 유효한 형식은 JsonSerDe 한가지뿐입니다. AWS KMS 키를 사용하여 리소스 데이터 동기화를 암호화할 수도 있습니다. 해당 Amazon S3 버킷과 동일한 리전에 키를 지정해야 합니다.

리소스 데이터 동기화는 변경할 수 없는 구성 변경 사항입니다. 따라서 리소스 데이터 동기화 리소스가 포함된 CloudFormation 스택을 업데이트하려면 다른 SyncName을 사용해야 합니다. 그러면 업데이트된 템플릿으로 리소스 데이터 동기화가 생성된 다음 이전 리소스 데이터 동기화를 삭제하여 모든 종속성을 그대로 유지합니다.

 

결론

이 글에서는 AWS CloudFormation에 새롭게 추가된 리소스인 AWS::SSM::ResourceDataSync를 사용하여 AWS CloudFormation 템플릿으로 리소스 데이터 동기화를 생성하는 방법에 대해 설명합니다. 이 새로운 기능 덕분에 리소스 데이터 동기화를 빠르고 안정적이며 반복 가능하게 구성하고 유지할 수 있게 되었습니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/mt/aws-cloudformation-resource-for-resource-data-sync-in-aws-systems-manager/

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