[reinvent 2024] CDK 및 Amazon Q용 EKS Blueprint로 Kubernetes 여정을 강화
Summary
Kubernetes 환경 , 다중 테넌시 및 보안 제어를 구현을 CDK Blueprints 를 이용하여 구축 실습을 하는 Workshop입니다. 코드 작성 시 Amazon Q의 질의를 이용하여 코드 작업을 간소화 할 할 수 있습니다.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
EKS 구축 시 생산성을 높일 수 있는 방안이, IAC 적용과, 코드 Assistant 기능 두가지를 꼽을 수 있습니다. 그래서 이 Workshop은 깊게는 아니지만 이 두가지를 다 다루고 있는 세션 이어서 실력 향상에 도움이 되겠다고 하여 신청하였습니다.
세션의 발표자는 Camilo Cortes ( Amazon Web 서비스 솔루션 아키텍트 ) 분과 Gabriel Montero ( AWS 솔루션 아키텍트 ) 분이 발표하였습니다.
소개
목차는 아래와 같습니다.
- Amazon EKS Blueprints는 무엇인가?
- Amazon Q Developer 소개
- CDK 및 Amazon Q Developer를 사용하여 EKS Blueprints 코드 생성 가속화
- Workshop 접근 방법
- 보너스 : Amazon Q Developer 커스텀
- 리소스
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를 적용하면 생산성을 향상할 수 있을 것으로 보이며, 좀더 깊이 조사를 필요로해 보입니다.