구성 환경

사전 준비 : AWS 계정, EC2 접속을 위한 SSH 키 페어, IAM 계정 생성 후 액세스 키 발급

전체 구성도 : VPC 1개(퍼블릭 서브넷 3개, 프라이빗 서브넷 3개), EKS 클러스터(Control Plane), 관리형 노드 그룹(EC2 3대), Add-on

그림에 EKS Control Plane 구성은 별도 표기하지 않았습니다

그림에 EKS Control Plane 구성은 별도 표기하지 않았습니다

배포

CloudFormation 으로 자동 배포 - 서울리전 → 클릭 후 아래 파라미터 입력 후 스택 생성! 스택 이름은 기본 myeks가 입력됩니다!

스크린샷 2023-04-27 오후 12.56.10.png

파라미터 : 아래 빨간색 부분은 설정해주는어야 할 것, 그외 부분은 기본값 사용을 권장

  1. <<<<< Deploy EC2 >>>>>
    1. KeyName : bastion ec2에 SSH 접속을 위한 SSH 키페어 선택 ← 미리 SSH 키 생성 해두자!
    2. MyIamUserAccessKeyID : 관리자 수준의 권한을 가진 IAM User의 액세스 키ID 입력
    3. MyIamUserSecretAccessKey : 관리자 수준의 권한을 가진 IAM User의 시크릿 키ID 입력 ← 노출되지 않게 보안 주의
    4. SgIngressSshCidr : bastion 작업용 EC2에 SSH 접속 가능한 IP 입력 (집 공인IP/32 입력), 보안그룹 인바운드 규칙에 반영됨
    5. MyInstanceType: bastion 작업용 EC2 인스턴스의 타입 (기본 t2.micro) ⇒ 변경 가능
    6. LatestAmiId : bastion 작업용 EC2에 사용할 AMI는 아마존리눅스2 최신 버전 사용
  2. <<<<< EKS Config >>>>>
    1. ClusterBaseName : EKS 클러스터 이름이며, myeks 기본값 사용을 권장 → 이유: 실습 리소스 태그명과 실습 커멘드에서 사용
    2. KubernetesVersion : EKS 호환, 쿠버네티스 버전 (기본 v1.25, 실습은 1.24 버전 사용) ⇒ 변경 가능
    3. WorkerNodeInstanceType: 관리형 노드 그릅 - 워커 노드 EC2 인스턴스의 타입 (기본 t3.medium) ⇒ 변경 가능
    4. WorkerNodeCount : 관리형 노드 그릅 - 워커노드의 갯수를 입력 (기본 3대) ⇒ 변경 가능
    5. WorkerNodeVolumesize : 관리형 노드 그릅 - 워커노드의 EBS 볼륨 크기 (기본 80GiB) ⇒ 변경 가능
  3. <<<<< Region AZ >>>>> : 리전과 가용영역을 지정, 기본값 그대로 사용

배포 확인

(실습 완료 후) 자원 삭제

삭제 방안 : 삭제 명령 실행 후 완료까지 SSH 세션 유지 필요 ← 삭제 까지 10분 정도 소요

**eksctl delete cluster --name $CLUSTER_NAME && aws cloudformation delete-stack --stack-name $CLUSTER_NAME**