Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
개발 · 프로그래밍

/

데브옵스 · 인프라

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

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

(4.8) 수강평 4개

수강생 65명

  • Meiko
강의자료
실습 중심
eksAWSKubernetesgitlabCI/CD

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

이런 걸 배울 수 있어요

  • 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

안녕하세요
입니다.

65

수강생

4

수강평

3

답변

4.8

강의 평점

1

강의

자기소개

 

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

경력

[前] Blockchain Backend / Contract Developer

[] Blockchain Mainnet DevOps Engineer

 

커리큘럼

전체

70개 ∙ (4시간 20분)

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

수강평

전체

4개

4.8

4개의 수강평

  • jukas5985 [DEL] 250815201525님의 프로필 이미지
    jukas5985 [DEL] 250815201525

    수강평 14

    평균 평점 4.9

    5

    64% 수강 후 작성

    As a job seeker, I studied the theory to some extent, but I was worried because I lacked practical implementation experience. I learned a lot through this lecture. In particular, it was good to be able to experience the overall flow from building an EKS cluster to configuring a Gitlab pipeline and building a monitoring system.

    • meik0
      지식공유자

      Hello, thank you for your course review! I'm glad I could provide you with the opportunity to gain practical implementation experience!! If you have any additional questions or want to see more details while taking the course, please feel free to give me feedback. I will continue to work hard to create better course content. Thank you!

  • 1302님의 프로필 이미지
    1302

    수강평 7

    평균 평점 5.0

    5

    60% 수강 후 작성

    It was great that I could learn through actual practice while covering the core technologies frequently used in the field. I was able to learn essential skills in the field, such as strengthening security through IRSA and building monitoring using the PLG stack, which was a great help in preparing for employment. The Notion template provided was also very useful for organizing my learning, and I think I will refer to it often in the future. I think it was very valuable because I was able to gain experience in an actual cloud environment. I highly recommend it to anyone interested in DevOps!

    • meik0
      지식공유자

      I'm glad that it was a great help in preparing for employment! I'm glad that you found the Notion template useful too~~ I plan to continue providing lectures like this in the future. I will work hard to create more substantial follow-up lectures. Thank you!

  • kimuyjoong2two님의 프로필 이미지
    kimuyjoong2two

    수강평 9

    평균 평점 4.6

    4

    100% 수강 후 작성

    I liked that the lecture materials were provided in Notion. However, the price was a bit high compared to the lecture time, so that was a shame.

    • meik0
      지식공유자

      I'm glad you like what I provided with Notion. Thank you. In terms of the price of the lecture, I thought it was competitive because there was no lecture that covered gitlab cicd and k8s together in a practical way. I'll try to lower the price of the istio lecture I'm planning next time.

  • ericserra4918님의 프로필 이미지
    ericserra4918

    수강평 92

    평균 평점 4.9

    5

    30% 수강 후 작성

    It was great to see you prepare for AWS EKS configuration step by step. I would appreciate it if you could create a new lecture on AWS security, including AWS Network Firewall, as a follow-up lecture. Fighting, instructor!!!

    • meik0
      지식공유자

      Hello! Thank you so much for your sincere review! I am currently preparing a follow-up lecture on istio! I hope it will be helpful in the future. I will let you know if I have any experience and can share it about AWS security as you mentioned. Thank you.

₩99,000

비슷한 강의

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