강의

멘토링

커뮤니티

개발 · 프로그래밍

/

데브옵스 · 인프라

99% J형 엔지니어와 함께하는 AWS EKS와 GitLab CI/CD 기초 완벽 정복

이론적인 내용만 학습하는 것 보다 현업 CI/CD 업무의 전체적인 큰 틀을 직접 구성해보면서 본질을 보는 역량을 키울 수 있는 강의입니다.

(4.8) 수강평 4개

수강생 70명

난이도 중급이상

수강기한 무제한

  • Meiko
강의자료
강의자료
실습 중심
실습 중심
강의자료
강의자료
실습 중심
실습 중심

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • Gitlab CI/CD 파이프라인 구성에 필요한 컴포넌트들을 제공 받는 걸 그대로 쓰지 않고 직접 커스텀하고 프로젝트에 적용하는 방법

  • 쿠버네티스 환경에서 프로젝트 단위 별 신경 써야 할 중요한 환경 변수 값들을 .env가 아닌 IRSA를 통해 안전하고 스마트 하게 보안을 향상 시키는 방법

  • 쿠버네티스 환경에서 프로젝트 로깅을 모니터링하고 특정 로그 발생 시 슬랙 알림을 보내는 방법

  • 쿠버네티스 환경에서 노드들의 리소스들을 모니터링하고 임계치 값을 초과하면 슬랙 알림을 보내는 방법

  • Nest.js 프로젝트에 CI/CD 적용하는 방법

  • 파이프라인 모니터링


자기소개

안녕하세요.

데브옵스,인프라,클라우드 파트 첫 강의를 제작하게 된 Meiko 라고 합니다.

현재 EKS 클러스터와 Gitlab이 통합된 클라우드 네이티브 환경에서 실제 서비스를 배포하는 환경을 구축하고 관리 및 운영하는 업무 그리고 DevOps 조직 확장에 대비한 업무 요청 통합 계획을 세우며 플랫폼 엔지니어링 측면의 자동화 업무를 하고 있습니다.


강의 참고 사항 ( 기술을 이해하는 가장 빠른 방법은 직접 구현 해보는 것 )

제가 생각하는 핵심 이론을 제외한 나머지 설명은 최소화 하고 실습 위주로 진행합니다.

레시피만 전달해드리고 끝나는 것이 아닌 직접 만든 아키텍처 구성도 및 시퀀스 다이어그램을 바탕으로 인프라 구조와 동작 흐름의 본질을 최대한 쉽게 이해하실 수 있도록 강의를 준비하였습니다.

EKS provisioningEKS Best Practice 문서를 기반으로 구성하는 것 에 초점을 맞추었습니다.

AWS, K8S, Git, Docker 에 대해서 지식 및 실제 사용 경험이 없으시다면 조금 벅찰 수 있습니다.

또한 AWS 서비스들을 통해 실습을 진행하기 때문에 부득이하게 과금이 발생할 수 밖에 없습니다.

꼭 강의 소개 영상을 보시고 난 후 수강 여부를 판단해주시면 감사하겠습니다.


강의 수강에 도우미 역할을 해줄 직접 만든 노션 템플릿 제공

여러 가지 CLI 툴 설치, Gitlab, Slack, DB, Domain 구매 등 실습 전에 설치 및 준비해야 할 것도 많고 다루는 내용도 많을 것 입니다.
그래서! 파워 J 성향을 가진 사람으로써 강의를 수강 시 도우미 역할을 해줄 노션 템플릿을 준비하였습니다!

각자 템플릿을 복사하셔서 Private 하게 사용하세요.

( 강의자료 참조 )

위 템플릿과 함께 강의를 들으며 한번 정리하면서 인프라 작업에 대한 계획을 세워보세요!

그리고 추후에 각자 개인 블로그에 정리하시면서 나만의 지식으로 만들어 보시는 걸 추천드립니다.

