Amazon Web Services 한국 블로그

Amazon Cloud Directory – 클라우드 기반 신규 디렉토리 관리 서비스 출시

AWS 고객은 일반적으로 디렉터리 (Active Directory, Lightweight Directory Service 또는 LDAP 기반)를 사용하여 계층적인 데이터를 관리하고 있습니다. 예를 들어, 장치 레지스트리, 교육 과정 카탈로그, 네트워크 구성 및 사용자 디렉터리는 종종 같은 개체 사이에 계층 구조로 표시됩니다. 사용자 디렉토리는 실제 위치 (국가, 주, 도시, 건물, 층 및 사무실)를 기반으로 하는 하나의 계층 구조, 프로젝트 및 빌링 코드를 기반으로 두 번째 계층 및 관리 체인을 기반으로 하는 세 번째 계층을 가질 수 있습니다. 그러나, 기존 디렉토리 기술은 단일 디렉토리에서 다중 관계 사용을 지원하지 않습니다. 필요한 경우 추가 디렉토리를 만들고 유지해야 합니다.

디렉토리 서비스 확장성 또한 중요한 문제입니다. 계층 구조의 기본 조작시 지정된 오브젝트 상위 또는 하위 오브젝트를 찾게 됩니다. 계층 구조를 사용하여 더 크고 중첩된 정보 모음을 나타낼 수 있으므로, 이러한 작업은 얼마나 많은 개체가 있는지 또는 얼마나 많이 중첩되어 있는 지에 관계없이 최대한 효율적이어야 합니다. 기존 디렉토리는 확장하기가 어려울 수 있으며, 여러 계층을 나타내기 위해 두 개 이상의 디렉토리를 사용하는 경우에 더 관리가 힘들어 지게 됩니다.

Amazon Cloud Directory 서비스 소개
오늘 Amazon Cloud Directory를 시작합니다. 이 서비스는 위에 설명한 대로, 고객들이 손쉽게 대용량 계층적 데이터를 저장 및 관리하기 위한 목적으로 만들어졌습니다. Cloud Directory는 수백만 개의 개체를 비용 효율적으로 확장 할 수 있는 기능을 갖추고 있으며,  대부분 클라우드 및 모바일 응용 프로그램에 매우 적합합니다.

AWS Cloud Directory는 이미 Amazon CognitoAWS Organizations를 비롯한 다른 AWS 서비스에서 사용하고 있던 빌딩 블록입니다. AWS에서도 매우 중요한 역할을 하고 있기 때문에 확장성, 고가용성 및 보안을 염두에 두고 설계되었습니다. (항상 데이터는 전송되는 동안 암호화됩니다).

Amazon Cloud Directory는 완전 관리형 서비스입니다. 즉, 소프트웨어 설치 또는 패치, 서버 관리, 스토리지 확장 또는 인프라 스트럭처 확장에 대한 관리 부담이 전혀 없습니다. 간단하게 스키마를 정의하고 디렉토리를 만든 다음 Cloud Directory API를 호출하여 디렉토리를 만들 수 있습니다. 본 API는 효율적인 배치 기반 읽기 및 쓰기 기능을 통해 빠른 속도와 확장성을 제공하도록 설계하였습니다.

대개 디렉토리는  사용하는 기간이 길고, 중단할 때까지 확장성 및 사용 사례 등이 다양하게 결합되면서 문제가 많이 발생합니다. 특히, 정적 스키마에서는 확장성 및 새로운 기능 추가 시 발생하는 변경 사항을 적용할 수 있는 유연성이 부족합니다. 이러한 과제를 해결하고, 디렉토리의 향후 기능성을 보장하기 위해 클라우드 디렉토리는 명시적으로 변화의 여지가 있는 모델로 구축합니다. 새 패싯(Facets)을 추가하여 기존 스키마(Scheme)를 확장하면 됩니다. 기존 응용 프로그램이 예상대로 계속 작동 할 수 있도록 기존 데이터를 손상시키지 않는 안전한 작업  방식입니다. 스키마와 패싯을 결합하면 동일한 디렉토리에서 여러 계층 구조를 나타낼 수 있습니다. 예를 들어, 첫 번째 계층 구조는 조직도를 만들 수 있습니다. 나중에 각각 회사 직원의 추가 속성 (전화 번호 또는 소셜 네트워크 주소)을 추적하기 위해 추가 패싯을 추가 할 수 있습니다. 그런 다음 국가, 주, 건물, 층, 사무실 및 직원과 같은 데이터 내에서 지리적으로 계층화 된 계층 구조를 만들 수 있습니다.

앞서 언급했듯이  이미 AWS의 많은 서비스가 Amazon Cloud Directory를 사용합니다. Cognito User Pools은 Cloud Directory를 사용하여 사용자 가입, 로그인 및 다중 요소 인증을 지원하는 응용 프로그램 별 사용자 디렉토리를 제공합니다. Cognito 사용자 풀을 사용하면 수억 명의 사용자를 지원할 수 있도록 완벽하게 관리되는 서비스로 모바일 앱 및 웹 앱에 등록 및 로그인 기능을 쉽고 안전하게 추가 할 수 있습니다. 마찬가지로 AWS Organizations은 Cloud Directory를 사용하여 관련 AWS 계정 그룹을 만들 수 있도록 지원하며, 다양한 정책을 시행하기 위해 여러 계층을 효과적으로 활용합니다.

