์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋žœ๋งŒ์— ํฌ์ŠคํŒ…์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

ํ•œ๋™์•ˆ ๋…ธ๊ฐ€๋‹ค์„ฑ ์ž‘์—…๋งŒ ํ•˜๋‹ค๋ณด๋‹ˆ ๋”ฑํžˆ ํฌ์ŠคํŒ…ํ•  ๋งŒํ•œ ๋‚ด์šฉ์ด ์—†์—ˆ๋„ค์š”.

 

์˜ค๋Š˜์€ AWS Elasticsearch(์ดํ•˜ ES)์˜ ์ธ๋ฑ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

 

์ €๋Š” AWS ES๋ฅผ ๋กœ๊น…์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ๋นจ๋ผ ๋””๋ฒ„๊น…์‹œ ์›์ธํŒŒ์•…์„ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์ฃ . ํŠน์ • ํŠธ๋ž˜ํ‚น ID๋กœ ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ๋กœ๊ทธ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์ฃผ๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ๋กœ๊ทธ๋งŒ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜์—ฌ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

์•„๋ฌดํŠผ, ์ด๋ ‡๊ฒŒ ๋กœ๊ทธ๋ฅผ ์Œ“๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ES๊ฐ€ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ด์ง€๋ฉด ๋ณ„๋‹ค๋ฅธ ์—๋Ÿฌ๋‚˜ ์•Œ๋žŒ์„ ์ฃผ์ง€์•Š๊ณ  ๋”์ด์ƒ ๋กœ๊ทธ๊ฐ€ ์Œ“์ด์ง€ ์•Š๊ฒŒ๋˜๋Š” ํ˜„์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ทธ๋Ÿฐ ์ผ์ด ์—†๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ๋ ˆ์ดํ„ฐ ์„ค์ •์„ ํ•˜์—ฌ ์‚ฌ์šฉ์ค‘์ž…๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ์ธํ”„๋ผ ์ „๋ฌธํŒ€๊ณผ ๋…ผ์˜ํ•˜์—ฌ ์„ค์ •์„ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ๋ ˆ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜๋ ค๋ฉด ์ข€ ๊ท€์ฐฎ์€ ์ž‘์—…๋“ค์ด ์ˆ˜๋ฐ˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ๋Š” ํ๋ ˆ์ดํ„ฐ ์„ค์ • ์—†์ด ์ˆ˜๋™์œผ๋กœ ๊ฐ€๋”์”ฉ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•ด์ฃผ๊ณค ํ–ˆ์ฃ . ES ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ์ด์ œ๋Š” ํ‚ค๋ฐ”๋‚˜์—์„œ ๊ฐ„๋‹จํžˆ ์„ค์ •ํ•ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ํŠน์ • ๊ธฐ๊ฐ„์ด ์ง€๋‚œ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์˜ค๋ฆฌ์ง€๋‚  ES์—์„œ๋Š” ์ด ๊ธฐ๋Šฅ์„ ILM (Index Lifecycle Management) ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๋ฐ AWS์—์„œ๋Š” ISM (Index State Management)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ์„  ์ œ๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ AWS ES ๋ฒ„์ „์€ 7.9 ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ 7.9 ๋ฒ„์ „์ด๋ผ๋„ ํŒจ์น˜๋ฒ„์ „์— ๋”ฐ๋ผ ํ‚ค๋ฐ”๋‚˜ ๋ฉ”๋‰ด๊ฐ€ ์กฐ๊ธˆ ์ƒ์ดํ•ฉ๋‹ˆ๋‹ค.

