SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
플레이오토 ECS 사용사례
ft ECS 어디까지 써봤니?


zkmm234@gmail.com
개요
1.기존의 인프라
2.컨테이너 도입의 계기
3.ECS 사용경험
4.겪었던 이슈
5.얻었던 이점
•=
AWS Elastic Beanstalk
Host
OS
Language interpreter
Application server
HTTP server
Code
AWS Elastic Beanstalk
배포
모니터링
인프라 구성
평화롭던 어느날....
반복되던 일상
쌓여있는 인프라(레거시)
너무 쉬움
5분만에 끝
고통의 시작
.
?
?
늘어만 가는 비용
??..
Immutable Infrastructure
컨테이너 오케스트레이션
•클러스터링
•스케줄링
•서비스 디스커버리
•로깅 및 모니터링
•기타 배포 등등..
ECS 구성요소
•Container Instance (EC2)
•Task ( 어플리케이션 컨테이너의 집합 )
•Task definition ( 컨테이너 집합의 사전 명세서 )
•Service ( task 갯수 유지 )
•Cluster ( Container Instance 집합 )
컨테이너 오케스트레이션
•클러스터링 => ECS
•스케줄링 => ECS
•서비스 디스커버리 => Route 53
•로깅 및 모니터링 => cloudwatch
•기타 배포 등등..
1. 클러스터링
1. ECS agent
•"NetworkMode": “host",
•
1. ECS agent
•

•ecs.config 파일을 ECS agent 환경변수로 담아준다
•https://docs.aws.amazon.com/ko_kr/AmazonECS/
latest/developerguide/ecs-agent-config.html
•https://github.com/aws/amazon-ecs-agent
1. ECS agent
•클러스터링의 핵심
•해당 설정을 미리 잘해두는게 중요함
•ECS의 지원기능을 파악하기 쉽다
•컨테이너 관리 및 옵션들을 제공해주는 기능으로 판단하면 됨
2. 스케줄링
•Replica => 그냥 갯수 맞춰서 띄워줌
•Daemon => 노드마다 하나씩 다 띄워줌
•Schedule => 일정시간 마다 실행해줌
2. 스케줄링
2. Soft limit, Hard limit
2. 배치 제약과 전략
•제약 (task)
•노드에 대한 조건을 제시할 수 있다.
•Ex) t 타입에만 실행하라, m 타입에서는 실행하지 마라
•전략 (service)
•노드에 대한 조건보다 더 추상적(spread, random,
binpack)
•Ex) az에 골고루, node 하나씩 가득 채우면서 진행하라
2. 배치 옵션
•ecs.ami-id
•ecs.availability-zone
•ecs.instance-type
•ecs.os-type
2. Fargate
•장점
•배치와 클러스터링의 관리 요소가 없어짐
•오토스케일링의 관리가 훨씬 쉽고 빠르다 (인스턴스 부팅 시간 필요
x)
•단점
•EC2의 비용 관리 옵션 사용x
•컨테이너 안에 들어가서 테스트 불가
•관리형이라서 log나 volume을 자유롭게 가져가지 못함
3. 서비스 디스커버리
3. 서비스 디스커버리
•SRV 레코드
•default
•A 레코드
•Network 를 awsvpc 모드로 사용해야됨
3. 서비스 디스커버리
•ENI 는 AWS 에서 사용하는 가상 네트워크 인터페이스
•EC2 하나에 한개의 ENI가 할당되는게 일반적
•이것을 task(컨테이너집합)에 할당하는것
•EC2와 ENI의 limit 을 고려
4. 로깅 및 모니터링
4. 로깅 및 모니터링
4. 로깅 및 모니터링
4. 로깅 및 모니터링
4. 로깅 및 모니터링
겪었던 이슈
1. ECS agent 종료 이슈
•어느 순간 agent 연결상태가 fail 됨…
•해당 컨테이너 인스턴스 통제가 안됨
•알고보니 agent 가 죽었다.
•그 이유는 과도한 컨테이너 밀집
1. ECS agent 종료 이슈
•ecs agent config를 통해 작업 메모리 할당이 안되게 미리 총
메모리 양을 줄일 수 있다.
•ECS_RESERVED_MEMORY
•시스템 메모리까지 고려해서 넉넉히 확보해 두자
2. 컨테이너 오류 추적
•컨테이너가 갑자기 죽는 경우 그 사실을 인지하는 과정이 꽤
오래 걸림.
•로그나 event를 계속 내가 감시할 수가 없음.
•그리고 죽은 task의 로그를 elasticsearch에서 찾기가 어렵다.
2. 컨테이너 오류 추적
•알림이 필요함
2. 컨테이너 오류 추적
•ECS agent가 api를 제공함
•/v1/metadata
•/v1/tasks
•https://docs.aws.amazon.com/ko_kr/AmazonECS/
latest/developerguide/ecs-agent-introspection.html
• task elasticsearch log
3. thin pool 부족
•특정 호스트에서 task가 뜨질 않음
•사유를 보면 image pull에서 500 에러로 실패
•실제로 해보면 디스크 공간 부족처럼 에러가 뜨는데
•디스크 공간이 부족하지 않음(df -h)
3. thin pool 부족
3. thin pool 부족
•Kernal parameter로 dm.min_free_space 값 조정
•전체 디스크 공간을 키움
•
3. thin pool 부족
•ECS config 에 두가지 변수가 있다.
•ECS_IMAGE_CLEANUP_INTERVAL
•ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION
•이미지와 컨테이너 정리를 해주자
얻었던 이점
1. 자원 효율성 강화
1. 자원 효율성 강화
2. 손쉬운 인프라 구축
2. 손쉬운 인프라 구축
3. 마이그레이션의 용이성
M5 cluster R5 cluster
3. 마이그레이션의 용이성
•새 EC2 인스턴스를 클러스터에 추가해준다
•기존 EC2를 한대씩 내리면서 task를 내렸다 올렸다를 반복한
다.
•마지막에 고른 분포를 위해 재배포 한번 해준다.
3. 마이그레이션 용이성
•Spot Instance와 궁합이 잘맞다.
4. 도입하기 쉬워서 금방한다
배포는 다음 기회에..
Q&A
감사합니다

