0
0

More than 3 years have passed since last update.

AWS ElasticsearchService のインデックス自動削除

Last updated at Posted at 2020-11-26

(ただのメモです)
IMSで30日でインデックス削除するインデックスポリシーを作成し、インデックステンプレートでインデックス作成時に自動でアタッチするようにする

KibanaやKibanaのDev Toolsで操作

インデックスポリシー作成

インデックスポリシー名:all_delete
内容:30日で削除

スクリーンショット 0002-11-27 8.42.32.png

{
    "policy": {
        "policy_id": "all_delete",
        "description": "Demonstrate a hot-warm-delete workflow.",
        "last_updated_time": 1606349256304,
        "schema_version": 1,
        "error_notification": null,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "30d"
                        }
                    }
                ]
            },
            {
                "name": "delete",
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ]
    }
}

テンプレート更新

テンプレートへの部分的な変更適用ができないので(多分)、既存のテンプレートがあればそれを元に、変更箇所を追加してPUTでテンプレートをまるごと作り直す。上書き更新的な感じ

今回既存のCloudTrailテンプレートがあったので、それを"GET _template/log-aws-cloudtrail"して、出力結果に以下を追加した。そしてそれをPUT

"opendistro.index_state_management.policy_id": "all_delete"

PUT _template/log-aws-cloudtrail
{
    "index_patterns" : [
      "log-aws-cloudtrail-*"
    ],
    "settings" : {
      "index" : {
        "mapping" : {
          "total_fields" : {
            "limit" : "3000"
          },
          "ignore_malformed" : "true"
        }
      },
      "opendistro.index_state_management.policy_id": "all_delete"
    },
    "mappings" : {
      "properties" : {
        "additionalEventData.vpcEndpointId" : {
          "type" : "keyword"
        },
        "requestParameters.instanceType" : {
          "type" : "keyword"
        },
        "eventID" : {
          "type" : "keyword"
        },
        "requestParameters.filter" : {
          "type" : "text"
        },
        "awsRegion" : {
          "type" : "keyword"
        },
        "responseElements.lastModified" : {
          "type" : "date"
        },
        "requestParameters.maxResults" : {
          "type" : "integer"
        },
        "responseElements.version" : {
          "type" : "keyword"
        },
        "responseElements.role" : {
          "type" : "text"
        },
        "errorCode" : {
          "type" : "keyword"
        },
        "requestParameters.MaxResults" : {
          "type" : "integer"
        },
        "requestParameters.sort" : {
          "type" : "keyword"
        },
        "requestParameters.endTime" : {
          "format" : "MMM dd, yyyy hh:mm:ss a||epoch_millis",
          "type" : "date"
        },
        "requestParameters.bucketPolicy.Statement.Principal" : {
          "type" : "text"
        },
        "requestParameters.sortBy" : {
          "type" : "text"
        },
        "requestParameters.startTime" : {
          "format" : "MMM dd, yyyy hh:mm:ss a||epoch_millis",
          "type" : "date"
        },
        "requestParameters.DescribeFlowLogsRequest" : {
          "type" : "text"
        },
        "requestParameters.maxItems" : {
          "type" : "integer"
        },
        "requestParameters.attribute" : {
          "type" : "text"
        }
      }
    },
    "aliases" : { }
}

確認

適当にインデックス作成

PUT log-aws-cloudtrail-2021-01-01/ 

テンプレートのマッピングに該当するインデックスが作成され、テンプレートに追加したポリシーがアタッチされるか!?
index_state_managementにpolicyがアタッチされていることがわかります

GET log-aws-cloudtrail-2021-01-01/
          "ignore_malformed" : "true"
        },
        "opendistro" : {
          "index_state_management" : {
            "policy_id" : "all_delete"
          }
        },
        "number_of_shards" : "3",

KibanaのIMSからもpolicyのall_deleteがアタッチされてるのがわかります

スクリーンショット 0002-11-27 8.36.16.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0