์ƒ์ดํ•œ ๋ฉ”๋‰ด๋Š” ๊ฐ๊ฐ ์Šค์ƒท์ฒจ๋ถ€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ด์ œ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๊ฐ€ ํ•  ๊ฒƒ์€ 30์ผ์ด ์ง€๋‚œ ์ธ๋ฑ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๋Š” ์„ค์ •์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ž‘์—…์€ 3์Šคํ…์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ISM ์ •์ฑ… ์ƒ์„ฑ
  2. ๊ธฐ์กด ์ธ๋ฑ์Šค๋“ค์— ์ƒ์„ฑํ•œ ์ •์ฑ… ์ ์šฉ
  3. ์‹ ๊ทœ ์ธ๋ฑ์Šค๋“ค์— ์ •์ฑ… ์ ์šฉ

 

์šฐ์„  ํ‚ค๋ฐ”๋‚˜์— ์ ‘์†ํ•ด์„œ ๋ฉ”๋‰ด๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ตฌ ๋ฒ„์ „(์ขŒ) ๋ฉ”๋‰ด์™€ ์ตœ์‹  ๋ฒ„์ „(์šฐ) ๋ฉ”๋‰ด

 ์ขŒ์ธก์€ ํŒจ์น˜๋ฒ„์ „์ด ๊ตฌ๋ฒ„์ „์ธ ์ผ€์ด์Šค์ด๊ณ , ์šฐ์ธก์ด ์ตœ์‹ ๋ฒ„์ „ (๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์ผ ๊ธฐ์ค€ R20210331) ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ ํ‚ค๋ฐ”๋‚˜ ๋ฉ”๋‰ด์ž…๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ Index Management ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์—ฌ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๋˜ ๋ฉ”๋‰ด๊ฐ€ ์•„๋ž˜์ฒ˜๋Ÿผ ๋‹ค๋ฅด๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ตฌ ๋ฒ„์ „(์ขŒ) ๋ฉ”๋‰ด์™€ ์ตœ์‹  ๋ฒ„์ „(์šฐ) ๋ฉ”๋‰ด

์ขŒ์ธก ์ฒ˜๋Ÿผ ๋ฉ”๋‰ด๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ Index Policies ๋ฉ”๋‰ด๋ฅผ ์„ ํƒ, ์šฐ์ธก ์ฒ˜๋Ÿผ ๋ฉ”๋‰ด๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ State management policies ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ ๋ฒ„์ „ ์Šค์ƒท
์‹  ๋ฒ„์ „ ์Šค์ƒท

์ œ๋ชฉ๋งŒ ๋‹ค๋ฅผ ๋ฟ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ create policy๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

 

Name policy ์—๋Š” ์›ํ•˜๋Š” ์ด๋ฆ„์„ ๋ช…๋ช…ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” 30์ผ์ด ์ง€๋‚œ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ delete_old_indexes_30d๋ผ๊ณ  ๋ช…๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  define policy ์—๋Š” ์•„๋ž˜ json ํฌ๋ฉง ๋ฐ์ดํ„ฐ๋ฅผ ์ ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

{
    "policy": {
        "policy_id": "delete_old_indexes_30d",
        "description": "delete old indexes",
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "30d"
                        }
                    }
                ]
            },
            {
                "name": "delete",
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ]
    }
}

์ง€๊ธˆ ์šฐ๋ฆฌ๋Š” ์ธ๋ฑ์Šค ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์„ค์ •์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ policy ๋‚ด์— ์ƒํƒœ์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

policy_id๋Š” Name policy์— ๋ช…๋ช…ํ•ด์ฃผ์—ˆ๋˜ ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ , default_state ๋ฅผ hot ์ด๋ผ๋Š” ์ƒํƒœ๋กœ ์„ค์ •ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. hot ๊ณผ delete.

