Amazon Cloud Directoryがリリースされたので触ってみました – 管理コンソールから新規作成 –
Amazon Cloud Directory
Amazon Cloud Directoryは、AWSから発表された新しいディレクトリーサービスです。今まで、ディレクトリーサービスといえば、エンプラではAD(Active Directory)、OSSではOpenLDAPがメジャーであり、マネージドサービスとしてスケールするディレクトリーサービスの選択肢は少なかったと思います。
また、階層構造を扱う仕組みを考えた時、DynamoDBとかS3とかで頑張って自分でルールやロジックを書くことを多かったのではないでしょうか。Amazon Cloud Directoryは、多階層・多次元の構造データを簡単に扱うことができます。細かなアクセスポリシーを設定することができます。
Amazon Cloud Directoryは、既存のエンタープライズなディレクトリーサービスを否定して置き換えるものではなく、ソーシャルやモバイルなどの用途が無限にスケールしていくユースケースにおいて、階層化された情報を管理したいときにフィットするサービスかと思います。
Amazon Cloud Directoryの位置づけ
Amazon Cloud Directoryは、AWS Directory Serviceのメニューとして表示されます。このメニューには5つの項目があり、ユースケースに合わせて選んで利用します。
AWS Directory Serviceの選択メニュー
- Amazon Cloud Directory : クラウドネイティブなサービス。アプリケーションの階層構造、組織構造、カタログ、ネットワークトポロジなど、1億を超えるデータを管理することができる。
- Amazon Cognito Your User Pools : ユーザーの作成と管理やサインインなどを行うマネージドサービス。1億を超えるユーザーを管理することができる。
- Microsoft AD : AWSがマネージドで提供する、Microsoft Active Directory。エンタープライズITによく用いられる。
- Simple AD : AWSがマネージドで提供する、SAMBA 4。Microsoft Active Directoryのサブセットを提供する。
- AD Connector : オンプレのMicrosoft Active Directoryと連携するコネクター。
ニュースリリースには、「Amazon Cloud Directoryは、Amazon CognitoやAWS Organizationsのビルディングブロックとして既に使われている」と書いてありますので、非常に汎用性の高いサービスの位置づけかと思います。つまり、S3やEC2は基盤サービス、Cloud Directoryは抽象サービス、CognitoやOrganizationsはアプリケーションサービスと言っても良いかもしれません。
DirectoryとSchemaを作ってみる
早速使ってみましょう。まず始めにスキーマを選択します。サンプルが用意されているのでひとつ選んで作成します。
バージョン番号を付けます。
これだけです。
とても簡単な手順ですが、細かい手順は以下のようになっています。
-
- Directoryを新規作成する。
- Schemaを新規作成する。(Development ステータス)
- Schemaをバージョン番号を付けてPublishする。(Published ステータス)
- SchemaをDirectoryにApplyする。(Applied ステータス)
ApplyされたSchemaには、facetや非必須属性の追加をすることができるようになります。つまり、スキーマ構造を作り、バージョンを付け、ディレクトリーにアタッチして、最後にインデックスを張るという流れです。
CLIからも確かめてみましょう。まずは作成済みのDirectory一覧から
$ aws clouddirectory list-directories --region us-west-2 { "Directories": [ { "State": "ENABLED", "CreationDateTime": 1485688794.906, "Name": "MyCompany", "DirectoryArn": "arn:aws:clouddirectory:us-west-2:XXXXXXXXXXXX:directory/Ab4TySiu4UqRhHIdjWXXXXX" } ] }
続いて作成済みのSchemaを確認しましす。画面から作成すると、Developmentステータスから遷移しますね。
$ aws clouddirectory list-development-schema-arns --region us-west-2 { "SchemaArns": [] }
Publishedステータスを確認します。
$ aws clouddirectory list-published-schema-arns --region us-west-2 { "SchemaArns": [ "arn:aws:clouddirectory:us-west-2:XXXXXXXXXXXX:schema/published/person/v1" ] }
最後に、Appliedステータスを確認します。画面から作成するとApplied済みですね。
$ aws clouddirectory list-applied-schema-arns --region us-west-2 \ --directory-arn arn:aws:clouddirectory:us-west-2:XXXXXXXXXXXX:directory/Ab4TySiu4UqRhHIdjWXXXXX { "SchemaArns": [ "arn:aws:clouddirectory:us-west-2:XXXXXXXXXXXX:directory/Ab4TySiu4UqRhHIdjWXXXXX/schema/person/v1" ] }
まとめ
今日はとりあえずココまでです。次回はIndexやObjectの作成と利用についてご紹介したいと思います。
参考資料
Amazon Cloud Directory – A Cloud-Native Directory for Hierarchical Data
What Is AWS Directory Service?