강의를 보며 실습을 진행 하기 전에 어디까지 준비가 되어야 하는 지 명시된 해당 티켓들이 완료 처리가 되면 AWS 인프라를 구축하실 수 있도록 준비하였습니다.


실습 순서

  1. 실습에 필요한 필수적인 툴 설치 및 설정을 진행합니다.

  2. AWS Elastic Kubernetes Service ( EKS ) 클러스터 및 필요한 AWS service들을 eksctl 명령어로 제공받은 yaml 파일들을 실행시키면서 빠르게 provisioning 하는 실습을 진행합니다.

    1. AWS 콘솔에서 생성하는 것은 최소화 하였습니다.

  3. kubectl, helm, aws-cli 등 핵심 명령어들을 익히면서 클러스터에 필수적인 설정 진행

  4. Gitlab Pipeline 커스텀

    1. Gitlab Runner ( shared runner 사용 )

    2. Gitlab AutoDevOps

    3. Gitlab AutoDeploy Image

    4. Gitlab Kubernetes Agent

  5. NestJS 프로젝트를 4번에서 구성한 Gitlab Pipeline을 통해 직접 provisioning EKS에 배포

  6. NestJS 프로젝트에 IRSA 와 AWS Secrets Manager를 통한 보안이 향상된 환경변수 다루는 실습


먼저 직접 클러스터에 기본적인 설정과 필수적인 오픈소스 프로젝트들(Loki, Grafana, Prometheus, Istio 등) 을 직접 배포 해본 후 , Ansible이나 Terraform 같은 IAC에 대한 개념 및 실습을 진행해보면 왜 편리한 지 그리고 왜 사용하는 지 아시게 될 것 입니다. (이번 강의가 잘 된다면(?) 계속 후속 심화 강의를 만들 생각입니다)


Slack에 Pipeline 모니터링 알림 전송


다뤄볼 수 있는 AWS 서비스들


아키텍처 구성도


파이프라인 흐름


위와 같이 EKS 클러스터 및 파이프라인 구축 뿐만 아니라 쿠버네티스 환경에서 중요한 모니터링도 구성해보고 쿠버네티스에서 IAM을 어떻게 주입하는 지 그리고 트래픽 흐름에 대해서도 살펴봅니다.

강의를 듣고 나면, 데브옵스 업무 흐름에 대한 깊이 있는 이해를 하실 수 있을 것 입니다.


이번 강의에서 다루지 않는 내용



실제 운영에서 필요한 AutoScaling 설정,백업 전략, HPA 구성 및 동작 원리 그리고 어플리케이션 부하 테스트에 대한 내용은 본 강의의 목표인 클러스터를 좋은 구조로 구성하고 운영 단계 전 필수적인 세팅까지 해보는 것을 달성하기 위해 다루지 않고 다음 심화 강의에서 다루려고 합니다.


또한 인프라 provisioning 및 configuration 세팅에 필요한 IAC 인 테라폼이나 앤서블도 사용하지 않습니다.


마지막으로 비용적인 측면과 실습 복잡도를 고려하여 아래와 같은 AWS 서비스는 사용하지 않습니다. 비싸지 않은 것도 있지만 최대한 필수적인 서비스들만 고려하였습니다.

  1. Bastion-Host ( EC2 ) 를 퍼블릭 서브넷에 배치시키고 해당 인스턴스에 SSH 접속을 하여 이를 경유해 클러스터에 접근하는 것이 옳지만, 인프라 구성에 초점이 맞추어져 있기 때문에 불필요하다고 판단하여 구성하지 않고 로컬에서 IAM을 통해 클러스터 Control Plane 에 있는 API Server에 요청을 보내는 식으로 진행합니다.

  1. DB는 RDS를 사용하지 않고 Superbase 에서 제공하는 무료 DB ( Postgres) 를 사용합니다

    1. 이 DB endpoint 에 대한 정보를 env가 아니라 AWS Secrets Manager에 Secret으로 하나만 생성하여 어플리케이션 파드가 뜰 때 값을 받아와서 사용하는 방식의 실습을 할 예정입니다.

  2. Registry도 ECR을 사용하지 않고 Gitlab Registry를 사용합니다.