์ธ๋ฑ์Šค์˜ ๊ธฐ๋ณธ์ƒํƒœ๋กœ๋Š” hot์„ ์ •์˜๋ฅผ ํ•ด์ฃผ์—ˆ๊ณ  ๊ทธ ์ƒํƒœ์˜ ์ธ๋ฑ์Šค๋“ค์€ transitions์— ์„ค์ •๋˜์–ด์žˆ๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ max_index_age๊ฐ€ 30d (30์ผ)์ด ์ง€๋‚˜๋ฉด ์ƒํƒœ๋ฅผ delete๋กœ ๋ณ€๊ฒฝ(transition)ํ•˜๊ฒŒ ๋˜์ฃ . ๊ทธ๋ ‡๊ฒŒ delete ์ƒํƒœ๊ฐ€ ๋œ ์ธ๋ฑ์Šค๋“ค์€ delete ์ƒํƒœ ์ •์˜์˜ actions์— ์žˆ๋Š” delete ์„ค์ •์œผ๋กœ ์ธํ•ด ์‚ญ์ œ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด์ œ ISM ์ •์ฑ… ์ƒ์„ฑ์„ ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ •์ฑ…์„ ์ƒ์„ฑํ•œ ๋’ค์—๋Š” ๊ธฐ์กด ์ธ๋ฑ์Šค๋“ค์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ์ •์ฑ…์„ ์ ์šฉํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ •์ฑ…์„ ์ €์žฅํ•œ ๋’ค์— ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ Indices ๋กœ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ํ˜„์žฌ ์ธ๋ฑ์Šค๋“ค ๋ชฉ๋ก์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ๋ชฉ๋ก

๋ชฉ๋ก์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธ๋ฑ์Šค๋ฅผ ์„ ํƒํ•˜๋ฉด ์šฐ์ƒ๋‹จ์˜ Apply policy ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋ฉ๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์ •์ฑ…์ด ๋ฐ˜์˜๋˜๊ณ  ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•ด๋ณด์‹œ๋ฉด Managed by Policy ๊ฐ’์ด No ์—์„œ Yes๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. .kibana ์ธ๋ฑ์Šค์ฒ˜๋Ÿผ ์ž˜ ๋ชจ๋ฅด๋ฉด ๊ฑด๋“ค์ง€ ๋ง์•„์•ผํ•˜๋Š” ์ธ๋ฑ์Šค๋“ค๋„ ์—ฌ๊ธฐ ๋ชฉ๋ก์— ์กฐํšŒ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ์„ ํƒํ•˜์—ฌ ์ •์ฑ…์„ ์ ์šฉ์‹œํ‚ฌ ๋•Œ์—๋Š” ๊ทธ๋Ÿฐ ์ธ๋ฑ์Šค๋“ค์ด ํฌํ•จ๋˜์–ด์žˆ์ง€ ์•Š์€์ง€ ์ž˜ ํ™•์ธํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ž˜๋ชป ์ ์šฉํ–ˆ๋‹ค๋ฉด ์ ์šฉ ์ทจ์†Œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ •์ฑ…์„ ์ ์šฉํ•œ ์ธ๋ฑ์Šค๋“ค์„ ์—ฌ๊ธฐ์„œ๋Š” Managed Index๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ ์šฉ์„ ์ทจ์†Œํ•˜๋ ค๊ณ  ํ•  ๋•Œ์—๋Š” Managed Indices ๋˜๋Š” Policy managed indices ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ€์„œ ์ธ๋ฑ์Šค๋ฅผ ์กฐํšŒํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ ๋ฒ„์ „ ํ™”๋ฉด
์ตœ์‹  ๋ฒ„์ „ ํ™”๋ฉด (R20210331)

์ธ๋ฑ์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  Remove policy(์‚ญ์ œ) ํ•˜๊ฑฐ๋‚˜ Change policy(๋ณ€๊ฒฝ)์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์ด์ƒ์œผ๋กœ AWS ES์—์„œ ISM์„ ํ™œ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค ์ž๋™์‚ญ์ œ ์ •์ฑ…์„ ์ƒ์„ฑ ๋ฐ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

 

 

๊ถ๊ธˆํ•œ ์ ์ด๋‚˜ ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€๋‹ฌ์•„์ฃผ์„ธ์š”~

 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.