Weitere ähnliche Inhalte

Was ist angesagt?

AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
Amazon Web Services Korea
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
Amazon Web Services
 
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Was ist angesagt? (20)

AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
AWS 클라우드 비용 최적화를 위한 TIP - 임성은 AWS 매니저
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
Running Kubernetes in hybrid environments with AWS (EKS Distro & EKS Anywhere...
Running Kubernetes in hybrid environments with AWS (EKS Distro & EKS Anywhere...Running Kubernetes in hybrid environments with AWS (EKS Distro & EKS Anywhere...
Running Kubernetes in hybrid environments with AWS (EKS Distro & EKS Anywhere...
 
AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기AWS Fargate on EKS 실전 사용하기
AWS Fargate on EKS 실전 사용하기
 
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive실시간 스트리밍 분석  Kinesis Data Analytics Deep Dive
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
 
2015/04/01 AWS Blackbelt EC2
2015/04/01 AWS Blackbelt EC22015/04/01 AWS Blackbelt EC2
2015/04/01 AWS Blackbelt EC2
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
Amazon ElastiCache(初心者向け 超速マスター編)JAWSUG大阪
 
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
BPMN과 JIRA를 활용한 프로세스 중심 업무 혁신 실천법
BPMN과 JIRA를 활용한 프로세스 중심 업무 혁신 실천법BPMN과 JIRA를 활용한 프로세스 중심 업무 혁신 실천법
BPMN과 JIRA를 활용한 프로세스 중심 업무 혁신 실천법
 
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
AWS Lambdaによるデータ処理理の⾃自動化とコモディティ化
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
 
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
 

Ähnlich wie 플레이오토 ECS 사용사례

Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS Innovate: AWS Container Management using Amazon EC2 Container Service an...
AWS Innovate:  AWS Container Management using Amazon EC2 Container Service an...AWS Innovate:  AWS Container Management using Amazon EC2 Container Service an...
AWS Innovate: AWS Container Management using Amazon EC2 Container Service an...
Amazon Web Services Korea
 
More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2
현찬 양
 

Ähnlich wie 플레이오토 ECS 사용사례 (20)

Ecs 파헤치기
Ecs 파헤치기Ecs 파헤치기
Ecs 파헤치기
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
 
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
 
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
 
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
 
20180206 elasticsearch
20180206 elasticsearch20180206 elasticsearch
20180206 elasticsearch
 
Building Large Scale Distributed System on AWS - Korean
Building Large Scale Distributed System on AWS - KoreanBuilding Large Scale Distributed System on AWS - Korean
Building Large Scale Distributed System on AWS - Korean
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
 
AWS Innovate: AWS Container Management using Amazon EC2 Container Service an...
AWS Innovate:  AWS Container Management using Amazon EC2 Container Service an...AWS Innovate:  AWS Container Management using Amazon EC2 Container Service an...
AWS Innovate: AWS Container Management using Amazon EC2 Container Service an...
 
[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in Spoqa[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in Spoqa
 
Kubernetes
Kubernetes Kubernetes
Kubernetes
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
 
KGC 2013 DevSisters
KGC 2013 DevSistersKGC 2013 DevSisters
KGC 2013 DevSisters
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 

Kürzlich hochgeladen

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 

Kürzlich hochgeladen (6)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

플레이오토 ECS 사용사례