Amazon Elasticsearch Service
開発者ガイド (API バージョン 2015-01-01)

Amazon Elasticsearch Service ドメインの管理

Amazon Elasticsearch Service (Amazon ES) ドメイン内のドキュメントサイズが大きくなり、数が増えるため、また、ネットワークトラフィックが増大するため、Elasticsearch クラスターの設定を更新する必要が出てきます。ドメインを再設定する時期を把握するには、ドメインメトリクスを監視する必要があります。ドメインに対するデータ関連の API 呼び出しを監査する、またはドメインにタグを割り当てる必要がある場合もあります。ここでは、これらのタスクや、ドメインの管理に関連する他のタスクを実行する方法を説明します。

設定変更について

Amazon ES では、ドメインの更新時に Blue/Green デプロイプロセスが使用されます。Blue/Green は通常、2 つの本稼働環境 (ライブとアイドル) に使用して、ソフトウェアの変更時に両者間で切り替える方法を指します。Amazon ES の場合は、ドメインの更新用に新しい環境を作成し、これらの更新の完了後に新しい環境にユーザーをルーティングする方法を指します。この方法では、新しい環境へのデプロイに失敗しても、ダウンタイムを最小限に抑えることができ、元の環境を維持することができます。

次のオペレーションにより、Blue/Green デプロイが発生します。

  • インスタンスの数またはタイプの変更

  • 専用マスターノードを有効または無効にする

  • 専用マスターノード数を変更する

  • ゾーン対応を有効または無効にする

  • ストレージタイプ、ボリュームタイプ、ボリュームサイズを変更する

  • 別の VPC のサブネットを選択する

  • VPC セキュリティグループの追加または削除

  • Kibana の Amazon Cognito 認証を有効または無効にする

  • 別の Amazon Cognito ユーザープールまたは ID プールを選択する

  • 詳細設定の変更

  • エラーログまたはスローログの CloudWatch への公開を有効または無効にする

  • Elasticsearch の新しいバージョンへのアップグレード

次のオペレーションにより、Blue/Green デプロイは発生しません

  • アクセスポリシーの変更

  • 自動スナップショットの時間の変更

Amazon ES チームによってサービスに対する特定のソフトウェア変更時にドメインの更新も発生します。設定の変更を開始すると、ドメインの状態が Processing に変化します。Amazon ES チームによってソフトウェアの変更が行われた場合、状態はアクティブのままになります。どちらの場合も、クラスターの状態と Amazon CloudWatch メトリクスを調べると、ドメイン更新中はクラスター内のノード数が一時的に増加 — しばしば倍増 — していることを確認できます。次の図では、設定の変更中にノード数が 11 から 22 に倍増し、更新が完了すると 11 に戻っていることがわかります。


                ドメイン設定の変更中にノード数が 11 から 22 に倍増しています。

この一時的な増加により、管理対象のノード数がかなり増えるため、クラスターの専用マスターノードへの負荷が高くなります。専用マスターノードでは、Blue/Green デプロイに関連するオーバーヘッドを処理するための十分な容量を維持することが重要です。

重要

設定の変更およびサービスのメンテナンス中に、追加料金は発生しません。課金対象となるのは、クラスター用にリクエストしたノード数のみです。詳細については、「設定変更に関連する料金」を参照してください。

専用マスターノードに過度な負荷がかかることを防ぐには、Amazon CloudWatch メトリクスを使用して使用率を監視できます。推奨される最大値については、「推奨 CloudWatch アラーム」を参照してください。

設定変更に関連する料金

ドメインの設定を変更すると、「設定変更について」で説明されているように、Amazon ES で新しいクラスターが作成されます。古いものから新しいものへの移行中、以下の料金が発生します。

  • インスタンスタイプを変更した場合、両方のクラスター (最初の 1 時間) が課金されます。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します。

    例: 3 つの m3.xlarge インスタンスから 4 つの m4.large インスタンスに設定を変更した場合。最初の 1 時間は、両方のクラスターに課金されます (3 * m3.xlarge + 4 * m4.large)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します (4 * m4.large)。

  • インスタンスタイプを変更しない場合は、最大のクラスターに対してのみ課金されます (最初の 1 時間)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します。

    例: 6 つの m3.xlarge インスタンスから 3 つの m3.xlarge インスタンスに設定を変更した場合。最初の 1 時間は、最大のクラスターに課金されます (6 * m3.xlarge)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します (3 * m3.xlarge)。

