Amazon Web Services 한국 블로그

AWS Config, 서울 리전 출시!

AWS Config를 이제 Asia Pacific (Seoul) 리전에서 사용 가능합니다. AWS Config는 AWS 자원 인벤토리, 구성 기록, 구성 변경 알림을 제공하여 보안 및 거버넌스를 실현하는 관리형 서비스입니다.

아래 글은 2014년 11월 AWS Config 서비스를 처음 소개하는 Track AWS Resource Configurations With AWS Config의 한국어 번역입니다.

인프라의 동적인 변경이 가능하다는 것은 클라우드에서 가장 멋진 기능 중 하나입니다. 클라우드에 있는 자원은 단 몇 분만에 자원 구성·추가·설정·사용·분리 및 삭제할 수 있습니다. 이러한 다양한 변화들은 관리자가 직접 하거나, AWS CloudFormation 혹은 Auto Scaling을 통해 자동으로 일어나기도 합니다. 클라우드 자원 자체의 연결 방법 및 설정 등 기타 속성은 시간이 지나면서 변화하고 있습니다.

이러한 변경이 발생했을 때, 회사의 인프라 관리자는 클라우드에서 자산 관리 · 재고 관리 · 변경 관리 · 관리 구조 등의 영역에서 새로운 도전에 직면하고 있습니다. 인프라 관리자는 언제 어느 구성에서 어떤 리소스가 변경되었으며, 그 변경이 다른 자원에 어떤 영향을 주었는지를 확인할 필요가 있습니다. 이러한 변화는 때때로 예기치 않은 구성 변경이나 시스템 장애 또는 보안 사고에 기인한 것일 수도 있습니다. 변경이 일어난 원인에 관계없이 올바른 데이터에 접근하는 것은 향후 깊이 있는 데이터 기반 분석을 가능하게합니다.

기존 인프라의 구성 관리 도구는 리소스들이 자주 변경되지 않는 예전에 만들어졌습니다. 이 도구들은 비싸고, 복잡하고, 관리자가 원하는 부분을 직접 만들어야 했습니다.

AWS Config 서비스 소개
이러한 고객들의 요구를 해결하기 위해 AWS Config를 제공합니다. 여러분의 AWS 자원들의 초기 상태와 관련성을 확인 및 생성 · 삭제 · 속성 변경 내용 추적하고, 이들 데이터를 분석하고 시각화하는 도구입니다.

AWS Config는 단 두번의 클릭으로 시작할 수 있습니다! 사용을 시작하면 Config는 현재 구성과 모든 변경을 감지합니다. 구성 데이터는 AWS 관리 콘솔에서 타임 라인으로 볼 수 있습니다. AWS Configs는 구성 변경이 일어나면, 선택한 Amazon Simple Notification Service (SNS) 토픽으로 전달 되고, 6시간마다 Amazon Simple Storage Service (S3) 버킷에 스냅샷을 저장합니다. 또한, 직접 만든 도구 및 파트너가 제공하는 도구를 이용하여 수집된 데이터를 분석 할 수 있습니다.

AWS Config는 AWS 자원 간의 관련성을 해석하고 추적합니다. EBS 볼륨은 EC2 인스턴스에 탑재되며, 인스턴스는 보안 그룹 Elastic IP Addresses, VPC, Elastic Network Interfaces 등과 연결되어 있습니다.

AWS Config를 이용하면 모든 AWS 자원을 시각화 할 수 있습니다. 시계열 변경 사항을 모니터링하고, 자원 구성이 일어난 변경 기록을 참고할 수 있습니다. 각 자원 사이의 연결을 확인하거나, 특정 자원의 수정 사항이 관련 자원에 어떤 영향을 미쳤는지를 확인 할 수 있습니다. AWS Config는 정기적으로 구성 및 자원 변경이 일어난 환경에서 유용한 정보를 제공합니다!

모든 AWS 자원에 대해 현재 회사 조직의 규정 및 정책에 맞는 것인지도 확인 할 수 있습니다. 예를 들어, 정식 서비스 환경에서 VPC로 구성되지 않는 자원이 있는지 확인한다던지, 지난 2주 동안 특정 EIP 주소가 연결된 인스턴스를 식별하거나, 특정 날짜와 시간에서 자원 상태를 알 수 있습니다.

AWS Config 사용해 보기
우선 AWS Config는 각 계정 및 리전 마다 활성화 해야 합니다. AWS 관리 콘솔, AWS CLI 및 API를 사용해서 시작할 수 있습니다.

우선 자신의 계정에서 특정 리전을 선택하고 Config를 활성화합니다. 사용할 SNS 토픽과 S3 버킷은 각각 새로 만들거나 기존에 있는 것을 사용하거나 적절한 권한이 설정된 다른 계정을 것을 사용할 수 있습니다.

AWS Config에 자신의 AWS 자원에 접근 할 수 있도록 IAM 역할(Role)을 할당해야합니다.

S3 버킷에 데이터가 저장되기 시작하면, 변경 사항을 SNS 토픽으로 보냅니다. 버킷에는 아래와 같은 방식으로 저장합니다.

Config를 이용하여 직접 자신의 운영 도구를 구축하는 경우를 제외하고 위의 버킷 데이터를 볼 필요는 없습니다.  (데이터 구조의 상세 내용을 알고 싶다면 아래의 Config 데이터 내용을 참조 하십시오). 대신 Config 콘솔이나 타사 도구를  사용하여,  자원을 선택하고 구성 변경의 타임 라인을 확인 할 수 있습니다.

