[피플펀드] ECS 파헤치기


ECS 파헤치기 - 김한울

1년반동안 올린 서비스 5개

앱 API 서버

개인 대출 촉진 플랫폼

콜센터

모니터링 센트리

개인 대출 심사 서비스 CSS 2.0

맨땅에 서비스 올리기

  1. 로케일
  2. 리눅스 로컬 시간

이중화해야함.

1번부터 다시 함.

그래서 문서화의 중요성을 알게 됨.

똑같은 삽질을 하지 않기 위해 환경까지 나누어 줌.

근데 서버를 늘려야 할 때마다 1-6까지 계속해야함.

도커

문서화한 매뉴얼을 도커파일에 적고, 돌리면 자동으로 실행됨.

  1. 매뉴얼이 없어졌다 ( 도커파일 자체가 메뉴얼 )
  2. 이미지를 사용해서 간결하다.
  3. -엔진엑스, DB는 어디에?

따로 따로 명령어를 실행하고, 링크해야됨.

도커컴포즈

컨테이너들을 한번에 정리함

  1. 번거로운 서비스별 빌드, 런 절차가 없어졌다.
  2. 볼륨, 링크, 포트 등 명세를 yml에 간결하게 할 수 있다.
  3. -도커 컴포즈 호스트 OS가 있어야함.

ECS

비슷한 걸로 ECS, 도커스웜, 쿠버네이츠가 있음.

task definition - docker.compose.yml 과 비슷

task - 테스크 데피니션에서 정의된 대로 배포(실행)된 컨테이너 세트

서비스 - 태스크들의 모음, ELB, Scale-Up 셋팅

컨테이너 인스턴스 - EC2 인스턴스

클러스터 - 태스크를 실행하기 위한 컨테이너 인스턴스의 논리적 그룹

  1. 따로 호스트를 관리해줄 필요가 없다.
  2. 마우스 하나로 혹은 커맨드로 쉽게 스케일업이 가능하다.
  3. -환경변수관리는 어떻게하지??

도커파일에 넣자니 보안에 취약하고

호스트에 넣자니 ECS를 쓸 필요가 없잖아..?

fabric + Parameter Store

파라미터 스토어 - 간편하게 액세스할 수 있는 데이터 관리 및 암호관리를 위한 안전한 스토리지

패브릭 - 파이썬으로 커맨드라인 제어하는 툴

  1. EC2 meta service - 호스트 권한 부여 -> ECS agent
  2. ECS agent - ECS task 권한 생성 -> ECS ACS …

  3. 클러스터 내의 모든 환경 변수 통합 관리 가능
  4. 패브릭을 통해 스크립트 언어 대신, 파이썬으로만 제어
  5. IAM을 통해 서비스별로 파라미터 접근 권한 설정 가능





© 2017. by isme2n

Powered by aiden