ゾーン対応の有効化

それぞれの AWS リージョンは地理別に分類された地域でありアベイラビリティーゾーンと呼ばれる複数の独立したロケーションを持っています。ノードまたはデータセンターの障害時にデータの損失を防ぎ、ダウンタイムを最小限に抑えるには、Amazon ES コンソールを使用し、同じリージョンの 2 つのアベイラビリティーゾーンに対して、Elasticsearch クラスターのノードとシャードを割り当てることができます。この割り当ては、ゾーン対応と呼ばれます。ゾーン対応では、インスタンス数を偶数にする必要があり、ネットワークレイテンシーが少し長くなります。

ゾーン対応を有効にする場合は、クラスターの各インデックスに少なくとも 1 つのレプリカが必要です。さいわい、すべてのインデックスのデフォルト設定で、レプリカの数は 1 つです。Amazon ES は、異なるアベイラビリティゾーンのノード間でプライマリとレプリカのシャードを分散するため、クラスタの可用性が向上します。

重要

インデックスに対してレプリカの数として 0 を指定した場合、ゾーン対応を有効にしても、データ耐久性や可用性は高まりません。レプリカがない場合、Amazon ES はデータのコピーを他のアベイラビリティーゾーンに分散することはできません。

ゾーン対応を有効にし、VPC アクセスドメインを使用する場合、VPC サブネットのアベイラビリティーゾーンを指定する必要があります。VPCs の詳細については、「Amazon Elasticsearch Service ドメインの VPC サポート」を参照してください。

次の図では、ゾーン対応が有効な 4 ノードクラスターを表しています。このサービスはシャードを分散し、いずれのレプリカシャードも、対応するプライマリシャードと同じアベイラビリティーゾーンに存在しないようにします。

1 つのアベイラビリティーゾーン (AZ) でサービスの中断が発生した場合、マスターノードの選択動作によっては、クラスターのダウンタイムが発生する可能性が五分五分です。たとえば、3 つの推奨の専用マスターノードを使用する場合、Amazon ES は 2 つの専用マスターノードを 1 つの AZ に分散し、1 つの専用マスターノードを他の AZ に分散します。2 つの専用マスターノードを持つ AZ で中断が発生した場合、残りの AZ が、欠落した専用マスターノードの置き換え、クォーラムのアーカイブ、および新しいマスターの選択を自動的に行えるようになるまで、クラスターは利用できなくなります。

さらに、1 つの AZ で中断が発生し、欠落したノードを置き換えるために Amazon ES が自動的に新しいノードを設定する間、クラスターのデータノードで非常に大きな負荷がかかる期間が発生する可能性があります。突然、クラスターに対するリクエスト数の半分もの数のノードが、処理を実行しなければならなくなります。ノードがこれらのリクエストを処理するときに、残りのノードはオンラインになる新しいノードにデータをレプリケートするのに苦労します。追加のリソースを持つクラスターであれば、このような懸念は軽減されます。

ゾーン対応 (コンソール) を有効にするには

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. [分析] で、[Elasticsearch Service] を選択します。

  3. ナビゲーションペインにある、[My domains (マイドメイン)] で、Amazon ES ドメインを選択します。

  4. [Configure cluster (クラスターの設定)] を選択します。

  5. [Node configuration (ノードの設定)] ペインで、[Enable zone awareness (ゾーン対応の有効化)] を選択します。

  6. [Submit] を選択します。

詳細については、EC2 ドキュメントの「リージョンとアベイラビリティーゾーン」を参照してください。

Amazon CloudWatch を使用した、クラスターメトリクスと統計情報の監視 (コンソール)

Amazon ES ドメインは、1 分ごとにパフォーマンスメトリクスを Amazon CloudWatch に送信します。汎用または磁気 EBS ボリュームを使用する場合は、EBS ボリュームのメトリックスは 5 分ごとのみに更新されます。これらのメトリクスを表示するには、追加料金なしで提供される Amazon Elasticsearch Service コンソールの [モニタリング] タブを使用します。

統計からは、各メトリクスに対する、幅広い情報が得られます。たとえば、クラスター内のすべてのノードの CPU の平均使用率を算出するには、[CPUUtilization] メトリクスの [Average (平均)] 統計を表示します。メトリクスはそれぞれ、3 つのカテゴリのうちのどれかに分けられます。

注記

サービスは、メトリクスを 2 週間アーカイブし、その後破棄します。

メトリクスの設定可能な統計情報を表示するには (コンソール)

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. [分析] で、[Elasticsearch Service] を選択します。

  3. ナビゲーションペインにある、[My domains (マイドメイン)] で、Amazon ES ドメインを選択します。

  4. [Monitoring] タブを選択します。

  5. 表示するメトリクスを選択します。

  6. [Statistic (統計)] の一覧から統計を選択します。

    各メトリクスに関連する統計の一覧は、クラスターメトリクスの表を参照してください。統計のなかには、特定のメトリクスに関連のないものがあります。たとえば、[Sum] 統計は、[Nodes (ノード)] メトリクスには意味がありません。

  7. [Update graph (更新グラフ)] を選択します。

クラスターメトリクス

注記

メトリクスが Amazon Elasticsearch Service コンソールで使用できない場合にクラスターメトリクスを確認するには、Amazon CloudWatch を使用します。

AWS/ES 名前空間には、次のクラスターのメトリクスが含まれます。

メトリクス 説明
ClusterStatus.green

すべてのインデックスのシャードがクラスターのノードに割り当てられることを示します。

関連する統計: Minimum、Maximum

ClusterStatus.yellow すべてのインデックスのプライマリシャードがクラスターのノードに割り当てられていることを示しますが、少なくとも 1 つのインデックスのレプリカシャードは割り当てられていません。レプリカを割り当てることができる 2 番目のノードがないため、単一ノードクラスターがこのクラスター状態に常に初期化します。緑のクラスター状態を取得するためにノード数を増やすか、Elasticsearch API を使用して number_of_replicas を設定し、インデックス用に 0 にすることができます。詳細については、「Amazon Elasticsearch Service ドメインの設定」を参照してください。

関連する統計: Minimum、Maximum

ClusterStatus.red

少なくとも 1 つのインデックスのプライマリとレプリカの両方のシャードが、クラスターのノードに割り当てられないことを示します。復旧するには、インデックスを削除するかスナップショットを復元します。次に、EBS ベースのストレージを追加するか、より大きなインスタンスタイプを使用するか、インスタンスを追加します。詳細については、「Red Cluster Status」を参照してください。

関連する統計: Minimum、Maximum

Nodes

Amazon ES クラスターのノード数 (例: 専用マスターノード)。

関連する統計: Minimum、Maximum、Average

SearchableDocuments

クラスター内のすべてのインデックスで検索可能なドキュメントの合計数。

関連する統計: Minimum、Maximum、Average

DeletedDocuments

クラスター内のすべてのインデックスで削除対象としてマークされたドキュメントの合計数。これらのドキュメントは検索結果に表示されなくなっていますが、セグメントマージ中にディスクから削除されたドキュメントのみが Elasticsearch によって削除されます。このメトリクスは、削除リクエスト後に増加し、セグメントマージ後に減少します。

関連する統計: Minimum、Maximum、Average

CPUUtilization

クラスター内のデータノードで使用する CPU リソースの最大パーセンテージ。

関連する統計: Maximum、Average

FreeStorageSpace

クラスター内のノードの空き容量 (メガバイト単位)。Sum は、クラスターの合計空き容量を示します。MinimumMaximum、および Average は、個々のノードの空き容量を示します。メトリクスが 0 に到達すると、Amazon ES は ClusterBlockException をスローします。復旧するには、インデックスを削除する、より大きなインスタンスを追加する、既存のインスタンスに EBS ベースのストレージを追加する、のいずれかを実行する必要があります。詳細については、「空きストレージ領域の不足からの復旧」を参照してください。

注記

FreeStorageSpace は、Elasticsearch _cluster/stats API が提供する値より常に低くなります。Amazon ES は、内部オペレーションのために、各インスタンスの記憶域の一定割合を予約します。

関連する統計: Minimum、Maximum、Average、Sum

ClusterUsedSpace

クラスター用の合計使用領域 (メガバイト単位)。Amazon CloudWatch コンソールでこのメトリクスを表示できますが、Amazon ES コンソールでは表示できません。

関連する統計: Minimum、Maximum

ClusterIndexWritesBlocked

クラスターで、着信する書き込みリクエストを受け入れるか、ブロックするかを指定します。値 0 では、クラスターでリクエストを受け入れます。値 1 ではリクエストをブロックします。

クラスターでリクエストをブロックする原因としては、多くの要素が考えられます。代表的なものとしては、FreeStorageSpace が少なすぎる、JVMMemoryPressure が高すぎる、CPUUtilization が高すぎるなどがあります。この問題を軽減するには、ディスク容量の追加やクラスターのスケーリングを検討します。

関連する統計: Maximum

注記

このメトリクスは、Amazon CloudWatch コンソールでは表示できますが、Amazon ES コンソールでは表示できません。

JVMMemoryPressure

クラスター内のすべてのデータノードで使用する Java ヒープの最大パーセンテージ。

関連する統計: Maximum

AutomatedSnapshotFailure

クラスターの失敗した自動スナップショットの数。1 の値は、自動スナップショットが過去 36 時間、ドメイン用に取られなかったことを示します。

関連する統計: Minimum、Maximum

CPUCreditBalance

クラスター内の、データノードに使用できる残りの CPU クレジット。CPU クレジットは、フル CPU パフォーマンスを 1 分間実現します。詳細については、『Amazon EC2 開発者ガイド』の「CPU クレジット」を参照してください。このメトリクスは、t2.micro.elasticsearch、t2.small.elasticsearch、t2.medium.elasticsearch インスタンスタイプでのみ使用できます。

関連する統計: Minimum

KibanaHealthyNodes

Kibana のヘルスチェック。値 1 は正常な動作を示します。値 0 は Kibana がアクセス不可であることを示します。通常、Kibana の状態はクラスターの状態を反映しています。

関連する統計: Minimum

注記

このメトリクスは、Amazon CloudWatch コンソールでは表示できますが、Amazon ES コンソールでは表示できません。

KMSKeyError

値 1 は、保管時のデータを暗号化するために使用される KMS カスタマーマスターが無効になっていることを示します。通常のオペレーションにドメインを復元するには、キーを再度有効にします。コンソールでは、保管時のデータを暗号化するドメインに対してのみ、このメトリクスが表示されます。

関連する統計: Minimum、Maximum

KMSKeyInaccessible

値 1 は、保管時のデータを暗号化するために使用される KMS カスタマーマスターが削除されたか、Amazon ES への権限が取り消し済みであることを示します。この状態にあるドメインを復元することはできません。ただし、手動のスナップショットがある場合は、それを使用してドメインのデータを新しいドメインに移行できます。コンソールでは、保管時のデータを暗号化するドメインに対してのみこのメトリクスが表示されます。

関連する統計: Minimum、Maximum

InvalidHostHeaderRequests

Elasticsearch クラスターに対する HTTP リクエストのうち、ホストヘッダーが無効な (または欠落している) ものの数。有効なリクエストのホストヘッダー値としてドメインのエンドポイントが必要です。このメトリクスの値が大きい場合は、Elasticsearch クライアントでリクエストのホストヘッダー値が正しいことを確認してください。正しくない場合、Amazon ES はリクエストを拒否します。署名付きリクエストを要求するようにドメインのアクセスポリシーを更新することもできます。

関連する統計: Sum

ElasticsearchRequests

Elasticsearch クラスターに対するリクエストの数。

関連する統計: Sum

RequestCount

ドメインへのリクエストの数と、各リクエストの HTTP レスポンスコード (2xx、3xx、4xx、5xx)。

関連する統計: Sum

次のスクリーンショットは、前述の表で説明してあるクラスターメトリクスを示します。

専用マスターノードメトリクス

AWS/ES 名前空間には専用マスターノードの次のメトリクスが含まれます。

メトリクス 説明
MasterCPUUtilization

専用マスターノードが使用する CPU リソースの最大パーセンテージ。このメトリクスが 60 パーセントに達する場合、インスタンスタイプのサイズを増やすことをお勧めします。

関連する統計: Average

MasterFreeStorageSpace

このメトリクスは関係ないため無視できます。 このサービスはデータノードとしてマスターノードを使用しません。

MasterJVMMemoryPressure

クラスター内のすべての専用マスターノードで使用する Java ヒープの最大パーセンテージ。このメトリクスが 85 パーセントに達する場合、より大規模なインスタンスタイプに移行することをお勧めします。

関連する統計: Maximum

MasterCPUCreditBalance

クラスター内の専用マスターノードで使用できる、残りの CPU クレジット。CPU クレジットは、フル CPU パフォーマンスを 1 分間実現します。詳細については、「CPU クレジット」 (Linux インスタンス用 Amazon EC2 ユーザーガイド) を参照してください。このメトリクスは、t2.micro.elasticsearch、t2.small.elasticsearch、t2.medium.elasticsearch インスタンスタイプでのみ使用できます。

関連する統計: Minimum

MasterReachableFromNode

MasterNotDiscovered 例外のヘルスチェック。値 1 は正常な動作を示します。値 0 は、/_cluster/health/ の動作が正常ではないことを示します。

動作が正常でないとは、マスターノードが停止しているか、到達不可能であることを意味します。通常、これらの原因はネットワーク接続または AWS 依存関係の問題です。

関連する統計: Minimum

注記

このメトリクスは、Amazon CloudWatch コンソールでは表示できますが、Amazon ES コンソールでは表示できません。

次のスクリーンショットは、前述の表で説明してある専用マスターノードのメトリクスを示しています。

EBS ボリュームメトリクス

AWS/ES 名前空間には、次の EBS ボリュームのメトリクスが含まれます。

メトリクス 説明
ReadLatency

EBS ボリュームでの読み取り操作のレイテンシー (秒単位)。

関連する統計: Minimum、Maximum、Average

WriteLatency

EBS ボリュームでの書き込み操作のレイテンシー (秒単位)。

関連する統計: Minimum、Maximum、Average

ReadThroughput

EBS ボリュームでの読み取り操作のスループット (バイト/秒単位)。

関連する統計: Minimum、Maximum、Average

WriteThroughput

EBS ボリュームでの書き込み操作のスループット (バイト/秒単位)。

関連する統計: Minimum、Maximum、Average

DiskQueueDepth

EBS ボリュームに対する保留中の入出力 (I/O) リクエストの数。

関連する統計: Minimum、Maximum、Average

ReadIOPS

EBS ボリュームでの読み取り操作の入出力 (I/O) 操作数 (1 秒あたり)。

関連する統計: Minimum、Maximum、Average

WriteIOPS

EBS ボリュームでの書き込み操作の入出力 (I/O) 操作数 (1 秒あたり)。

関連する統計: Minimum、Maximum、Average

次のスクリーンショットは、前述の表で説明してある EBS ボリュームメトリクスを示します。

AWS CloudTrail を使用した Amazon Elasticsearch Service​ 設定 API 呼び出しのログ記録

Amazon Elasticsearch Service は、ユーザー、ロール、または Amazon ES の AWS サービスによって実行されるアクションを記録するサービス AWS CloudTrail と統合されています。CloudTrail では、イベントとして Amazon ES に対するすべての設定 API 呼び出しをキャプチャします。

注記

CloudTrail は、_search_bulk などの​ Elasticsearch API ではなく、CreateElasticsearchDomainGetUpgradeStatus などの設定 API 呼び出しのみをキャプチャします。

キャプチャされる呼び出しには、Amazon ES コンソール、CLI、または SDK からの呼び出しが含まれます。証跡を作成する場合は、Amazon ES のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history (イベント履歴)] で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、リクエストの作成元の IP アドレス、リクエストの実行者、リクエストの実行日時などの詳細を調べて、Amazon ES に対してどのようなリクエストが行われたかを判断できます。

CloudTrail の詳細については、「AWS CloudTrail User Guide」を参照してください。

CloudTrail 内の Amazon Elasticsearch Service 情報

CloudTrail は、アカウント作成時に AWS アカウントで有効になります。Amazon ES でアクティビティが発生すると、そのアクティビティは [Event history (イベント履歴)] の AWS の他のサービスのイベントとともに CloudTrail イベントに記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。

のイベントなど、 アカウントのイベントの継続的な記録については、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで作成した証跡がすべての AWS リージョンに適用されます。証跡では、AWS パーティションのすべてのリージョンからのイベントがログに記録され、指定した Amazon S3 バケットにログファイルが配信されます。さらに、より詳細な分析と AWS ログで収集されたデータに基づいた行動のためにその他の CloudTrail サービスを設定できます。詳細については、以下を参照してください。

すべての Amazon ES 設定 API アクションは CloudTrail が記録し、Amazon Elasticsearch Service 設定 API リファレンス に文書化されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。この ID 情報は以下のことを確認するのに役立ちます。

  • リクエストが、ルートまたは AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたかどうか。

  • リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか.

  • リクエストが、別の AWS サービスによって送信されたかどうか。

詳細については、「CloudTrail userIdentity 要素」を参照してください。

Amazon Elasticsearch Service ログファイルエントリの概要

証跡は、指定した Amazon S3 バケットにイベントをログファイルとして配信できる設定です。CloudTrail ログファイルには、1 つ以上のログエントリが含まれます。イベントは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどに関する情報が含まれます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

以下の例は、CreateElasticsearchDomain アクションの CloudTrail ログエントリを示しています。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:user/test-user", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "test-user", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-21T21:59:11Z" } }, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2018-08-21T22:00:05Z", "eventSource": "es.amazonaws.com", "eventName": "CreateElasticsearchDomain", "awsRegion": "us-west-1", "sourceIPAddress": "123.123.123.123", "userAgent": "signin.amazonaws.com", "requestParameters": { "elasticsearchVersion": "6.3", "elasticsearchClusterConfig": { "instanceType": "m4.large.elasticsearch", "instanceCount": 1 }, "snapshotOptions": { "automatedSnapshotStartHour": 0 }, "domainName": "test-domain", "encryptionAtRestOptions": {}, "eBSOptions": { "eBSEnabled": true, "volumeSize": 10, "volumeType": "gp2" }, "accessPolicies": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"123456789012\"]},\"Action\":[\"es:*\"],\"Resource\":\"arn:aws:es:us-west-1:123456789012:domain/test-domain/*\"}]}", "advancedOptions": { "rest.action.multi.allow_explicit_index": "true" } }, "responseElements": { "domainStatus": { "created": true, "elasticsearchClusterConfig": { "zoneAwarenessEnabled": false, "instanceType": "m4.large.elasticsearch", "dedicatedMasterEnabled": false, "instanceCount": 1 }, "cognitoOptions": { "enabled": false }, "encryptionAtRestOptions": { "enabled": false }, "advancedOptions": { "rest.action.multi.allow_explicit_index": "true" }, "upgradeProcessing": false, "snapshotOptions": { "automatedSnapshotStartHour": 0 }, "eBSOptions": { "eBSEnabled": true, "volumeSize": 10, "volumeType": "gp2" }, "elasticsearchVersion": "6.3", "processing": true, "aRN": "arn:aws:es:us-west-1:123456789012:domain/test-domain", "domainId": "123456789012/test-domain", "deleted": false, "domainName": "test-domain", "accessPolicies": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":\"es:*\",\"Resource\":\"arn:aws:es:us-west-1:123456789012:domain/test-domain/*\"}]}" } }, "requestID": "12345678-1234-1234-1234-987654321098", "eventID": "87654321-4321-4321-4321-987654321098", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

Amazon Elasticsearch Service ドメインのタグ付け

Amazon ES タグを使用して、Amazon ES ドメインにメタデータを追加できます。AWS は、タグに意味論的意味を適用しません。タグは単なる文字列として解釈されます。タグには、次の要件があります。

タグ要素 説明
タグキー タグキーは、必須のタグ名です。タグキーは添付される Amazon ES ドメインで一意にする必要があります。タグキーと値の基本的な制限の一覧については、「ユーザー定義タグの制限」を参照してください。
タグ値 タグ値は、タグの省略可能な文字列値です。タグ値は null を指定できます。また、タグセット内で一意である必要はありません。例えば、project/Trinity と cost-center/Trinity のタグセット内に 1 つのキーと値のペアを使用できます。タグキーと値の基本的な制限の一覧については、「ユーザー定義タグの制限」を参照してください。

各 Amazon ES ドメインには、その Amazon ES ドメインに割り当てられているすべてのタグを格納するタグセットがあります。AWS は、Amazon ES ドメインにタグを自動的に設定しません。タグセットには、最大 50 個のタグを格納でき、空にすることもできます。 Amazon ES ドメインに追加したタグのキーがそのリソースの既存のタグのキーと同じ場合、既存の値は新しい値によって上書きされます。

