홍카나의 공부방

[DE 데브코스] 05.19 TIL - Lambda, Docker 본문

Data Engineering/프로그래머스 데브코스

[DE 데브코스] 05.19 TIL - Lambda, Docker

홍문관카페나무 2023. 5. 19. 16:13

AWS Lambda

  • 내가 만든 함수만 등록해서 서비스를 할 수 있게 만들어주는 서버리스 서비스를 Lambda라고 한다.

람다 생성

  • 위 그림처럼 특정 람다 함수를 생성하고, 테스트를 해보면 된다.  
  • 어떤 이벤트가 일어날 때, 특정 람다를 실행시켜 달라는 트리거를 만들 수도 있다.

람다 코드 수정 및 배포

  • 코드는 웹 상의 편집기에서 추가 및 수정을 진행한 다음 deploy를 눌러서 배포할 수 있다.

S3 버킷의 속성 - 이벤트 알림

  • S3 버킷과 연계해서 사용할 수 있는데, 특정 버킷에 이벤트 알림을 만들어서 객체 생성이나, 제거와 같은 이벤트에 람다 함수가 연계되도록 설정할 수 있다.

 

Docker

도커 구조

  • Docker는 App을 신속하게 구축, 테스트 및 배포할 수 있는 SW 플랫폼이다.
  • Docker는 SW를 컨테이너라는 표준화 유닛으로 패키징한다. 이 컨테이너에는 라이브러리, 시스템 도구, 코드 등 SW 실행에 필요한 모든 환경이 포함되어 있다.

Docker와 기존 가상 머신 비교 도식화

  • 기존의 반가상화 기반 가상 머신은 가상 머신 하나마다 guestOS가 별도로 설치되어 있어야 했다. 그러면 이미지 안에 OS가 포함되기 때문에 용량이 커지지만, Docker는 app마다 필요한 라이브러리, 코드들만 설치해서 실행할 수 있다.

 

도식

  • 도커파일을 작성하고, 빌드하여 이미지화 시킨다. 이미지를 실행시키면 컨테이너화되어 실행된다. 깃허브처럼 도커허브라는 레포지토리로 이미지를 pull, push할 수도 있다.
  • 혹은 AWS의 ECR에 컨테이너 SW를 퍼블릭/프라이빗하게 공유할 수 있다.
  • 이미지는 공개된 이미지들도 있고, 내가 직접 빌드해서 이미지화 시킬 수 있다.

 

Docker의 네트워크

  • 도커를 실행시킬 때 유의할 점은 포트 포워딩을 해줘야 한다는 점이다. 즉, 외부에서 접근할 때, 도커 컨테이너 내부에서 작동하는 서버로 맵핑을 시켜줘야 한다.
  • Host(로컬이든, 클라우드 서버든)의 서버 번호가 8000번이고, 내부 도커 컨테이너의 포트 번호가 80번이 열려있을 때 외부에서 접속할 때는 HOST의 포트 번호인 8000번으로 연결을 시도해야 한다. 그리고 이를 도커 내부 서버로 접근하는 통신으로 연결시킬 수 있도록 포트 포워딩을 해줘야 한다.

 

 

오늘 공부하며 어려웠던 내용

  • 가상화와 도커에 대한 이해도를 높이기 위하여 다음 영상을 참고하면 좋겠다.

https://youtu.be/zh0OMXg2Kog

 

 

반응형