파트너 지원
AWS Partner Network (APN)의 다양한 파트너들이   AWS Config 를 통해 다양한 분석 도구를 제공 합니다. 아래에 주요 파트너 목록입니다.

  1. 2nd Watch
  2. CloudCheckr
  3. CloudNexa
  4. Evident.IO
  5. Red Hat Cloud Forms
  6. RedSeal Networks
  7. Splunk

(역자 주: 자세한 파트너 목록이나 소개는 Track AWS Resource Configurations With AWS Config를 참고하십시오.)

AWS Config Data 내부 구조 (개발자용)
이제 Config에 의해 생성되는 데이터의 내용은 살펴 보겠습니다. 아래는 하나의 EC2 인스턴스 구성 스냅 샷 데이터입니다. 이 데이터는 인스턴스 ID, 할당 된 태그 목록 및  보안 그룹과 EBS 볼륨이 포함되어 있습니다.

JavaScript
{
  "configurationItemVersion" : "1.0",
  "configurationItemCaptureTime":"2014-10-28T02:30:36.989Z",
  "configurationStateId":2,
  "relatedEvents":["f8cdf490-3ddc-41ac-9cfd-9e1268dfba93"],

  "awsAccountId":"448164394201",
  "configurationItemStatus":"OK",
  "resourceId":"i-7053641e",
  "ARN":"arn:aws:ec2:us-east-1:348414629041:instance/i-7053641e",
  "awsRegion":"us-east-1",
  "availabilityZone":"us-east-1b",
  "configurationStateMd5Hash":"6ae267fafa03d87827137290c8b303e2",
  "resourceType":"AWS::EC2::Instance",
  "resourceCreationTime":"2013-04-26T19:36:06.000Z",

  "tags":{
   "UserTagDemo":"TemporaryTag",
   "Name":"RoadTripBlogServer"
  },

  "relationships":[
  {
    "resourceId":"sg-6e371c06",
    "resourceType":"AWS::EC2::SecurityGroup",
    "name":"Is associated with SecurityGroup"
  },

  {
    "resourceId":"vol-357a5f6c",
    "resourceType":"AWS::EC2::Volume",
    "name":"Is attached to Volume"
  }
  ]
}

Config 변경을 감지 할 때마다 SNS 토픽에 알림을 보냅니다. 알림 내용은 아래 정보를 포함합니다.

JavaScript
{
  "configurationItemDiff":{
    "changedProperties":{
    },
    "changeType":"CREATE"
  },

  "configurationItem":{
    "configurationItemVersion":"1.0",
    "configurationItemCaptureTime":"2014-11-04T02:28:33.146Z",
    "configurationStateId":1,
    "relatedEvents":[
       "f8cdf490-3ddc-41ac-9cfd-9e1268dfba93"
    ],

    "awsAccountId":"448164394201",
    "configurationItemStatus":"ResourceDiscovered",
    "resourceId":"vol-02fecb4d",
    "ARN":"arn:aws:ec2:us-east-1:348414629041:volume/vol-02fecb4d",
    "awsRegion":"us-east-1",
    "availabilityZone":"us-east-1a",
    "configurationStateMd5Hash":"16772ac8f8ccc7ed493a878f3bd88f8c",
    "resourceType":"AWS::EC2::Volume",
    "resourceCreationTime":"2014-11-04T02:25:10.281Z",
    "tags":{ },
    "relationships":[ ],

   "configuration":{
      "volumeId":"vol-02fecb4d",
      "size":2,
      "snapshotId":"",
      "availabilityZone":"us-east-1a",
      "state":"available",
      "createTime":"2014-11-04T02:25:10.281Z",
      "attachments":[ ],
      "tags":[ ],
      "volumeType":"gp2",
      "iops":6,
      "encrypted":false
    }
  },
  "notificationCreationTime":"2014-11-04T02:28:33.345Z",
  "messageType":"ConfigurationItemChangeNotification",
  "recordVersion":"1.2"
}

AWS Config가 현재 구성의 스냅샷을 구성 했을 때도 알림을 보냅니다. .

AWS Config APIs
Config는 자원 구성 정보를 수집하기 위한 2 개의 API를 제공합니다:

  • GetResourceConfigHistory – 시간 범위와 자원을 사용하여 구성 정보 검색하기
  • DeliverConfigSnapshot – 자원 스냅 샷을 만들고 S3에 보관하기

가격 및 사용 가능 리전
AWS Config는 2014년 11월 미리보기로 출시하여, 2015년 4월 9개 리전에 출시하였으며, 2016년 3월 부터 서울 리전에서 사용 가능합니다.

Config는 AWS 계정에서 지원되는 자원의 수량 및 구성 변경 횟수 (구성 항목)에 따라 과금됩니다. 초기 비용이 필요하지 않으며 언제든지 이용을 정지 할 수 있습니다.

1000 개의 구성 항목에 대해 매월 3 달러가 부과됩니다. 구성 내역 및 구성 스냅 샷의 스토리지 비용은 S3의 표준 요금이 적용됩니다. 또한 SNS를 알림을 이용할 경우, SNS 표준 요금이 부과됩니다.

만약 10000 개의 구성 항목이 매월 만들어지는 경우, 아마도 S3의 요금은 매월 기준 0.13 달러 이하가 될 것입니다. 매월 기준 100 만회의 SNS 알림을 AWS 무료 이용 범위 에서 사용할 수 있습니다.

Jeff;