Amazon Cloud Directory が一般公開されました

Amazon Cloud Directory を無料で試す

AWS の無料利用枠には、Amazon Cloud Directory の、1 GB のストレージ、1 か月あたり 100,000 回の結果的に整合性のある読み込み API コール、合計 10,000 回の強力な整合性のある読み込み API コールと書き込み API コールが含まれます。

AWS 無料利用枠の詳細はこちら »

Amazon Cloud Directory とは何ですか?

Amazon Cloud Directory は、クラウドネイティブの高度にスケーラブルな高パフォーマンスのマルチテナントディレクトリサービスで、ユーザー、グループ、ロケーション、デバイス、ポリシーなどのすべてのアプリケーションリソースと、それらの高度な関係を、簡単に編成および管理できるウェブベースのディレクトリを提供します。Cloud Directory は、デプロイ、グローバルスケール、可用性、パフォーマンスについて心配することなく、開発者がディレクトリベースのソリューションを簡単に作成できる、基本的な構成要素です。

既存の従来のディレクトリシステムとは異なり、Cloud Directory では、ディレクトリオブジェクトの編成が単一の固定された階層に制限されません。Cloud Directory では、ディレクトリオブジェクトを複数の階層に編成し、ディレクトリ情報全体にわたる複数の組織的なピボットと関係をサポートすることができます。例えば、ユーザーのディレクトリは、報告体制、所在地、およびプロジェクトの関係に基づいて階層表示できます。同様に、デバイスのディレクトリは、その製造元、現在の所有者、および物理的な場所に基づいて階層表示できます。

Cloud Directory は実質無制限のディレクトリを提供します。各ディレクトリを何億ものノードに自動的にスケールしながら、安定したパフォーマンスを提供します。Cloud Directory は、低レイテンシーで結果整合性のある大量の読み込みのために最適化されています。開発者は、拡張可能なスキーマを使用してディレクトリオブジェクトをモデル化し、データの正確性の制限を自動的に適用して、そのモデルを使ったプログラミングを容易にします。Cloud Directory はお客様が定義するインデックス付きの属性に基づく豊富な情報検索機能を備えているため、ディレクトリツリー内の高速なツリートラバーサルと検索が可能になります。Cloud Directory のデータは保管中も転送中も暗号化されます。

Amazon Cloud Directory の重要な特徴は何ですか?

重要な特徴には以下のようなものがあります。

  • エンティティ間の高度な関係を記録するための、複数階層編成の情報のサポート。
  • 値取得のための高速ルックアップおよび検索のための最適化。
  • 結果整合性のある大量の読み取りオペレーションのサポート。
  • アプリケーション開発を簡素化し、共通のディレクトリ情報と通信する複数のアプリケーション間の相互運用を容易にするための、拡張可能なオブジェクトスキーマのサポート。
  • 数百万のオブジェクトや分類へのシームレスなスケーリング。
  • ディレクトリオブジェクトでさまざまなタイプのアプリケーション固有のポリシーを定義する機能。
  • 保管中と転送中の暗号化。

Cloud Directory の主なユースケースは何ですか?

お客様は Cloud Directory を使用することで、IoT デバイスレジストリ、ソーシャルネットワーク、ネットワーク設定、ユーザーディレクトリなどのアプリケーションを構築できます。こうしたそれぞれのユースケースでは、通常、データの階層的な編成、大量の低レイテンシールックアップの実行、グローバルな可用性を備えた何億ものオブジェクトへのスケールが必要となります。

Cloud Directory を使用できるのはどのような顧客ですか?

あらゆる規模のお客様が、Amazon Cloud Directory を使用してディレクトリベースのアプリケーションを簡単に構築できます。

Cloud Directory は従来のディレクトリとどのような違いがありますか?

Amazon Cloud Directory は、開発者が何億ものオブジェクトや関係を持つクラウドネイティブなディレクトリを作成できる基本的なサービスです。スキーマでディレクトリを作成したり、オブジェクトや関係を追加したり、それらのオブジェクトや関係にポリシーをアタッチしたりするために必要な API を提供します。

従来の LDAP ベースのディレクトリは、組織がユーザーやデバイスを管理するための IT ツールとして設計されています。こうしたディレクトリは認証とポリシーのフレームワークを提供しますが、何億ものオブジェクトや関係を管理するためのスケーラビリティは備えていません。従来のディレクトリは、開発者がクラウド、モバイル、および IoT のアプリケーションを構築するためではなく、IT のユースケース向けに最適化されています。

Cloud Directory と AWS Directory Service for Microsoft Active Directory (Enterprise Edition) または Amazon Cognito ユーザープールはどのように使い分ければよいですか?

