[피플펀드] ECS 파헤치기
ECS 파헤치기 - 김한울
1년반동안 올린 서비스 5개
앱 API 서버
개인 대출 촉진 플랫폼
콜센터
모니터링 센트리
개인 대출 심사 서비스 CSS 2.0
맨땅에 서비스 올리기
- 로케일
- 리눅스 로컬 시간
…
이중화해야함.
1번부터 다시 함.
그래서 문서화의 중요성을 알게 됨.
똑같은 삽질을 하지 않기 위해 환경까지 나누어 줌.
근데 서버를 늘려야 할 때마다 1-6까지 계속해야함.
도커
문서화한 매뉴얼을 도커파일에 적고, 돌리면 자동으로 실행됨.
- 매뉴얼이 없어졌다 ( 도커파일 자체가 메뉴얼 )
- 이미지를 사용해서 간결하다.
- -엔진엑스, DB는 어디에?
따로 따로 명령어를 실행하고, 링크해야됨.
도커컴포즈
컨테이너들을 한번에 정리함
- 번거로운 서비스별 빌드, 런 절차가 없어졌다.
- 볼륨, 링크, 포트 등 명세를 yml에 간결하게 할 수 있다.
- -도커 컴포즈 호스트 OS가 있어야함.
ECS
비슷한 걸로 ECS, 도커스웜, 쿠버네이츠가 있음.
task definition - docker.compose.yml 과 비슷
task - 테스크 데피니션에서 정의된 대로 배포(실행)된 컨테이너 세트
서비스 - 태스크들의 모음, ELB, Scale-Up 셋팅
컨테이너 인스턴스 - EC2 인스턴스
클러스터 - 태스크를 실행하기 위한 컨테이너 인스턴스의 논리적 그룹
- 따로 호스트를 관리해줄 필요가 없다.
- 마우스 하나로 혹은 커맨드로 쉽게 스케일업이 가능하다.
- -환경변수관리는 어떻게하지??
도커파일에 넣자니 보안에 취약하고
호스트에 넣자니 ECS를 쓸 필요가 없잖아..?
fabric + Parameter Store
파라미터 스토어 - 간편하게 액세스할 수 있는 데이터 관리 및 암호관리를 위한 안전한 스토리지
패브릭 - 파이썬으로 커맨드라인 제어하는 툴
- EC2 meta service - 호스트 권한 부여 -> ECS agent
ECS agent - ECS task 권한 생성 -> ECS ACS …
- 클러스터 내의 모든 환경 변수 통합 관리 가능
- 패브릭을 통해 스크립트 언어 대신, 파이썬으로만 제어
- IAM을 통해 서비스별로 파라미터 접근 권한 설정 가능
2023년 새해에는 성장하고 함께하고 싶다면?
Pre A 단계 이상의 스타트업 C 레벨들이 모여서 커뮤니티를 만들었습니다. 같이 스터디하고 친해질 일잘러를 찾습니다.