メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::Elasticsearch::Domain

AWS::Elasticsearch::Domain リソースは、Amazon ES エンジンインスタンスをカプセル化する Amazon Elasticsearch Service (Amazon ES) ドメインを作成します。 詳細については、Amazon Elasticsearch Service 開発者ガイドの「CreateElasticsearchDomain」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::Elasticsearch::Domain", "Properties" : { "AccessPolicies" : JSON object, "AdvancedOptions" : Advanced Options, "DomainName" : String, "EBSOptions" : EBS Options, "ElasticsearchClusterConfig" : Elasticsearch Cluster Config, "ElasticsearchVersion" : String, "SnapshotOptions" : Snapshot Options, "Tags" : [ Resource Tag, ... ] } }

YAML

Copy
Type: "AWS::Elasticsearch::Domain" Properties: AccessPolicies: JSON object AdvancedOptions: Advanced Options DomainName: String EBSOptions: EBS Options ElasticsearchClusterConfig: Elasticsearch Cluster Config ElasticsearchVersion: String SnapshotOptions: Snapshot Options Tags: - Resource Tag

プロパティ

AccessPolicies

Amazon ES ドメインにアクセスできるユーザーとユーザーのアクセス権限を指定する AWS Identity and Access Management (IAM) ポリシードキュメント。 詳細については、Amazon Elasticsearch Service 開発者ガイドの「Configuring Access Policies」を参照してください。

Required: No

Type: JSON object

更新に伴う要件: 中断はありません。

AdvancedOptions

Amazon ES メインに指定する追加のオプション。 詳細については、Amazon Elasticsearch Service 開発者ガイドの「Configuring Advanced Options」を参照してください。

Required: No

Type: 文字列とキー値ペアで構成される JSON オブジェクト ( など)

Copy
{ "rest.action.multi.allow_explicit_index": "true" }

更新に伴う要件: 置換

DomainName

Amazon ES ドメインの名前。 有効な値については、Amazon Elasticsearch Service 開発者ガイドDomainName データ型を参照してください。

名前を指定しないと、AWS CloudFormation は一意の物理 ID を生成し、その ID をドメイン名として使用します。詳細については、「Name タイプ」を参照してください。

重要

名前を指定すると、このリソースの置換が必要な更新はできません。中断が不要であるか、一定の中断が必要な更新であれば、行うことができます。リソースを置き換える必要がある場合は、新しい名前を指定します。

Required: No

Type: String

更新に伴う要件: 置換

EBSOptions

Amazon ES ドメインのデータノードにアタッチされる Amazon Elastic Block Store (Amazon EBS) ボリュームの設定。 詳細については、Amazon Elasticsearch Service 開発者ガイドの「Configuring EBS-based Storage」を参照してください。

Required: No

Type: Amazon Elasticsearch Service ドメインの EBSOptions

更新に伴う要件: 中断はありません。

ElasticsearchClusterConfig

Amazon ES ドメインのクラスター設定。 インスタンスタイプやインスタンス数などのオプションを指定できます。詳細については、Amazon Elasticsearch Service 開発者ガイドの「Configuring Amazon ES Domains」を参照してください。

Required: No

Type: Amazon Elasticsearch Service ドメインの ElasticsearchClusterConfig

更新に伴う要件: 中断はありません。

ElasticsearchVersion

使用する Elasticsearch のバージョン。例: 2.3Amazon ES がサポートするバージョンについては、Amazon Elasticsearch Service 開発者ガイド の、「CreateElasticsearchDomain」アクションの Elasticsearch-Version パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 置換

SnapshotOptions

Amazon ES ドメインインデックスの自動スナップショット設定。

Required: No

Type: Amazon Elasticsearch Service ドメインの SnapshotOptions

更新に伴う要件: 中断はありません。

Tags

Amazon ES ドメインに関連付ける任意のタグのセット(キーと値のペア)。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref により mystack-elasticsea-abc1d2efg3h4 のようなリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

DomainArn

ドメインの Amazon リソースネーム (ARN) (arn:aws:es:us-west-2:123456789012:domain/mystack-elasti-1ab2cdefghij など)。

DomainEndpoint

インデックス、検索、データアップロードのリクエストを Amazon ES ドメインに送信するために使用されるドメイン固有のエンドポイント (search-mystack-elasti-1ab2cdefghij-ab1c2deckoyb3hofw7wpqa3cm.us-west-2.es.amazonaws.com など)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例では、2 つのデータノードと 3 つのマスターノードを含む Amazon ES ドメインを作成します。インデックスの自動スナップショットは午前 0 時と午前 1 時 (UTC) の間に毎日作成されます。アクセスポリシーは、IAM ユーザー es-user に、ドメインに対するすべての Amazon ES アクション (es:UpdateElasticsearchDomainConfig など) を行うことを許可します。

JSON

Copy
"ElasticsearchDomain": { "Type": "AWS::Elasticsearch::Domain", "Properties": { "DomainName": "test", "ElasticsearchClusterConfig": { "DedicatedMasterEnabled": "true", "InstanceCount": "2", "ZoneAwarenessEnabled": "true", "InstanceType": "m3.medium.elasticsearch", "DedicatedMasterType": "m3.medium.elasticsearch", "DedicatedMasterCount": "3" }, "EBSOptions": { "EBSEnabled": true, "Iops": 0, "VolumeSize": 20, "VolumeType": "gp2" }, "SnapshotOptions": { "AutomatedSnapshotStartHour": "0" }, "AccessPolicies": { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/es-user" }, "Action": "es:*", "Resource": "arn:aws:es:us-east-1:123456789012:domain/test/*" }] }, "AdvancedOptions": { "rest.action.multi.allow_explicit_index": "true" } } }

YAML

Copy
ElasticsearchDomain: Type: "AWS::Elasticsearch::Domain" Properties: DomainName: "test" ElasticsearchClusterConfig: DedicatedMasterEnabled: "true" InstanceCount: "2" ZoneAwarenessEnabled: "true" InstanceType: "m3.medium.elasticsearch" DedicatedMasterType: "m3.medium.elasticsearch" DedicatedMasterCount: "3" EBSOptions: EBSEnabled: true Iops: 0 VolumeSize: 20 VolumeType: "gp2" SnapshotOptions: AutomatedSnapshotStartHour: "0" AccessPolicies: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: AWS: "arn:aws:iam::123456789012:user/es-user" Action: "es:*" Resource: "arn:aws:es:us-east-1:846973539254:domain/test/*" AdvancedOptions: rest.action.multi.allow_explicit_index: "true"

このページの内容: