[데이터 엔지니어링 데브코스 2기] TIL-7주차-파트06 AWS 클라우드(5)
1. Lambda
- 별도의 물리적인 서버 없이 소스 코드(함수 등록)만으로 서비스를 할 수 있도록 해 주는 서비스.
- 어떤 특정 이벤트에 대해서 해당 프로그램을 실행하고 싶을 때 주로 사용됩니다.
- 트리거를 추가함으로써 특정 이벤트에 대한 람다의 실행 화면을 확인할 수 있습니다.
- CloudWatch를 통해서 이벤트 로그를 확인할 수 있습니다.
2. Docker
- 환경 통합을 위한 서비스?.
- Docker File -> 빌드(도커 이미지화) -> Docker Image -> 실행(릴리즈 가능한 서비스화) -> Docker Container
- Docker Hub에서 Image를 pull or push를 할 수 있습니다.
- container 생성 및 실행 관련 명령어 : run, stop, start, restart
- container 관리 관련 명령어 : ps(확인), rm(삭제)
- container 실행 관리 관련 : logs, exec(명령어 수행)
- image 관련 : images, rmi(삭제), pull, push, tag(태그 지정)
- dockerfile :
- FROM : 베이스 이미지 설정.
FROM <image>:<tag>
- METATAINER : 메인테이너 정보.
- RUN : 실행 명령어. 이미지 생성 시 실행.
- CMD : 컨테이너가 시작되었을 때 실행되는 파일.
- EXPOSE : 호스트와 연결할 포트 번호.
- WORKDIR : CMD에서 설정한 실행 파일이 실행될 기본 디렉토리.
3. CloudWatch
- 앱의 모니터링 및 성능 리소스 등을 모니터링하는 서비스.
- 특정 임계치에 대해서 경보 설정 등도 가능합니다.
4. Devops
- Raw Data -> Batch-Processing Engine(Spark) -> Data Warehouse(Redshift)
5. ECS / ECR
- ECR : Docker의 컨테이너에서 AWS 내 이미지를 관리하는 서비스.
- ECS : 컨테이너 관리 서비스.
- ECS 내 ECR 서비스 존재.
- ECR 레포지터리 생성(Docker Hub 같은 느낌).
- IAM에 ECR 접근 정책(권한) 추가.
- 푸시 튜토리얼에 따라 도커에서 접근.
- ECS 내 클러스터 생성.
- 클러스터 내 태스크 생성.
- EC2에서 대상 그룹 생성(지정) 후 해당 그룹 내 로드밸런서 생성(ELB로 연결).
6. ApiGateway
- server-less로 API 테스트를 할 수 있는 서비스.
- POST API의 경우, 람다를 등록하여 트리거 역할을 할 수도 있음.