AWS Directory Service for Microsoft Active Directory (Enterprise Edition)、つまり AWS Microsoft AD は、Microsoft Active Directory を必要とする Windows ベースのワークロードをサポートするように設計されています。AWS Microsoft AD は、Microsoft Active Directory に依存するエンタープライズ IT のユースケースとアプリケーションを対象としています。

Amazon Cognito ユーザープールは、ユーザーに対する認証、フェデレーション、および認証情報の管理が必要な開発者向けのアイデンティティソリューションです。

Amazon Cloud Directory は、大量の階層的データを管理する必要があり、複数の関係のセットと組み込み式のデータ検証をサポートする柔軟なディレクトリソリューションを必要としている開発者向けに設計されています。

Amazon Cloud Directory の使用にあたって知っておくべき重要な用語と概念は何ですか?

Amazon Cloud Directory を使用するには、以下の重要な用語の知識が必要です。

ディレクトリとは何ですか?

ディレクトリはデータストア (Amazon DynamoDB のテーブルなど) のスコープを定義して、それをサービス内の他のすべてのディレクトリから完全に隔離します。また、トランザクションのスコープやクエリのスコープなども定義します。ディレクトリはお客様のツリーのルートオブジェクトを表し、その子として複数のディレクトリオブジェクトを含めることができます。お客様はスキーマをディレクトリレベルで適用する必要があります。

スキーマとは何ですか?

スキーマは、ディレクトリ内で使用できるファセット、属性、および制約を定義します。これには以下のものの定義が含まれます。

  • ディレクトリ内に含められる 1 つまたは複数のタイプのファセット (Person、Organization_Person など)。
  • さまざまなファセットに対して必須または使用可能な属性。
  • 制約 (必須または一意、整数や文字列といったプリミティブデータタイプなど)。

ファセットとは何ですか?

ファセットは属性と制約の集合体です。1 つのファセット、または複数のファセットを組み合わせて、ディレクトリ内のオブジェクトを定義できます。例えば、Person と Device というファセットで、社員と複数のデバイスとの関連性を定義できます。

オブジェクトとは何ですか?

オブジェクトはディレクトリ内の構造化されたデータエンティティを表します。ディレクトリ内のオブジェクトは、通常は情報の検出とポリシーの適用を目的として、物理または論理エンティティに関するメタデータをキャプチャするものです。例えば、ユーザー、デバイス、アプリケーションはすべてオブジェクトのタイプです。オブジェクトの構造およびタイプ情報はファセットのコレクションを使用して表されます。

属性とは何ですか?

属性とは、オブジェクトに関連付けられたユーザー定義のメタデータのユニットです。例えば、ユーザーオブジェクトには email-address という属性を含めることができます。属性は常にオブジェクトと関連付けられます。

階層とは何ですか?

階層とは、グループやオブジェクトが親子関係で編成される表示で、フォルダの下にファイルやサブフォルダがあるファイルシステムに似ています。Amazon Cloud Directory では、複数階層にオブジェクトを編成できます。

ポリシーとは何ですか?

ポリシーとは、ポリシーとポリシードキュメントのタイプを定義する属性を持つ特殊なオブジェクトタイプです。ポリシーは、オブジェクトまたは階層のルートにアタッチできます。デフォルトでは、オブジェクトはその親からポリシーを継承します。Amazon Cloud Directory はポリシーを解釈しません。

Amazon Cloud Directory では新しいディレクトリをどのようにプロビジョニングできますか?

Amazon Cloud Directory では以下の手順で新しいディレクトリをプロビジョニングできます。

  1. Cloud Directory の管理権限を持ついずれかの AWS アカウントにサインインします。
  2. AWS マネジメントコンソールを開いて、Amazon Cloud Directory コンソールに移動します。
  3. [Create New Directory] をクリックします。
  4. 新しいディレクトリの名前を入力します。
  5. 事前定義されたスキーマを選択するか、ディレクトリ用の新しいスキーマを作成します。
  6. 新しいディレクトリを作成したら、Amazon Cloud Directory API を使用して、関連するスキーマに準拠するオブジェクトを含むコンテナの作成を開始できます。ディレクトリが 1 つの場合は、選択したスキーマとファセットに基づいたオブジェクトを含むディレクトリの作成を開始できます (製品カタログの製品など)。さまざまなエンティティの複数のディレクトリがある場合は、エンティティディレクトリごとにルートノードを作成してから、ディレクトリの作成を開始できます (例えば、1 つのディレクトリ内に構築できる 2 つのタイプのディレクトリとしてのユーザーとデバイス)。

