データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

スナップショットにS3を使用するようにElasticsearchを構成します

元々は2017年3月2日にObjectRocket.com/blogで公開されました

データプラットフォームは拡大と変革を続けていますが、1つの側面が変わることはないようです。それでも、誰もがデータのバックアップコピーを望んでいます。このウォークスルーでは、S3リポジトリプラグインをRackspaceObjectRocketforElasticsearch®インスタンスで活用する方法を示します。

スナップショットにS3を使用するようにElasticsearchを構成します

データプラットフォームの拡張と変換が続く中、1つの側面は同じままです&mdassh;誰もがデータのバックアップコピーを必要としています!テクノロジーの進化には、ローカル開発環境に復元するためのバックアップへのアクセス、保管またはコンプライアンスのためのコピーなどが必要です。 。この投稿では、S3リポジトリプラグインをRackspace®ObjectRocket®forElasticsearchインスタンスで活用する方法について説明します。

スナップショットコンポーネント

Elasticsearchスナップショットは、リポジトリ、スナップショット、一意のスナップショット名の3つの主要コンポーネントで構成されています。リポジトリには、スナップショットを保存する場所と方法に関する特定の詳細が含まれています。デフォルトの夜間のObjectRocketバックアップは次のタイプです:fs 、およびS3バックアップのタイプ:S3 。これらは両方とも、わずかに異なる設定構造を持っています。リポジトリのスニペットの例を次に示します。

GET /_snapshot?pretty
...
{
  "s3_repository" : {
    "type" : "s3",
    "settings" : {
      "bucket" : "MYBUCKETNAME",
      "server_side_encryption" : "false",
      "region" : "us-east-1",
      "compress" : "false"
    }
  }
}
...

表示される各リポジトリは、配列にリストされた1つ以上のスナップショットで構成されます。

GET /_snapshot/s3_repository/_all?pretty
[... 
  {
    "snapshot" : "20170208225601",
    "uuid" : "t6R6jxLJTIueQizv9clJYg",
    "version_id" : 5010499,
    "version" : "5.1.1",
    "indices" : [ ".triggered_watches", ".watch_history-2016.10.26", "elastalert_status", "coffee-2016.10.301", ".kibana", "coffee-2016.10.305", "coffee-2016.10.304", "coffee-2016.10.303", "coffee-2016.10.302", ".watches" 
    ],
    "state" : "SUCCESS",
    "start_time" : "2017-02-09T06:56:01.191Z",
    "start_time_in_millis" : 1486623361191,
    "end_time" : "2017-02-09T06:56:12.179Z",
    "end_time_in_millis" : 1486623372179,
    "duration_in_millis" : 10988,
    "failures" : [ ],
    "shards" : {
      "total" : 57,
      "failed" : 0,
      "successful" : 57
    }
  }]

すべての_snapshot 操作では、正しいリポジトリ、スナップショット、およびスナップショット識別子を参照する必要があります。前の例から、snapshot : 20170208225601を使用します 一意の識別子として。

####S3へのバックアップの送信

Elasticsearchを使用してS3リポジトリを設定するのは比較的簡単なプロセスです。バックアップをS3バケットに送信するための前提条件はごくわずかです:

  1. repository-s3をインストールします プラグイン。
  2. クラスタが外部からS3に到達できることを確認してください。
  3. S3の適切なクレデンシャル(バケット、シークレット、キー)を持っている。

ObjectRocket Elasticsearchインスタンスがある場合、最初の2つの手順はデフォルトで実行されているはずであり、3番目のコンポーネントのS3クレデンシャルが必要です。 Elasticsearchスナップショットプロセスを制限する場合は、カスタムポリシーを作成します AWS®IAMコンソールを使用します。ポリシードキュメントは、次の例のようになります(MYBUCKETNAMEを置き換えます):

{
  "Statement": [
    {
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::MYBUCKETNAME"
      ]
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:AbortMultipartUpload",
        "s3:ListMultipartUploadParts"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::MYBUCKETNAME/*"
      ]
    }
  ],
  "Version": "2012-10-17"

}

前提条件が整ったら、最初のステップはS3リポジトリを作成することです:

PUT /_snapshot/s3_repository
{
  "type": "s3",
  "settings": {
    "bucket": "MYBUCKETNAME",
    "region": "us-east-1",
    "access_key": "KEY",
    "secret_key": "SECRET"
  }
}'

リポジトリを作成した後、すべての標準の_snapshot操作を実行できます。新しいスナップショットを作成する場合は、次のエンドポイントにアクセスして、 SNAPSHOT_NAMEを定義します。 :

PUT /_snapshot/s3_repository/SNAPSHOT_NAME?wait_for_completion=false

スナップショットの実行に時間がかかる場合があるため、実行中のステータスを確認することをお勧めします。 スナップショット。このエンドポイントを使用すると、現在実行中のスナップショットまたは復元操作に関する詳細が表示されます。

GET /_snapshot/_status

ここで、最後のスナップショットが完了した直後にすべてのインデックスを削除し、すぐに決定を後悔したとします。 S3スナップショットからすべてのインデックスを復元するには、次のコマンドを実行します。

POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore

インデックスを選択的に復元する必要がある場合は、形式を少し変更してください。例:

POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore
{
  "indices": "myindex_1,myindex_2",
  "ignore_unavailable": true
}

クラスターで一度に実行できるスナップショットまたは復元操作は1つだけであることを指摘しておく価値があります。さらに、スナップショットはクラスタのパフォーマンスにわずかな影響を与えるため、バックアップポリシーがあまり積極的でないことを確認してください!

いつものように、support @ objectrocket.com

でこれらの手順で問題が発生した場合は、お気軽にお問い合わせください。

コメントや質問をするには、[フィードバック]タブを使用します。 セールスチャットをクリックすることもできます 今すぐチャットして会話を始めましょう。


  1. テレビを Windows 11 PC のモニターとして使用する方法

    Netflix で映画を見たり、友達とゲームをしたりしているときに、コンピューターの画面が小さすぎると感じることはありませんか? さて、あなたの問題の解決策はあなたの居間にあります。テレビはコンピューターのディスプレイとして機能し、最近スマートテレビを使用する人が非常に多いことを考えると、それは非常に簡単な作業です.この記事を最後まで読んで、TV を Windows 11 PC のモニターとして使用する方法と、Windows 11 を TV に接続する方法を学ぶだけです。 テレビを Windows 11 PC のモニターとして使用する方法 テレビを Windows 11 PC のモニタ

  2. アーキテクト向けのソフトウェアを使用する必要がある

    建築士とは?建物やインフラの工事を企画・監理する人だという前に、ちょっと空想してみてください。私たちにとって、建築家は夢の建築者です。お金の制限のために 1 BHK のアパートに落ち着かなければならないか、大当たりしたら豪華な 10 ベッドルームのヴィラにアップグレードするかは問題ではありません。建築家は、私たちの住まいへの夢を変えて、家にする魔法のエルフです。彼らは無数の市の規制、エンジニアリングの制限、そしてもちろんクライアントの予算を念頭に置いてそうしています. フィールド上のすべての人は、自分の努力を容易にする彼の取引ツールを持っています。したがって、アーキテクトも、最も人気のある