全般
Q: Amazon Cloud Directory とは何ですか?
Amazon Cloud Directory は、クラウドネイティブで高いスケーラビリティとパフォーマンスを発揮するマルチテナントディレクトリサービスです。ユーザー、グループ、ロケーション、デバイス、ポリシーなどのすべてのアプリケーションリソースと、それらの間の高度な関係を、簡単に編成および管理できるウェブベースのディレクトリを提供します。Cloud Directory は、デプロイ、グローバルスケール、可用性、パフォーマンスについて心配することなく、開発者がディレクトリベースのソリューションを簡単に作成できる、基本的な構成要素です。
既存の従来のディレクトリシステムとは異なり、Cloud Directory では、ディレクトリオブジェクトの編成が単一の固定された階層に制限されません。Cloud Directory では、ディレクトリオブジェクトを複数の階層に編成し、ディレクトリ情報全体にわたる複数の組織的なピボットと関係をサポートすることができます。例えば、ユーザーのディレクトリは、報告体制、所在地、およびプロジェクトの関係に基づいて階層表示できます。同様に、デバイスのディレクトリは、その製造元、現在の所有者、および物理的な場所に基づいて階層表示できます。
Cloud Directory は実質無制限のディレクトリを提供します。各ディレクトリを何億ものノードに自動的にスケールしながら、安定したパフォーマンスを提供します。Cloud Directory は、低レイテンシーで結果整合性のある大量の読み込みのために最適化されています。開発者は、拡張可能なスキーマを使用してディレクトリオブジェクトをモデル化し、データの正確性の制限を自動的に適用して、そのモデルを使ったプログラミングを容易にします。Cloud Directory はお客様が定義するインデックス付きの属性に基づく豊富な情報検索機能を備えているため、ディレクトリツリー内の高速なツリートラバーサルと検索が可能になります。Cloud Directory のデータは保管中も転送中も暗号化されます。
Q: Amazon Cloud Directory の重要な特徴は何ですか?
重要な特徴には以下のようなものがあります。
エンティティ間の高度な関係を記録するための、複数階層編成の情報のサポート。
値取得のための高速ルックアップおよび検索のための最適化。
結果整合性のある大量の読み取りオペレーションのサポート。
アプリケーション開発を簡素化し、共通のディレクトリ情報と通信する複数のアプリケーション間の相互運用を容易にするための、拡張可能なオブジェクトスキーマのサポート。
数百万のオブジェクトや分類へのシームレスなスケーリング。
ディレクトリオブジェクトでさまざまなタイプのアプリケーション固有のポリシーを定義する機能。
保管中と転送中の暗号化。
Q: Cloud Directory の主なユースケースは何ですか?
お客様は Cloud Directory を使用することで、IoT デバイスレジストリ、ソーシャルネットワーク、ネットワーク設定、ユーザーディレクトリなどのアプリケーションを構築できます。通常、これらのユースケースは、データの階層的な編成、大量の低レイテンシールックアップの実行、グローバルな可用性を備えた何億ものオブジェクトへのスケーリングを必要とします。
Q: Cloud Directory はどのようなユーザーを対象としていますか?
あらゆる規模のお客様が、Amazon Cloud Directory を使用してディレクトリベースのアプリケーションを簡単に構築できます。
Q: Amazon Neptune と Amazon Cloud Directory を併用すべきなのはどのような場合ですか?
Neptune は高速で信頼性の高いフルマネージドグラフデータベースサービスです。このサービスを使用することで高度に接続されたデータセットと連係するアプリケーションの構築と実行が簡単になります。Neptune の中核となるのは、数十億の関係を保存し、ミリ秒単位のレイテンシーでグラフをクエリするために最適化された、専用の高性能グラフデータベースエンジンです。Neptune では、一般的なグラフモデルである Property Graph と W3C の RDF、それぞれのクエリ言語である Apache TinkerPop Gremlin と SPARQL がサポートされており、高度に接続されたデータセットを効率的に操作するクエリを簡単に構築できます。
Neptune は、高スループットで低レイテンシーのグラフクエリを必要とするグラフアプリケーションをサポートするように設計されています。最大 15 個のリードレプリカをサポートすることで、Neptune は毎秒 100,000 件のクエリをサポートします。Neptune には優れた耐久性、ACID への準拠、即時整合性といった特徴があり、最大 64 TB のグラフを保存できます。Neptune は、推奨エンジン、不正検出、知識グラフ、創薬、ネットワークセキュリティといったグラフのユースケースに使用できます。
Cloud Directory はフルマネージドのデータストアで、高いパフォーマンスと階層構造を備えています。Cloud Directory は、拡張性に優れたマルチテナントディレクトリサービスです。このサービスでは、多次元のデータ (ユーザー、グループ、ロケーション、デバイスなど) と、それらの高度な関係を簡単に編成および管理できます。
Cloud Directory は、多次元かつ階層構造のデータ向けに最適化されています。お客様は、スキーマファセットを使用して異なる次元のデータを構築し、次元 (従業員、デバイス、ロケーションなど) のオブジェクトを定義できます。Cloud Directory では、異なる次元にわたって情報を効率良く収集するために特別に構築されたアルゴリズムと API を使用できます。他の特徴として、書き込みに対する高い読み込み比率や、ストレージ消費量の少ないデータセットを挙げることができます。Cloud Directory のユースケースには、人事アプリケーション、コースカタログ、デバイス登録、ネットワークトポロジーといったものがあります。さらに、Cloud Directory の機能はきめ細かいアクセス許可 (承認) を必要とするカスタマーアプリケーションにも最適です。
Q: Cloud Directory は従来のディレクトリとどのような違いがありますか?
Amazon Cloud Directory は、開発者が何億ものオブジェクトや関係性を扱うクラウドネイティブなディレクトリを構築するための、基本的なサービスです。スキーマでディレクトリを作成したり、オブジェクトや関係を追加したり、それらのオブジェクトや関係にポリシーをアタッチしたりするために必要な API を提供します。
従来の LDAP ベースのディレクトリは、組織がユーザーやデバイスを管理するための IT ツールとして設計されています。こうしたディレクトリは認証とポリシーのフレームワークを提供しますが、何億ものオブジェクトや関係を管理するためのスケーラビリティは備えていません。従来のディレクトリは IT のユースケース向けに最適化されており、開発者がクラウド、モバイル、 IoT アプリケーションを構築するためのものではありません。
Q: 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 は、大量の階層的データの管理が求められ、柔軟なディレクトリソリューションによる複数の関係性や組み込み式データ検証のサポートを必要としているような、開発者向けに設計されています。
主要な概念
Q: Amazon Cloud Directory の使用にあたって知っておくべき重要な用語と概念は何ですか?
Amazon Cloud Directory を使用するには、以下の重要な用語の知識が必要です。
- ディレクトリ
- スキーマ
- ファセット
- オブジェクト
- 属性
- 階層
- ポリシー
Q: ディレクトリとは何ですか?
ディレクトリはデータストア (Amazon DynamoDB のテーブルなど) のスコープを定義して、それをサービス内の他のすべてのディレクトリから完全に隔離します。また、トランザクションのスコープやクエリのスコープなども定義します。ディレクトリはお客様のツリーのルートオブジェクトを表し、その子として複数のディレクトリオブジェクトを含めることができます。お客様はスキーマをディレクトリレベルで適用する必要があります。
Q: スキーマとは何ですか?
スキーマは、ディレクトリ内で使用できるファセット、属性、および制約を定義します。これには以下のものの定義が含まれます。
ディレクトリ内に含められる 1 つまたは複数のタイプのファセット (Person、Organization_Person など)。
さまざまなファセットに対して必須または使用可能な属性。
制約 (整数や文字列といった、必須または一意のプリミティブなデータタイプなど)。
Q: ファセットとは何ですか?
ファセットは属性と制約の集合体です。1 つのファセット、または複数のファセットを組み合わせて、ディレクトリ内のオブジェクトを定義できます。例えば、Person と Device というファセットを使い、従業員と複数のデバイスとの関連性を定義できます。
Q: オブジェクトとは何ですか?
オブジェクトはディレクトリ内の構造化されたデータエンティティを表します。ディレクトリ内のオブジェクトは、通常は情報の検出とポリシーの適用を目的として、物理または論理エンティティに関するメタデータをキャプチャするものです。例えば、ユーザー、デバイス、アプリケーションはすべてオブジェクトのタイプです。オブジェクトの構造およびタイプに関する情報は、ファセットのコレクションを使用して表現されます。
Q: 属性とは何ですか?
属性とは、オブジェクトに関連付けられたユーザー定義のメタデータのユニットです。例えば、ユーザーオブジェクトには email-address という属性を含めることができます。属性は常にオブジェクトと関連付けられます。
Q: 階層とは何ですか?
階層とは、グループやオブジェクトが編成する親子関係を表します。フォルダの下にファイルやサブフォルダがあるファイルシステムに似ています。Amazon Cloud Directory では、複数階層にオブジェクトを編成できます。
Q: ポリシーとは何ですか?
ポリシーとは、タイプやドキュメントを定義する属性を持つ、特殊なオブジェクトタイプです。ポリシーは、オブジェクトまたは階層のルートにアタッチできます。デフォルトでは、オブジェクトはその親からポリシーを継承します。Amazon Cloud Directory はポリシーを解釈しません。
設定
Q: Amazon Cloud Directory では新しいディレクトリをどのようにプロビジョニングできますか?
Amazon Cloud Directory では以下の手順で新しいディレクトリをプロビジョニングできます。
- Cloud Directory の管理権限を持ついずれかの AWS アカウントにサインインします。
- AWS マネジメントコンソールを開いて、Amazon Cloud Directory コンソールに移動します。
- [Create New Directory] をクリックします。
- 新しいディレクトリの名前を入力します。
- 事前定義されたスキーマを選択するか、ディレクトリ用の新しいスキーマを作成します。
- 新しいディレクトリを作成したら、Amazon Cloud Directory API を使用して、関連するスキーマに準拠するオブジェクトを含むコンテナの作成を開始できます。ディレクトリが 1 つの場合は、選択したスキーマとファセットに基づいたオブジェクトを含むディレクトリの作成を開始できます (製品カタログの製品など)。さまざまなエンティティの複数のディレクトリがある場合は、エンティティディレクトリごとにルートノードを作成してから、ディレクトリの作成を開始できます (例えば、1 つのディレクトリ内に構築できる 2 つのタイプのディレクトリとしてのユーザーとデバイス)。
また、AWS コマンドラインインターフェイス (CLI) を使用して、同じ手順で新しい Amazon Cloud Directory コンテナを作成することもできます。Amazon Cloud Directory では、プログラムによってディレクトリを作成、読み込み、削除、および更新するための SDK を利用できます。
スキーマ
Q: スキーマを作成して管理するにはどうすればよいですか?
Amazon Cloud Directory では、スキーマを作成、読み込み、および更新するための SDK と CLI を利用できます。Cloud Directory は、準拠した JSON ファイルのアップロードによるスキーマの作成もサポートしています。また、Cloud Directory コンソールを使用してスキーマを作成および管理することもできます。
Q: Amazon Cloud Directory にはサンプルスキーマは用意されていますか?
はい。現在、Amazon Cloud Directory には以下のサンプルスキーマが用意されています。
- 組織
- 人 (ユーザー)
- デバイス
API
Q: クラウドディレクトリにおける、結果整合性のある読み込みオペレーションと、強力な整合性のある読み込みオペレーションとは何ですか?
Amazon Cloud Directory は分散型ディレクトリストアです。つまり、データは異なるアベイラビリティーゾーンの複数のサーバーに分散して保存されます。
クラウドディレクトリからデータを読み込む場合、結果的に整合性のある読み込みオペレーションか、強力な整合性のある読み込みオペレーションかを明示する必要があります。読み込みの種類は、整合性レベルに基づいて決定されます。2 つの整合性レベルは、結果的に整合性のある読み込みの場合は EVENTUAL、強力な整合性のある読み込みの場合は SERIALIZABLE です。詳細については「整合性のレベル」をご参照ください。