이런 내용을 배워요

Gitlab CI/CD 파이프라인 커스텀에 대한 내용

Gitlab에서 기본적으로 제공하는 컴포넌트들(Gitlab auto devops, auto deploy ) 을 그대로 사용하지 않고 직접 커스텀 하여 요구사항에 맞게 파이프라인을 구성할 수 있는 방법에 대해서 학습하고 적용 해보는 실습을 할 수 있습니다.

쿠버네티스 모니터링 및 알림 시스템 구축에 대한 내용

쿠버네티스 환경의 Obsability의 대표적인 PLG stack ( Prometheus, Loki, Grafana )을 세팅해볼 것 입니다.

EFS CSI 드라이버를 사용하여 Amazon EFS(EFS)Persistent Volume(PV)으로 설정한 후, Persistent Volume Claim(PVC)을 통해 생성된 PV에 바인딩하여 데이터 손실을 방지하는 실습을 할 수 있습니다.

프로젝트에서 에러 또는 중요한 로그들을 모니터링하고 바로 대응이 필요할 수 있도록 슬랙 알림 설정 그리고 노드의 컴퓨팅 리소스들을 모니터링 하고 설정한 임계치 값을 넘었을 때 슬랙 알림 설정 등 의 실습을 할 수 있습니다.

환경변수 관리를 env 파일이 아니라 비밀값들을 안전하게 관리하는 방법에 대한 내용

먼저 AWS 에서 중요한 내용인 장기 자격 증명임시 자격 증명에 대한 내용을 학습합니다.

AWS SecretsManagersecret을 생성하고 쿠버네티스 리소스 중 하나인 Service Account를 활용하여 최소 권한 원칙을 적용하고 파드 별 역할을 안전하게 분리하는 실습을 할 수 있습니다.


수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): MacOS M2 Pro 14


  • IDE : Webstorm

  • 인프라 환경 : AWS, AWS EKS, GItlab

학습 자료

  • 제공하는 학습 자료 형식: Notion 템플릿에 강의 자료 제공

  • 분량 및 용량: 각 섹션별로 자료 제공

선수 지식 및 유의사항

  • AWS , NestJS, k8s, docker

    기본 이해


  • AWS를 사용하기 때문에 실습 후 리소스를 잘 삭제하여 과금에 주의하세요


  • 코드 무단 배포 및 복제를 금지합니다. 학습 자료 역시 저작권이 있으며, 개인적인 학습 목적 외 사용을 금합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Gitlab CI/CD 파이프라인을 프로젝트에 적용해보고 싶은 사람

  • 인프라 문서화에 많은 시간을 쓰는 바람에 좀 더 효율적으로 시간을 쓰고 싶은 개발자

  • 현업에서 자주 사용하는 CI/CD 파이프라인 구축이 무엇인지 궁금한 사람

  • 수동 배포 경험을 통해 자동 배포에 대한 니즈가 있는 사람

  • 기존의 CI/CD 환경 개선을 통해 회사에 기여하고 싶은 사람

선수 지식,
필요할까요?

  • Kubernetes

  • NestJS

  • AWS

  • Linux basic command

  • Docker

  • Git

안녕하세요
입니다.

70

수강생

4

수강평

3

답변

4.8

강의 평점

1

강의

자기소개

 

백엔드 엔지니어로 근무할 때부터 자동화를 통해 업무 프로세스를 효율화하고 개선 하는 것 에 관심이 많았습니다. 업무 생산성을 향상시키고 보다 효율적인 업무 환경에 기여하다보니 데브옵스 엔지니어로 일할 수 있는 기회를 얻었습니다. 저는 좋은 사수분들 밑에서 성장하고 있습니다. 그 과정에서 얻은 경험과 지식을 함께 나누고자 강의를 찍게 되었습니다.

경력

[前] Blockchain Backend / Contract Developer

[] Blockchain Mainnet DevOps Engineer

 

