概要
Tencent Cloud Elasticsearch Service(ES)は、オープンソース検索エンジンElasticsearchをベースに構築された、ハイアベイラビリティでスケーラブルなクラウドフルマネージド型Elasticsearchサービスです。Kibanaおよび一般的なプラグインが含まれ、セキュリティ、SQL、機械学習、警告、監視などの高度な機能(X-Pack)が統合されています。Tencent Cloud ESを利用すると、迅速な配置、簡単な管理、必要に応じたクラスターの拡張ができ、複雑な運営維持操作を簡素化させ、ログ分析、異常監視、ウェブ検索、企業検索、BI分析などの業務を迅速に構築できます。
Tencent Cloud ESは、計算、ストレージ、セキュリティなどの分野におけるTencent Cloud計算の技術的優位性を統合しつつ、Elasticsearchの互換性とオープン性を兼ね備えています。豊富なクラスター管理機能およびセキュリティ、エラスティック、ハイアベイラビリティなどの特性を備えており、公式の高度なビジネス機能(X-Pack)も統合されています。オープンソースベースに、権限管理、SQL、機械学習、警告などの機能を追加し、クラスター配置や運営管理などの基本的な運営維持作業を簡素化し、業務自体に専念します。
Tencent Cloud ESを通じて、ウェブ検索ナビゲーション、エンタープライズ級検索、サービスログの異常監視、クリックストリーム分析など,大容量データストレージの検索やリアルタイムログ分析などのアプリケーションを迅速に構築できます。
ESとCOSの連携使用シナリオは、主にデータ移行・バックアップ復元などにあります。その原理は、COSを介してソースESデータを一時的に保存し、その後、保存されたデータをターゲットESクラスターに非同期復元するプロセスです。
準備作業
パブリック読み取り・プライベート書き込みのストレージバケット
を作成します。詳細については、ストレージバケットの作成を参照してください。 注意:
COS bucketのリージョンは、必ずESと一致する必要があります。
COSプラグインのインストール
Tencent Cloud ESには、これらのプラグインがデフォルトで統合されています。ユーザーが独自に構築したESクラスターを使用し、COSを使用する必要がある場合は、ユーザーの対応するESバージョンのCOSプラグインをインストールする必要があります。
COSプラグインの機能
ユーザーが独自に構築したクラスターのスナップショットファイルをCOSバケットに直接バックアップし、ターゲットElasticsearchクラスターで復元できます。
プラグインのダウンロード
Github にアクセスして、Tencent Cloud ESのCOSプラグインをダウンロードします。この実践では、プラグインの7.2.0バージョンを例に説明します。他のバージョンの違いについては、releases を参照してください。 プラグインのインストール手順
1. 対応するESバージョンのプラグインを取得します。例:7.2.0バージョン。
2. ESのデフォルトアカウントelasticに対して、そのプラグインファイルのすべての権限を許可します。
3. 一般ユーザーに切り替えてプラグインをインストールし、ESサービスを再起動します。 注意:クラスターの全ノードに操作を行う必要があります。実行するコマンドは以下通りです。
bin/elasticsearch-plugin install file:///path/repository-cos.zip
下図のようになります:
4. 実行完了後、kibanaでget _cat/pluginsコマンドでインストール済みかどうかを確認できます。以下の結果が表示されれば、インストール済みです。
COSで独自構築のESのTencent Cloud ESへのデータ移行を実現
1. ローカルクラスターにCOSリポジトリを登録します。
PUT _snapshot/my_cos_backup
{
"type": "cos",
"settings": {
"access_key_id": "xxxxxx",
"access_key_secret": "xxxxxxx",
"bucket":"appIdサフィックスがないbucket名",
"region": "ap-guangzhou",
"compress": true,
"chunk_size": "500mb",
"base_path": "/yourbasepath",
"app_id": "xxxxxxx"
}
}
このコマンドを実行すると、COSの対応するbucket内のbase_pathディレクトリに、my_cos_backupという名前のリポジトリを作成します。
パラメータの説明は以下の通りです:
|
access_key_id、access_key_secret | |
bucket | ストレージバケット名。appidをつけないでください。 |
app_id | |
region | |
base_path | バックアップディレクトリ。/dir1/dir2/dir3のように、冒頭に/は使いますが、最後に/は使いません。 |
注意:
もし8.15.1バージョンのプラグインを使用している場合は、パラメータ名に「cos.client」プレフィックスが追加されていますので、ご注意ください。例:cos.client.access_key_id。
2. ローカルリポジトリにスナップショットファイルを作成すると、スナップショットファイルは自動的に指定されたCOSリポジトリにアップロードされます。put _snapshot/リポジトリ名/スナップショット名コマンドでスナップショットを作成できます。
3. Tencent Cloud ESで同様にリポジトリを登録します。異なるリポジトリ名を使っても構いません。
PUT _snapshot/my_cos_backup
{
"type": "cos",
"settings": {
"access_key_id": "xxxxxx",
"access_key_secret": "xxxxxxx",
"bucket":"appIdサフィックスがないbucket名",
"region": "ap-guangzhou",
"compress": true,
"chunk_size": "500mb",
"base_path": "/yourbasepath",
"app_id": "xxxxxxx"
}
}
4. Tencent Cloud ESで復旧を実行します。次のコマンドを使用してスナップショットの復旧を実行できます。
POST _snapshot/リポジトリ名/スナップショット名/_restore
注意:
ここで復旧するスナップショット名は、以前ソースクラスターで作成したスナップショット名です。