์๋ ํ์ธ์ ์ค๋๋ง์ ํฌ์คํ ์ ํ๊ฒ ๋์์ต๋๋ค.
ํ๋์ ๋ ธ๊ฐ๋ค์ฑ ์์ ๋ง ํ๋ค๋ณด๋ ๋ฑํ ํฌ์คํ ํ ๋งํ ๋ด์ฉ์ด ์์๋ค์.
์ค๋์ 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์คํ ์ผ๋ก ์งํํฉ๋๋ค.
- ISM ์ ์ฑ ์์ฑ
- ๊ธฐ์กด ์ธ๋ฑ์ค๋ค์ ์์ฑํ ์ ์ฑ ์ ์ฉ
- ์ ๊ท ์ธ๋ฑ์ค๋ค์ ์ ์ฑ ์ ์ฉ
์ฐ์ ํค๋ฐ๋์ ์ ์ํด์ ๋ฉ๋ด๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ข์ธก์ ํจ์น๋ฒ์ ์ด ๊ตฌ๋ฒ์ ์ธ ์ผ์ด์ค์ด๊ณ , ์ฐ์ธก์ด ์ต์ ๋ฒ์ (๊ฒ์๊ธ ์์ฑ์ผ ๊ธฐ์ค 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 ๋ฉ๋ด๋ก ๋ค์ด๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์กฐํํ์ฌ ์ฒ๋ฆฌํฉ๋๋ค.
์ธ๋ฑ์ค๋ฅผ ์ ํํ๊ณ Remove policy(์ญ์ ) ํ๊ฑฐ๋ Change policy(๋ณ๊ฒฝ)์ด ๊ฐ๋ฅํฉ๋๋ค.
์ด์์ผ๋ก AWS ES์์ ISM์ ํ์ฉํ์ฌ ์ธ๋ฑ์ค ์๋์ญ์ ์ ์ฑ ์ ์์ฑ ๋ฐ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค.
๊ถ๊ธํ ์ ์ด๋ ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ์ธ์ ๋ ์ง ๋๊ธ๋ฌ์์ฃผ์ธ์~
๊ฐ์ฌํฉ๋๋ค.
'๐ป Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AWS] SQS์ Lambda๋ฅผ ์ด์ฉํ์ฌ DLQ ์ฒ๋ฆฌํ๊ธฐ (0) | 2022.05.19 |
---|---|
[Git] ํน์ ๊ธฐ๊ฐ๋์ author ๋ณ ์ปค๋ฐ ๊ฑด์ ํ์ธํ๊ธฐ (0) | 2022.05.17 |
SpringBoot 2 http response utf-8 ์ค์ ํ๊ธฐ (0) | 2021.03.11 |
[5๋ถ ์ฝ๋ฉ] Spring4 + JCache (feat. Ehcache) (0) | 2020.12.17 |
์คํ๋ง ์ํ์ฐธ์กฐ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ (How to avoid circular reference) (0) | 2020.12.11 |