amazon elasticsearch service 소개 - 윤석찬 / 한국 엘라스틱서치 사용자 모임 서울...
TRANSCRIPT
윤석찬 AWS Korea 테크에반젤리스트
Amazon Elasticsearch Service 클라우드 기반 신규 매니지드 서비스
@channyun
Elasticsearch Seoul Meetup
Amazon Elasticsearch Service란?
Amazon Elasticsearch Service는 ES 클러스터를 클라우드에 설치, 운영 및 확장을 용이하고 하는 관리형 서비스로 AWS 기타 서비스와 연계하기에 편리합니다!
Amazon ES의 주요 이점
손쉽게 클러스터 설정 및 관리 가능
ELK 스택 지원 AWS IAM을 통한 사용자 인증 및 CloudWatch를 통한 모니터링
다른 AWS 자원과 손쉽게 통합 가능
Amazon ES 클러스터 생성 - CLI 명령어
add-tags create-elasticsearch-domain delete-elasticsearch-domain describe-elasticsearch-domain describe-elasticsearch-domain-config
describe-elasticsearch-domains list-domain-names list-tags remove-tags update-elasticsearch-domain-config
aws es create-elasticsearch-domain --domain-name my-domain --elasticsearch-cluster-config InstanceType=m3.xlarge.elasticsearch,InstanceCount=3 --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=512
Amazon ES 서비스 연계 모델
Amazon Route 53
Elastic Load
Balancing
IAM
CloudWatch
Elasticsearch API
CloudTrail
ES Clusters
Amazon ES 클러스터 인덱스 배포 모델
• Index 1 • Shard 1 • Shard 2 • Shard 3
• Index 2 • Shard 1 • Shard 2 • Shard 3
Amazon ES cluster
123
123
123
123
Primary Replica
1
3
3
1
Instance 1
2
1
1
2
Instance 2
3
2
2
3
Instance 3
Amazon ES 추천 인스턴스 타입 Instance 타입 업무 영역 예제 타입 가격 구조
T2 개발 및 테스트에 용이. Busting 모델 t2.micro.elasticsearch는 프리티어 제공 (매월 750시간)
M3 쓰기 및 읽기 볼륨이 비슷할 때. (블록 스토리즈가 5TB까지)
m3.medium.elasticsearch (1vcpu/3.7GB/4GBSSD) =0.135/시간당
R3 쿼리 요청이 많은 읽기 중심 서비스 r3.large.elasticsearch (2vcpu/15GB/32GBSSD) = 0.294/시간당
I2 16TB까지 SSD 스토리지 제공 i2.xlarge.elasticsearch (4vcpu/30.5GB/800GBSSD) = 1.401/시간당
https://aws.amazon.com/ko/elasticsearch-service/pricing/ 동경리전 기준
Amazon ES 클러스터 권한 관리 {! "Sid": "",! "Effect": "Allow",! "Principal": {! "AWS": "arn:aws:iam:123456789012:user/susan"! },! "Action": [ "es:ESHttpGet", "es:ESHttpPut", "es:ESHttpPost", ! "es:CreateElasticsearchDomain",! "es:ListDomainNames" ],! "Resource": !
! ! "arn:aws:es:us-east-1:###:domain/logs-domain/<index>/*”! ! "Condition":! "IpAddress": {! "aws:SourceIp": [ "xx.xx.xx.xx/yy" ]!}!
사용자별 권한 관리
API 호출별 관리
인덱스별 접근 관리
IP 접근 관리
Amazon ES 데이터 로딩
$ curl -XPUT https://<endpoint>/blog -d …
$ curl -XPOST http://<endpoint>/blog/post/1 -d …
$ curl -XPOST https://<endpoint>/blog/post/_bulk -d …
1. Elasticsearch API 직접 접근
2. Logstash를 통한 데이터 로딩 https://github.com/awslabs/logstash-output-amazon_es !
https://github.com/awslabs/amazon-elasticsearch-lambda-samples !
3. Lambda를 통해 데이터 이동 S3/DynamoDB/Kinesis 이벤트 트리거링
Amazon ES 서비스 활용 방식
Logstash indexer
Amazon Elasticsearch
Service
Application nodes/ Logstash forwarders
맺으면서
1. Elasticsearch는 풀텍스트 검색, 분석 및 시각화를 위하 오픈소스로 실시간 데이터 폭증에도 유리한 도구입니다.
2. Amazon Elasticsearch Service는 ES 클러스터를 손쉽게 만들고 관리하는데 용이합니다.
3. 여러분이 Amazon EC2에서 ES를 사용하고 계시다면, 자원 비용외 추가 비용 없이 관리 서비스를 사용해 보실 수 있습니다.
4. 만약 기존 데이터 센터에 계시다면, 확장성의 고려 및 관리 비용을 줄여 보세요!
지금 시작하기
1. 아마존 웹 서비스(AWS) 가입 • http://aws.amazon.com/ko
2. Amazon ES 서비스 시작하기 • 서비스 소개: https://aws.amazon.com/ko/elasticsearch-service/
• FAQ: https://aws.amazon.com/ko/elasticsearch-service/faqs/
3. ES 프리티어 • 750시간의 t2.micro.elasticsearch 인스턴스와 10GB의 Amazon EBS 스토리지 옵션 ※ t2.micro 인스턴스 10대 x 월 75시간 무료 사용 가능
한국 ES사용자 모임을 위한 880달러 선물!
http://bit.ly/awskr-feedback
AWS Activate 패키지 100달러 무료 크레딧 + 80 달러 Qwiklab Credit
600달러 온라인 강좌 수강권+ 100달러 1개월 비지니스 서포트
등록하시면 패키지를 받으실 수 있는 URL을 이메일로 보내드립니다!