1. ๊ฐ๋
์ ๋ฆฌ
- Elasticsearch๋ ๊ฒ์์ ์ํด ๋จ๋ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ๋ฉฐ, ELK(Elasticsearch / Logstatsh / Kibana) ์คํ์ผ๋ก๋์ฌ์ฉ๋๋ค.
- Logstash
๋ค์ํ ์์ค(DB, csvํ์ผ) ์ ๋ก๊ทธ ๋๋ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ์์ง, ์ง๊ณ, ํ์ฑํ์ฌ Elasticsearch๋ก ์ ๋ฌ
- Elasticsearch
Logstash๋ก ๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ๋ฐ ์ง๊ณ๋ฅผ ํ์ฌ ํ์ํ ๊ด์ฌ ์ ๋ณด ํ๋
- Kibana
Elasicsearch์ ๋น ๋ฅธ ๊ฒ์์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ๋ฐ ๋ชจ๋ํฐ๋ง
์ฉ์ด
- cluster
- Elastisearch ์์ ๊ฐ์ฅ ํฐ ์์คํ ๋จ์๋ฅผ ์๋ฏธ
- ์ต์ ํ๋ ์ด์์ ๋ ธ๋์ ์งํฉ
- ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ๋ ๋ฐ์ดํฐ ์ ๊ทผ,๊ตํ์ ํ ์์๋ ๋ ๋ฆฝ์ ์์คํ
- ์ฌ๋ฌ ๋์ ์๋ฒ๊ฐ ํ๋์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ ์ ์๊ณ , ํ ์๋ฒ์ ์ฌ๋ฌ๊ฐ์ ํด๋ฌ์คํฐ ์กด์ฌ ๊ฐ๋ฅ
- ๋
ธ๋
- Elasticsearch ๋ฅผ ๊ตฌ์ฑํ๋ ํ๋์ ๋จ์ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธ
- ์ญํ ์ ๋ฐ๋ผ Master-eligible,Data,Tribe ๋ ธ๋๋ก ๊ตฌ๋ถ
node ์ข ๋ฅ
- master-eligible node ( ๋งํฌ )
ํด๋ฌ์คํฐ๋ฅผ ์ ์ดํ๋ ๋ง์คํฐ๋ก ์ ํํ ์ ์๋ ๋ ธ๋๋ฅผ ๋งํฉ๋๋ค.
์ฌ๊ธฐ์ master ๋ ธ๋๊ฐ ํ๋ ์ญํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ธ๋ฑ์ค ์์ฑ, ์ญ์
- ํด๋ฌ์ค๋ ๋ ธ๋๋ค์ ์ถ์ , ๊ด๋ฆฌ
- ๋ฐ์ดํฐ ์ ๋ ฅ ์ ์ด๋ ์ค๋์ ํ ๋นํ ๊ฒ์ธ์ง
- Data node ( ๋งํฌ )
๋ฐ์ดํฐ์ ๊ด๋ จ๋ CRUD ์์ ๊ณผ ๊ด๋ จ์๋ ๋ ธ๋์ ๋๋ค.
์ด ๋ ธ๋๋ CPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ ์์์ ๋ง์ด ์๋ชจํ๋ฏ๋ก ๋ชจ๋ํฐ๋ง์ด ํ์ํ๋ฉฐ, master ๋ ธ๋์ ๋ถ๋ฆฌ๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
- Ingest node ( ๋งํฌ )
๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ๋ฑ ์ฌ์ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ์คํํ๋ ์ญํ ์ ํฉ๋๋ค.
- Coordination only node ( ๋งํฌ )
data node์ master-eligible node์ ์ผ์ ๋์ ํ๋ ์ด ๋ ธ๋๋ ๋๊ท๋ชจ ํด๋ฌ์คํฐ์์ ํฐ ์ด์ ์ด ์์ต๋๋ค.
์ฆ ๋ก๋๋ฐธ๋ฐ์์ ๋น์ทํ ์ญํ ์ ํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
- master-eligible node ( ๋งํฌ )
- ์ธ๋ฑ์ค(index) / ์ค๋(shard) / ๋ณต์ (Replica)
- ์ธ๋ฑ์ค
- Elasticsearch์์ index๋ RDBMS์์ database์ ๋์ํ๋ ๊ฐ๋ ์ ๋๋ค.
- ๋ํ shard์ replica๋ Elasticsearch์๋ง ์กด์ฌํ๋ ๊ฐ๋ ์ด ์๋๋ผ, ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์๋ ์กด์ฌํ๋ ๊ฐ๋ ์ ๋๋ค.
- ์ค๋ฉ( sharding )
- ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค.
์ฆ, Elasticsearch์์ ์ค์ผ์ผ ์์์ ์ํด index๋ฅผ ์ฌ๋ฌ shard๋ก ์ชผ๊ฐ ๊ฒ์ ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก 1๊ฐ๊ฐ ์กด์ฌํ๋ฉฐ, ๊ฒ์ ์ฑ๋ฅ ํฅ์์ ์ํด ํด๋ฌ์คํฐ์ ์ค๋ ๊ฐฏ์๋ฅผ ์กฐ์ ํ๋ ํ๋์ ํ๊ธฐ๋ ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐํด์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค.
- replica
- ๋ ๋ค๋ฅธ ํํ์ shard๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๋ ธ๋๋ฅผ ์์คํ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ ์ํด ์ค๋๋ค์ ๋ณต์ ํ๋ ๊ฒ์ด์ฃ .
๋ฐ๋ผ์ replica๋ ์๋ก ๋ค๋ฅธ ๋ ธ๋์ ์กด์ฌํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
- ๋ ๋ค๋ฅธ ํํ์ shard๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ์ธ๋ฑ์ค
- ํน์ง
- Scale-oute
- ์ค๋๋ฅผ ํตํด ๊ท๋ชจ๊ฐ ์ํ์ ํ์ฅ
- ๊ณ ๊ฐ์ฉ์ฑ
- Replica๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์์ ์ฑ ๋ณด์ฅ
- Schema Free
- json ๋ฌธ์๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ฒ์์ ์ํํ๋ฏ๋ก ์คํค๋ง ๊ฐ๋ x
- Restful
- ๋ฐ์ดํฐ CURD ์์ ์ HTTP Restful API๋ฅผ ํตํด ์์ ํ๋ฉฐ, ๊ฐ๊ธฐ ๋ค์๊ณผ๊ฐ๋ค
- Scale-oute
- cluster
2. ์ค์ต
์ํคํ ์ฒ
์ค์ต
vpc flow
- vpc flow log ์์ฏ
- cloudwatch
ElasticSearch
- ์ฌ์ฉ์ ์ง์ ์์ฑ
โ ํ ์คํธ ๋ชฉ์
- ์ฌ์ฉ์ ์ง์ ์์ฑ
flowlog ๋จ๋๋ก ec2 ์ ์
๋ก๊ทธ ํ์ธ
cloudwatch โ ES ๊ตฌ๋
- ESํํฐ์์ฑ
- ์ฌ์ฉํ ES ๋ฐ lambda role ์ค์
- ํด๋น role ์ค์
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] }, { "Effect": "Allow", "Action": "es:ESHttpPost", "Resource": "arn:aws:es:*:*:*" } ] }
- ์์ฑ
โ ์๋ ์์ฑ ํ์ธ
์ด๋ฅผ ํตํด์ ES cluster๋ก ์ ์ก๋๋ค.
kibana ์ ์
์ฐธ์กฐ : cognito ๊ด๋ จ https://cherrypick.co.kr/using-the-aws-elasticsearch-service-kibana-with-aws-cognito/
- ์ ์ ํ๋ฉด
- cognito์์ ์์ฑ๋ ID ๋ฐ ์์๋น๋ฒ ์
๋ ฅ
โ ์ดํ ๋ณ๊ฒฝ ์ํธ ์ค์
- ์๋ฌ ํ์ด์ง ํ์ธ
cognito ์ธ์ฆ ๊ณผ์ ์์์ ์๋ฌ ๋ฐ์์ด๋ฏ๋ก ES์์ ์ก์ธ์ค ์ ์ฑ ์ ์์ ํ๋ค.
- ์ฐธ์กฐ ๋ธ๋ก๊ทธ๋ฅผ ํตํด์ cognito ์๊ฒฉ์ฆ๋ช
ํ์์ฑ์ iam์ ์ฑ
์ ์์ฑ๋๋ค.
โ ์ด๋ ๊ฒ ์์ฑ๋ role์ ์ด์ฉํด์ ์ก์ธ์ค ์ ์ฑ ์ ์์ ํด์ผํ๋ค.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::186086016278:role/<cognito ์๊ฒฉ์ฆ๋ช ํrole>" }, "Action": "es:ESHttp*", "Resource": "arn:aws:es:ap-northeast-2:186086016278:domain/sssdf/*" } ] }
- ES ํ์ฑํํ โ kibana ์ ์
- ์ธ๋ฑ์ค ํจํด ๋ฐ ๋ํ๋ผ ํญ๋ชฉ๋ค ํ์ธ
- ํ์ธ
'aws' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
s3 - presigned url (0) | 2021.03.29 |
---|---|
RDS โ s3 ๋ฐฑ์ (0) | 2021.03.29 |
CloudWatch / SSM Agent (0) | 2021.03.29 |
lb -acm ์ธ์ฆ์๋ฅผ ์ด์ฉํ ์ ์ (0) | 2021.02.09 |
route 53 ๋๋ฉ์ธ ์ฐ๊ฒฐ (0) | 2021.02.09 |
Uploaded by Notion2Tistory v1.1.0