먼저 Amazon Cloud Directory의 주요 개념을 간단히 살펴 보겠습니다.

  • Directories: 디렉토리의 이름을 지정 한 후, 하나 이상의 스키마를 만듭니다. 디렉토리는 객체, 객체, 스키마 및 정책 간의 관계를 저장합니다.
  • Facets: 필수 및 허용 가능한 특성을 정의하여 데이터를 모델링합니다. 각 패싯은 속성 이름에 대해 독립적인 범위를 제공합니다. 이를 통해 디렉토리를 공유하는 여러 응용 프로그램이 충돌 위험 없이 주어진 스키마를 안전하고 독립적으로 확장 할 수 있습니다.
  • Schemas: 하나 이상의 패싯을 참조하여 디렉토리에 저장된 데이터의 “모양(shape)”을 정의합니다. 각 디렉토리에는 하나 이상의 스키마가 있을 수 있습니다. 스키마는 3 단계 중 하나 (개발, 출시 또는 적용) 중 하나로 존재합니다. 개발(Development) 스키마는 수정할 수 있습니다. 이미 출시(Publish)된 스키마는 변경할 수 없습니다. Amazon Cloud Directory에는 사람, 조직을 위한 이미 정의 된 스키마 모음이 포함되어 있습니다.
  • Attributes: 실제 저장된 데이터입니다. 각 속성 이름을 지정하고 입력합니다. 데이터 유형에는 부울(Boolean), 이진 (Blob), 날짜/시간, 숫자 및 문자열이 포함됩니다. 각 속성은 필수 또는 선택 사항에 따라 변경 불가능하거나 편집 할 수 있습니다. 속성의 정의는 속성이 저장되거나 업데이트되기 전에 속성의 길이 및 내용을 검증하는 데 사용되는 규칙을 지정할 수 있습니다. 이진 및 문자열 객체는 최소 및 최대 길이에 대해 길이를 확인할 수 있습니다. 규칙은 문자열이 목록에서 선택한 값을 가져야 하거나 숫자가 주어진 범위 내에 있어야 함을 나타낼 수 있습니다.
  • Objects: 디렉토리에 저장되고 속성을 가지며 스키마에 의해 정의됩니다. 각 개체는 스키마에 지정된 대로 여러 자식 및 여러 부모를 가질 수 있습니다. 다중 상위 기능을 사용하여 단일 디렉토리 (여러 개의 트리 포리스트라고도 함) 내에 여러 개의 독립적 인 계층 구조를 만들 수 있습니다.
  • Policies: 계층 구조의 모든 수준에서 지정할 수 있으며 자식 개체에 상속됩니다. 클라우드 디렉토리는 정책에 어떤 의미도 해석하거나 할당하지 않으므로 애플리케이션에 그대로 남겨 둡니다. 정책을 사용하여 접근 권한, 사용자 권한, 장치 특성 등을 지정하고 제어 할 수 있습니다.

디렉토리 만들어 보기
이제 직접 디렉토리를 만들어 봅시다! 우선 AWS Directory Service Console을 열고, Create Directory 버튼을 클릭합니다.

내 디렉토리 (users)의 이름을 입력하고, person 스키마 (두 개의 패싯에 뒤에 자세히 설명합니다)를 선택하고 Next을 선택하세요.

미리 정의 된 (AWS) 스키마가 내 디렉토리에 복사됩니다. 이름 및 버전 정보를 주고 Publish를 선택합니다.

그런 다음 구성을 검토하고 Launch을 선택하십시오.

디렉토리가 생성되고 나면, 객체를 추가하는 코드를 작성할 수 있습니다.

정식 출시 – 가격 및 가용성

Cloud Directory is available now in the US East (Northern Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Sydney), and Asia Pacific (Singapore) Regions and you can start using it today.

Pricing is based on three factors: the amount of data that you store, the number of reads, and the number of writes (these prices are for US East (Northern Virginia)):

Cloud Directory는 현재 미국 동부 (버지니아 북부), 미국 동부 (오하이오), 미국 서부 (오레곤), EU (아일랜드), 아시아 태평양 (시드니) 및 아시아 태평양 지역 (싱가포르)에서 오늘 부터 사용 가능합니다.

서비스 가격은 저장하는 데이터의 양, 읽기 및 쓰기 수 의 세 가지 요소를 기반으로 합니다. (아래는 버지니아 리전 기준)

  • 저장 용량 – GB / GB 당 0.25 달러
  • 읽기 – 1 만 건마다 $ 0.0040
  • 쓰기 – 1,000 회 쓰기 당 0.0043 달러

향후 기능
Cloud Directory에 대한 다양한 추가 기능을 계획 중입니다. 우선 순위는 고객 피드백으로 인해 바뀔 수 있지만, 리전 간 복제, AWS Lambda 통합 및 AWS CloudFormation을 통해 새 디렉토리를 생성하는 기능 추가 작업을 진행 중입니다.

Jeff;

이 글은 Amazon Cloud Directory – A Cloud-Native Directory for Hierarchical Data의 한국어 번역입니다.