Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Ecs 파헤치기

335 Aufrufe

Veröffentlicht am

하나하나 관리 하기에 너무 많은 Docker 서비스들.. AWS ECS(EC2 Container Service)를 통해 쉽게 scaling하고, 쉽게 관리할 수 있는 방법을 알아봅니다.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Ecs 파헤치기

  1. 1. ECS(EC2 Container Service) 파헤치기 hanwool@peoplefund.co.kr 김 한울
  2. 2. 이 발표에서 다루는 내용 • 맨땅에 서비스 올리기 • Docker • Docker-Compose • ECS (EC2 Container Service) • Parameter Store + Fabric
  3. 3. 2년 동안 회사에서 한 일 올린 서비스만 5개 … 앱 API 서버 개인 대출 촉진 플랫폼 콜센터 모니터링 (Sentry) 개인 대출 심사 서비스 (CSS 2.0)
  4. 4. 맨땅에 서비스 올리기 아무것도 몰랐습니다. 나의 구세주 Digital Ocean
  5. 5. 맨땅에 서비스 올리기 1. locale 설정도 하고, 2. 리눅스 로컬 시간도 설정하고, 3. Nginx 설치도 하고, 4. 파이썬 (가상 환경) 설치도 하고, 5. Django, Uwsgi 설치도 하고, 6. 성공적으로 운영환경에 배포 완료!
  6. 6. 맨땅에 서비스 올리기 아! 이중화 .. 1번부터 다시 시작.
  7. 7. 맨땅에 서비스 올리기 첫 번째, 서비스를 통해 문서화의 중요성을 알게되었다. 그래서 문서를 쓰기 시작했다. 똑같은 삽질을 하지 않기 위해 무려 환경까지 나눠 주었다.
  8. 8. 맨땅에 서비스 올리기 1번 서버에 메뉴얼 대로, 1번부터 6번까지 설치하였다. 이건 아닌 것 같다. 자동화 하자. 2번 서버에 메뉴얼 대로, 1번부터 6번까지 설치하였다. 3번 서버에 메뉴얼 대로, 1번부터 6번까지 설치하였다. …
  9. 9. Docker Docker란 OS 가상화 기술인 컨테이너를 관리, 생성, 실행, 배포 하기 위한 오픈 소스 엔진
  10. 10. Docker DockerFile Docker 실행 출처: http://raccoonyy.github.io/docker-usages-for-dev-environment-setup/
  11. 11. Docker 정리 1. 매뉴얼이 없어졌다. (DockerFile 자체가 메뉴얼) 2. Image를 사용해서 간결하다. 따로 따로 명령어를 실행하고, link 명령어를 통해 엮어 주어야 한다. 이건 아닌 것 같다. 자동화 하자. 3. 그런데 Nginx, DB는 어디에?
  12. 12. Docker Compose
  13. 13. Docker Compose docker-compose.yml Docker-Compose 실행 출처: http://raccoonyy.github.io/docker-usages-for-dev-environment-setup/
  14. 14. Docker Compose 정리 1. 번거로운 서비스별 build, run 절차가 없어졌다. 2. volume, link, port 등 명세를 Compose.yml에 간 결하게 할수 있다. Docker Compose를 실행할 HOST를 여러 개 둔다면, 맨땅에 해당과 별반 다를바 없다. 3. 그런데.. Docker Compose가 있는 HOST OS는 누 가 설치하지??
  15. 15. ECS (EC2 Container Service) ECS(EC2 Container Service)란 Docker 컨테이너를 지원하는 확장성과 성능이 뛰어난 컨테이너 관리 서비스로서, 이 서비스를 사용하여 Amazon EC2 인스턴스의 관리형 클러스터에서 애플리케이 션을 손쉽게 실행할 수 있습니다.
  16. 16. ECS (EC2 Container Service) 개념 Task Definition Docker 컨테이너를 실행하 기 위해 정의한 명세 Docker.compose.yml 역 할
  17. 17. ECS (EC2 Container Service) 개념 Task Task definition 에서 정의된 대 로 배포된 Container Set
  18. 18. ECS (EC2 Container Service) 개념 service Task 들의 모음 ELB, Scale-Up 셋팅
  19. 19. ECS (EC2 Container Service) 개념 Container Instance Task를 올리기 위해 등록된 EC2 instance 를 Container Instance
  20. 20. ECS (EC2 Container Service) 개념 Cluster Task를 실행하기 위한 Container Instance의 논리적 그룹
  21. 21. ECS (EC2 Container Service) 정리 1. 따로 Host를 관리해줄 필요가 없다. 2. 마우스 하나로 혹은 커맨드로 쉽게 Scale-Up이 가능 하다. Docker-file에 넣자니, 보안에 취약하고, Host에 넣자니, ECS를 쓴 이유가 없어진다… 3. 그런데.. 환경 변수 관리는 어떻게 하지???
  22. 22. Fabric + Parameter Store Parameter Store AWS Management Console 및 AWS CLI를 사용해 간편하게 액세스할 수 있는 데이터 관 리 및 암호 관리를 위한 안전한 스토리지 Fabric Python으로 Command line을 제어할 수 있 는 툴
  23. 23. Fabric + Parameter Store AWS EC2 Meta Service AWS ECS Task AWS ECS Agent AWS ECS ACS Parameter Store Fabric (1) Host 권한 부여 (2) ECS Task 권한 생성 (3) ECS Task Build 및 Run (4) Fabric 을 통한 환경 변수 가져오기 출처: https://segment.com/blog/the-right-way-to-manage-secrets/
  24. 24. Fabric + Parameter Store 정리 1. Cluster 내의 모든 환경 변수 통합 관리 가능 2. Fabric을 통해 Script 언어 대신, Python으로만 제어 3. IAM을 통해 서비스별로 Parameter 접근 권한 설정 가능
  25. 25. 발표를 끝내며.. 1. EC2 인스턴스 조차 관리할 필요가 없는 Fargate 서비 스가 나왔습니다. (아직 서울 지원 안됨)
  26. 26. 발표를 끝내며.. 1. EC2 인스턴스 조차 관리할 필요가 없는 Fargate 서비 스가 나왔습니다. (아직 서울 지원 안됨) 2. 완전한 배포 자동화를 위해선 아직 갈 길이 멉니다. Auto Scaling, CI, Deploy … 등등 할 일이 무궁무진 합니다.
  27. 27. 발표를 끝내며.. 1. EC2 인스턴스 조차 관리할 필요가 없는 Fargate 서비 스가 나왔습니다. (아직 서울 지원 안됨) 2. 완전한 배포 자동화를 위해선 아직 갈 길이 멉니다. Auto Scaling, CI, Deploy … 등등 할 일이 무궁무진 합니다. 3. 1번 혹은 2번에 관심이 간다. 혹은 해보고 싶다. 그런 분들은 주저 하지 마시고, 피플펀드에 꼭 지원해 주세요!
  28. 28. 발표를 끝내며.. 우리 같이 즐겁게 일해 보아요~~
  29. 29. Extraordinary Finance for the Ordinary

×