これらのタグを使用して、類似のリソースの費用をグループ化することで、コストを追跡できます。Amazon ES ドメインタグは、Amazon ES ドメインを定義して関連付ける名前と値のペアです。その名前はキーと呼ばれます。タグを使用して、Amazon ES ドメインに任意の情報を割り当てることができます。たとえば、タグキーを使用してカテゴリを定義し、タグ値をそのカテゴリのアイテムにすることができます。具体的には、「project」というタグキーと「Salix」というタグ値を定義して、Amazon ES ドメインが Salix プロジェクトに割り当てられていることを示すことができます。また、タグキーとして environment=test や environment=production などを使用して、Amazon ES ドメインがテスト用なのか本稼働用なのかを示すこともできます。Amazon ES ドメインに関連付けられているメタデータの追跡が簡単になるように、一貫した一連のタグキーを使用することをお勧めします。

タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することもできます。そのためには、サインアップして、タグキー値が含まれた AWS アカウントの請求書を取得する必要があります。その後、同じタグキー値を持つリソースに従って請求情報を整理し、結合したリソースのコストを確認します。たとえば、複数の Amazon ES ドメインにキーと値のペアをタグ付けし、請求情報を整理して複数のサービスにおける各ドメインの合計コストを確認できます。詳細については、AWS 請求情報とコスト管理の「コスト配分タグの使用」を参照してください。

注記

タグは承認用にキャッシュに格納されます。そのため、Amazon ES ドメインに対するタグの追加や更新には数分かかることがあります。

タグの操作 (コンソール)

以下の手順を使用してリソースタグを作成します。

タグを作成するには (コンソール)

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. [分析] で、[Elasticsearch Service] を選択します。

  3. ナビゲーションペインで、Amazon ES ドメインを選択します。

  4. ドメインダッシュボードで、[Manage tags (タグの管理)] を選択します。

  5. [Key (キー)] 列に、タグキーを入力します。

  6. (オプション) [Value (値)] 列にタグ値を入力します。

  7. [Submit] を選択します。

タグを削除するには (コンソール)

以下の手順を使用してリソースタグを削除します。

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. [分析] で、[Elasticsearch Service] を選択します。

  3. ナビゲーションペインで、Amazon ES ドメインを選択します。

  4. ドメインダッシュボードで、[Manage tags (タグの管理)] を選択します。

  5. 削除するタグの横にある [Remove (削除)] を選択します。

  6. [Submit] を選択します。

コンソールを使用したタグの操作の詳細については、AWS マネジメントコンソールの入門ガイドの「タグエディタの使用」を参照してください。

タグの操作 (AWS CLI)

AWS CLI で --add-tags コマンドを使用して、リソースタグを作成することができます。

構文

add-tags --arn=<domain_arn> --tag-list Key=<key>,Value=<value>

パラメータ 説明
--arn タグが添付される Amazon ES ドメインの Amazon リソースネーム。
--tag-list スペースで区切られたキーと値のペアの以下の形式のセット: Key=<key>,Value=<value>

次の例では、ログ ドメイン用に 2 つのタグを作成します。

aws es add-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-list Key=service,Value=Elasticsearch Key=instances,Value=m3.2xlarge

remove-tags コマンドを使用して Amazon ES ドメインからタグを削除できます。

構文

remove-tags --arn=<domain_arn> --tag-keys Key=<key>,Value=<value>

パラメータ 説明
--arn タグが添付される Amazon ES ドメインの Amazon リソースネーム (ARN)。
--tag-keys Amazon ES ドメインから削除するスペース区切りのタグ値のセット。

次の例は、ログドメインから前述の例で作成した 2 つのタグを削除します。

aws es remove-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-keys service instances

list-tags コマンドで Amazon ES ドメインの既存のタグを表示できます。

構文

list-tags --arn=<domain_arn>

パラメータ 説明
--arn タグが添付される Amazon ES ドメインの Amazon リソースネーム (ARN)。

次の例は、ログドメインのすべてのリソースタグをリスト表示します。

aws es list-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs

タグの操作 (AWS SDK)

AWS SDK では (Android および iOS SDK を除く)、AddTagsListTagsRemoveTags オペレーションを含む、Amazon ES 設定 API リファレンスで定義されたすべてのアクションがサポートされています。AWS SDK のインストールと使用の詳細については、「AWS Software Development Kits」を参照してください。