[TIL] 가장 많이 사용되는 AWS 클라우드에 대해 실습 중심으로 학습 (5)

이원진·2023년 5월 19일
0

데브코스

목록 보기
30/54
post-thumbnail
post-custom-banner

학습내용


  1. AWS Lambda

  2. Docker

  3. AWS CloudWatch

  4. DevOps

  5. AWS Elastic Container Registry(ECR) / AWS Elastic Container Service(ECS)

  6. AWS APIGateway

1. AWS Lambda


  • 대표적인 서버리스 서비스

  • 트리거를 등록해 특정 이벤트 발생 시 함수가 실행되도록 설정


2. Docker


  • 어플리케이션을 신속하게 구축, 테스트, 배포할 수 있는 컨테이너 기반의 서비스

  • 소스코드뿐만 아니라, 설정 파일 등도 같이 배포

  • 다수의 컨테이너를 효과적으로 관리할 수 있는 쿠버네티스와 함께 사용됨

  • 장점 및 활용법

    • 운영 표준화

    • 원활한 이전

    • 비용 절감

    • CI/CD

    • MSA

    • 데이터 처리

  • 도커 이미지

    • 이미지는 컨테이너를 생성할 때 필요한 요소로, 컨테이너의 목적에 맞는 바이너리와 의존성이 설치되어있음

    • 여러 계층으로 이루어진 바이너리 파일 존재

  • 컨테이너

    • 호스트와 다른 컨테이너로부터 격리된 시스템 자원과 네트워크를 사용하는 프로세스

    • 이미지는 읽기 전용으로 사용하고, 변경사항은 컨테이너 계층에 저장

      • 컨테이너에서의 작업이 이미지에 영향을 주지 않음

  • dockerfile

    명령어설명
    FROM베이스 이미지 설정
    MAINTAINER메인테이너 정보
    RUN이미지 생성 시 실행할 명령 혹은 셸 스크립트
    CMD컨테이너 시작 시 실행할 파일 혹은 셸 스크립트
    EXPOSE호스트와 연결할 포트 번호
    WORKDIRCMD에서 설정한 실행 파일이 실행될 디렉토리

3. AWS CloudWatch


  • 어플리케이션 모니터링, 시스템 성능 변경에 대응, 리소스 사용률 최적화, 운영 상태 확인 등과 관련된 데이터와 인사이트를 제공하는 서비스

  • 특정 임계치(성능, 용량 등) 도달 시 알람이 발송되도록 설정 가능

  • 모든 서비스에 대해 로그 및 로그 분석 기능 제공


4. Devops


  • 개발과 운영의 합성어로, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발환경 혹은 문화

  • DevOps 엔지니어의 역할

    • DevOps 문화를 위해 서비스 혹은 소프트웨어 라이프사이클에서 반복적인 일을 자동화하고, 기술적 문제 혹은 팀의 차이를 기술적으로 예방, 해결

  • MLOps

    • Data Engineering + Machine Learning + DevOps

  • 데이터 파이프라인


5. AWS Elastic Container Registry(ECR) / AWS Elastic Container Service(ECS)


  • ECR

    • 도커 허브 대신 AWS 내부에 도커 이미지를 저장하는 서비스

    • 권한 에러 발생 시 IAM에서 관련 정책 추가

  • ECS

    • ECR에 저장된 도커 이미지를 배포하는 서버리스 서비스

    • 별도의 ELB를 구성해 ECS 포트와 연결

  • 별도의 EC2 혹은 Elastic Beanstalk을 구성하지 않고도 도커 이미지만으로 배포 가능


6. AWS APIGateway


  • API 생성, 유지 관리, 보호 기능을 하는 서비스

  • AWS Lambda의 트리거로 사용 가능


메모



post-custom-banner

0개의 댓글