[reinvent 2024] CDK 및 Amazon Q용 EKS Blueprint로 Kubernetes 여정을 강화

Summary

Kubernetes 환경 , 다중 테넌시 및 보안 제어를 구현을 CDK Blueprints 를 이용하여 구축 실습을 하는 Workshop입니다.  코드 작성 시 Amazon Q의 질의를 이용하여 코드 작업을 간소화 할 할 수 있습니다.


리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?

Tech Blog

AWS re:Invent 2024 Tech Blog written by MegazoneCloud

Overview

  • Title: Boost your Kubernetes journey with EKS Blueprints for CDK & Amazon Q [REPEAT]
  • Date: 2024년 12월 2일(월)
  • Venue: Wynn | Upper Convention Promenade | Cristal 1
  • Speaker:
  • Camilo Cortes(Sr Solutions Architect, Amazon Web Services)
  • Gabriel Montero(Sr Solution Architect, AWS)
  • Industry: Cross-Industry Solutions

들어가며

EKS 구축 시 생산성을 높일 수 있는 방안이, IAC 적용과, 코드 Assistant 기능 두가지를 꼽을 수 있습니다. 그래서 이 Workshop은 깊게는 아니지만 이 두가지를 다 다루고 있는 세션 이어서 실력 향상에 도움이 되겠다고 하여 신청하였습니다.

세션의 발표자는 Camilo Cortes ( Amazon Web 서비스 솔루션 아키텍트 ) 분과 Gabriel Montero ( AWS 솔루션 아키텍트 ) 분이 발표하였습니다.

소개

목차는 아래와 같습니다.

  1. Amazon EKS Blueprints는 무엇인가?
  2. Amazon Q Developer 소개
  3. CDK 및 Amazon Q Developer를 사용하여 EKS Blueprints 코드 생성 가속화
  4. Workshop 접근 방법
  5. 보너스 : Amazon Q Developer 커스텀
  6. 리소스

EKS Blueprints 설명

Amazon EKS Blueprints 는 Terraform 또는 CDK를 빌드하여 EKS를 손쉽게 구축할 수 있는 프레임워크 입니다. AWS에서 Best practices 및 권장하는 내용을 기반으로 만들어서 신뢰할 수 있습니다.

EKS 구축 뿐만 아니라, CI/CD 배포, 여러 파트너 및 커뮤니티 기여 추가 기능도 지원을 하고 있습니다. 항상 CI/CD & GitOps에서는 ArgoCD가 빠지지 않고 나오는 것 같습니다.

Amazon Q 소개

Amazon Q는 생성형 AI 어시스턴스 이며, 개발자용인 Amazon Q Developer 과 비지니스용인 Amazon Q Business라 나눠집니다. 이 주제에서는 Amazon Q Developer 를 사용합니다.

Amazon Q는 코드를 더 빠르게 작성, 디버그, 테스트, 최적화 및 업그레이드에 도움을 주지만, 보안과 개인 정보 보호에 염두에 두고 구축하였으며, 조직이 생성 AI를 더 쉽게 안전하게 사용할 수 있게 돕습니다.

CDK Workshop 설명

코드 작성 툴로는 Visual Studio Code를 사용하며, Amazon Q Developer를 Plugin형태로 설치를 합니다.

설치를 하면 아래와 같이 Visual Studio Code 왼쪽에 아이콘이 생기며, 이 아이콘을 누르면 질의를 할 수 있는 창이 나옵니다.

CDK 실습은 4단계로 진행을 합니다.

1단계 : EKS 생성을 하는 CDK 코드를 작성합니다. ( Amazon Q Developer 에 질의를 하여 )

2단계 : CDK 코드를 작성하여  VPC CNI, CoreDNS, Metrics Server, Addon 등 여러 Addon 을 설치하게 코드를 작성합니다. ( Amazon Q Developer 에 질의를 하여 )

3단계 : ADOT Addon을 이용하여 Cloudwatch Container Insight 에 지표를 수집하게 설정하게 코드를 작성합니다. (Amazon Q Developer 에 질의를 하여)

4단계 : 보안 강화를 하기 위해 Amazon Guard Duty를 설정하게 코드를 작성합니다. (Amazon Q Developer 에 질의를 하여)

Amazon Q 질의

아래와 같이 영문으로 질의를 하면,

아래와 같이 코드를 추천해 줍니다.

내가 작성하고자 하는 코드에 대해서 영문으로 정확하게 질의만 한다면, 높은 퀄리티의 코드를 제공받을 수 있습니다.

특히 창에 Amazon Q Developer Agent를 사용하는 /dev 명령을 입력하면,

더 나은 품질을 보장하기 위해 코드와 함께 채팅에서 Amazon Q Developer가 하는 변경 사항 및 제안에 대한 모든 정보를 받을 수 있습니다.

Resource

관련 리소스로는 아래 URL을 제공합니다.

EKS Blueprints – CDK GitHub Page : https://github.com/aws-quickstart/cdk-eks-blueprints

EKS Blueprints – CDK Quickstart Guide :  https://aws-quickstart.github.io/cdk-eks-blueprints/

EKS Blueprints – CDK Patterns : https://github.com/aws-samples/cdk-eks-blueprints-patterns

Amazon Q Developer Agent for software development : https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/software-dev.htmlAmazon Q Developer Customizations : https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/customizations-admin-customize.html

결론

실습 시에 CDK로 EKS 구축도 볼 수 있었고, Security Hub와 Guard Duty를 구축해 볼 수 있었던 부분도 좋았습니다. 그러나, Amazon Q Developer를 통해서 질의를 영어로만 할 수 있는 부분은 많은 아쉬움을 가질 수 밖에 없었습니다.

결과적으로, AWS 기술적인 부분에 대해서 Amazon Q Developer의 Code Assistance는 훌륭한 코드를 제안하였으며, 충분히 IAC를 이용하여, 개발 시 활용할 수 있을 것 같습니다.

프로젝트에 AWS CDK와 Amazon Q Developer를 적용하면 생산성을 향상할 수 있을 것으로 보이며, 좀더 깊이 조사를 필요로해 보입니다.

글 │메가존클라우드, Strategic Technology Center (CTC),Cloud Native Platform Team, 서현철
게시물 주소가 복사되었습니다.