커리큘럼

전체

70개 ∙ (4시간 20분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

4개

4.8

4개의 수강평

  • 유쾌한 캥거루님의 프로필 이미지
    유쾌한 캥거루

    수강평 14

    평균 평점 4.9

    5

    64% 수강 후 작성

    취준생으로서 이론은 어느 정도 공부했지만 실제 구현 경험이 부족해 고민이었는데, 이 강의를 통해 많은 것을 배웠습니다. 특히 EKS 클러스터 구축부터 Gitlab 파이프라인 구성, 모니터링 시스템 구축까지 전반적인 흐름을 경험할 수 있어 좋았어요.

    • Meiko
      지식공유자

      안녕하세요, 수강평 감사합니다! 실제 구현 경험을 쌓을 수 있는 기회를 제공해드릴 수 있어 기쁘네요!! 혹시 강의를 들으시면서 추가로 궁금하신 점이나 더 자세히 다뤄줬으면 하는 부분이 있다면 언제든 피드백 주세요. 앞으로도 더 나은 강의 컨텐츠를 만들기 위해 노력하겠습니다. 감사합니다!

  • Roles님의 프로필 이미지
    Roles

    수강평 7

    평균 평점 5.0

    5

    60% 수강 후 작성

    실무에서 자주 사용되는 기술들을 핵심적으로 다루시면서, 실제로 실습을 통해 배울 수 있어서 좋았습니다. IRSA를 통한 보안 강화, PLG 스택을 이용한 모니터링 구축 등 실무에서 꼭 필요한 스킬들을 배울 수 있어 취업 준비에 큰 도움이 되었습니다. 제공해주신 노션 템플릿도 학습 정리에 매우 유용했고, 앞으로도 자주 참고할 것 같아요.실제 클라우드 환경에서의 경험을 쌓을 수 있어 충분히 가치 있었다고 생각합니다. 데브옵스에 관심 있는 분들께 강력 추천합니다!

    • Meiko
      지식공유자

      취업 준비에 큰 도움이 되셨다니 다행입니다! 노션 템플릿도 유용하시다니 기분이 좋습니다~~ 앞으로 강의는 계속 이런 식으로 제공해드리려고 합니다. 더 알찬 후속 강의 만들 수 있도록 노력하겠습니다 감사합니다!

  • 김의중님의 프로필 이미지
    김의중

    수강평 9

    평균 평점 4.6

    4

    100% 수강 후 작성

    강의자료를 노션으로 제공해준 점이 좋았습니다. 다만 강의 시간대비 가격이 다소 있는편이라 그 점은 아쉬웠습니다.

    • Meiko
      지식공유자

      노션으로 제공해드린 게 마음에 드셔서 다행이네요 감사합니다. 강의 가격 같은 경우는 gitlab cicd와 k8s를 실무 느낌으로 함께 다루는 강의가 없어 경쟁력이 있다고 판단했었습니다. 다음에 계획 중인 istio 강의는 좀 낮춰서 올려보겠습니다.

  • ericserra님의 프로필 이미지
    ericserra

    수강평 100

    평균 평점 4.9

    5

    30% 수강 후 작성

    AWS EKS 구성에 대해 차근히 준비해가는 과정을 보여주셔서 좋았습니다. 후속 강의로 AWS 보안에 대해서도 AWS Network Firewall 이 포함된 새로운 강의를 만들어주시면 감사하겠습니다. 강사님 화이팅!!!

    • Meiko
      지식공유자

      안녕하세요! 정성 가득한 후기 정말 감사드립니다! 지금 후속 강의도 준비하고 있는 것은 istio입니다! 추후 도움이 되었으면 좋겠습니다. 말씀하신 AWS 보안에 대해서도 제가 현업에서 경험하고 공유하게 되면 말씀드리겠습니다. 감사드립니다.

지식공유자의 깜짝할인 중 (8일 남음)

₩58

24%

₩99,000

비슷한 강의

같은 분야의 다른 강의를 만나보세요!