また、AWS コマンドラインインターフェイス (CLI) を使用して、同じ手順で新しい Amazon Cloud Directory コンテナを作成することもできます。Amazon Cloud Directory では、プログラムによってディレクトリを作成、読み込み、削除、および更新するための SDK を利用できます。

スキーマを作成して管理するにはどうすればよいですか?

Amazon Cloud Directory では、スキーマを作成、読み込み、および更新するための SDK と CLI を利用できます。Cloud Directory は、準拠した JSON ファイルのアップロードによるスキーマの作成もサポートしています。また、Cloud Directory コンソールを使用してスキーマを作成および管理することもできます。

Amazon Cloud Directory にはサンプルスキーマは用意されていますか?

はい。現在、Amazon Cloud Directory には以下のサンプルスキーマが用意されています。

  • Organization
  • Person (User)
  • Device

クラウドディレクトリにおける、結果的に整合性のある読み込みオペレーションと、強力な整合性のある読み込みオペレーションとは何ですか?

Amazon Cloud Directory は分散型ディレクトリストアです。つまり、データは異なるアベイラビリティーゾーンの複数のサーバーに分散して保存されます。

クラウドディレクトリからデータを読み込む場合、結果的に整合性のある読み込みオペレーションか、強力な整合性のある読み込みオペレーションかを明示する必要があります。読み込みの種類は、整合性レベルに基づいて決定されます。2 つの整合性レベルは、結果的に整合性のある読み込みの場合は EVENTUAL、強力な整合性のある読み込みの場合は SERIALIZABLE です。詳細については、Consistency Levels を参照してください。

結果的に整合性のある読み込み API コールとして課金されるのは、どの読み込み API コールですか?

整合性レベルが EVENTUAL である場合、以下の読み込み API コールが、結果的に整合性のある読み込み API コールとして課金されます。整合性レベルについてはドキュメントを参照してください。

  • BatchRead
  • GetObjectInformation
  • ListAttachedIndices
  • ListIncomingTypedLinks
  • ListIndex
  • ListObjectAttributes
  • ListObjectChildren
  • ListObjectParentPaths
  • ListObjectParents
  • ListObjectPolicies
  • ListOutgoingTypedLinks
  • ListPolicyAttachments
  • LookupPolicy

強力な整合性のある読み込み API コールとして課金されるのは、どの API コールですか?

整合性レベルが SERIALIZABLE である場合、以下の読み込み API コールが、強力な整合性のある読み込み API コールとして課金されます。整合性レベルについてはドキュメントを参照してください。

  • BatchRead
  • GetObjectInformation
  • ListAttachedIndices
  • ListIncomingTypedLinks
  • ListIndex
  • ListObjectAttributes
  • ListObjectChildren
  • ListObjectParents
  • ListObjectPolicies
  • ListOutgoingTypedLinks
  • ListPolicyAttachments

書き込み API コールとして課金されるのは、どの API コールですか?

以下の API コールが、書き込み API コールとして課金されます。

  • AddFacetToObject
  • AttachObject
  • AttachPolicy
  • AttachToIndex
  • AttachTypedLink
  • BatchWrite
  • CreateDirectory
  • CreateIndex
  • CreateObject
  • DeleteObject
  • DetachFromIndex
  • DetachObject
  • DetachPolicy
  • DetachTypedLink
  • EnableDirectory
  • RemoveFacetFromObject
  • UpdateObjectAttributes

メタデータ API コールは課金されますか?

いいえ、メタデータ API コールは課金されません。以下の API コールがメタデータ API コールとして分類されます。

ディレクトリの無効化または削除のための API コール

  • DeleteDirectory
  • DisableDirectory  

ディレクトリ詳細を取得するための API コール

  • GetDirectory
  • ListDirectories

スキーマ API コール

  • ApplySchema
  • CreateFacet
  • CreateSchema
  • DeleteFacet
  • DeleteSchema
  • GetFacet
  • GetSchemaAsJson
  • ListAppliedSchemaArns
  • ListDevelopmentSchemaArns
  • ListFacetAttributes
  • ListFacetNames
  • ListPublishedSchemaArns
  • PublishSchema
  • PutSchemaFromJson
  • UpdateFacet
  • UpdateSchema

タグ付け API コール

  • ListTagsForResource
  • TagResource
  • UntagResource

型付きリンク API コール

  • CreateTypedLinkFacet
  • DeleteTypedLinkFacet
  • GetTypedLinkFacetInformation
  • ListTypedLinkFacetAttributes
  • ListTypedLinkFacetNames
  • UpdateTypedLinkFacet