씩씩한 개발자

[AWS] EKS 노드 그룹 개념 및 생성하기 본문

AWS

[AWS] EKS 노드 그룹 개념 및 생성하기

씩씩한 개발자 2025. 12. 18. 14:51

 

 

 

 

 

안녕하세요. 씩씩한 개발자입니다. 🔥

지난 글에서 EKS 클러스터 생성을 해보았고, 이어서 노드 그룹을 추가해보겠습니다.

 

https://strongdev.tistory.com/23

 

[AWS] EKS의 개념, 클러스터 생성해 보기

안녕하세요. 씩씩한 개발자입니다🔥AWS를 사용하는데, 사실 Lambda 나 S3 같은 서비스 위주로 사용해서, 내부적으로 작동하는 구조에 대해서는 몰랐거든요.EKS 버전 업그레이드를 주기적으로 하는

strongdev.tistory.com

 

 

이 말이 무슨 말이냐면,

지금 상태의 EKS 클러스터에는 가상머신이 하나도 없어서,

오늘은
EKS 노드 그룹(Node Group)을 추가해서, 가상머신(EC2)를 띄워보려고 합니다.


배경지식 (용어정리)

 

먼저 용어부터 정리해봅시다.

  • 클러스터: 쿠버네티스 관리자
  • 노드 그룹: 노드(EC2) 여러 대를 하나로 묶어서 자동으로 관리해 주는 단위
  • 노드: EC2 인스턴스 1대 (파드 Pod 가 실제로 올라가는 공간) / CPU, 메모리가 있는 '서버 1대'
  • 파드: 노드 위에 올라가는 컨테이너 실행 단위

즉, 노드 그룹 안에 > 노드(EC2)가 들어있고,

파드는 > 그 노드(EC2) 위에 올라가는겁니다.

 

 

 

노드 그룹(Node Group)?

노드 그룹은 노드(EC2) 여러 대를 하나로 묶어서 자동으로 관리해주는 단위입니다.

 

* 노드 그룹 = 파드가 실제로 올라가는 EC2 집합

노드 그룹 (Node Group)
 ├─ 노드(EC2) 1대
 ├─ 노드(EC2) 1대
 └─ 노드(EC2) 1대
  • 노드를 최소/최대 몇 개로 유지할지 설정
  • 트래픽 늘면 자동으로 노드 늘릴 수 있음(오토스케일링)
  • 노드 한 대 죽으면 새로 띄워서 복구

EC2를 관리하기 좋게 하기 위해, 노드 그룹이라는 단위로 묶어서 관리하는 겁니다.

 

 

 


노드 그룹 만들기

 

바로 만들어 볼게요.

 

기존에 만들어 둔 EKS  콘솔 → 클러스터 선택 → 컨설팅    노드 그룹 추가로 들어갑니다.


1단계. 노드 그룹 구성

▶ 노드 IAM 역할 

EC2 노드가 AWS 리소스랑 통신할 수 있게 해주는 권한입니다.

 

* EC2 노드 - AWS 리소스 통신 사례)

  • 컨테이너 이미지 ECR에서 가져오기
  • 로드밸런서 붙이기
  • CloudWatch 로그 전송

 

역할을 생성할 때 > 권장 역할 생성 > 사용사례 (EC2) 선택 하면, 알아서 필요한 정책들을 붙여줍니다.


 

2단계. 컴퓨팅 및 조정 구성

▶ 인스턴스 유형

여기서는 노드로 쓸 EC2 스펙을 정합니다.

실습용이면 ENI 4개, 최대 IP개수 60개 정도로 설정했어요.

 

만약, 노드그룹 생성이 실패할 경우에  파드 IP를 할당할 ENI가 부족할 경우도 있으니, 그땐 개수를 늘려서 다시 만들어 줍니다.

 


▶  노드 그룹 크기 설정

저는 이렇게 설정했어요.

  • 원하는 크기: 1
  • 최소 크기: 1
  • 최대 크기: 2

실습용으로는 충분합니다.

 

다만, 로드밸런서(ALB, NLB) 붙일 생각이면 노드는 최소 2개 이상으로 잡아야 의미가 있습니다 ㅎㅎ 

노드 하나 죽으면 서비스 바로 죽거든요 ㅠㅠ
(2,2,4)개수 정도로 하면 좋겠네요.

 


3단계. 네트워킹 지정

▶퍼블릭 서브넷 선택

EC2가 올라갈 서브넷을 선택합니다.

저는 외부에서 접근할 서비스라서 퍼블릭 서브넷을 선택했어요.

VPC

 


노드 생성 전에 꼭 확인할 사항

노드 생성하다가 퍼블릭 서브넷 관련 오류 나면, 거의 VPC쪽 설정 때문입니다.

 

퍼블릭 서브넷이라도, 자동 퍼블릭 IP 할당이 꺼져 있으면 노드가 인터넷 못 나갑니다.

저도 처음에 이것을 꺼놔서 노드그룹 생성에 실패했었거든요. 노드조인실패라고 뜨면서요.

그래서 이거 꼭 켜두셔야 합니다.

VPC → 서브넷 → 퍼블릭 서브넷 선택
→ 서브넷 설정 편집
→ 퍼블릭 IPv4 주소 자동 할당 활성화 체크

 

 


내 VPC 설정이 잘 되어있는지 궁금할 때!

노드그룹 생성은 걸어놨는데, 돌아가는 시간이 꽤 걸리잖아요.

VPC설정 잘해 둔것 같은데, 자꾸 노드그룹생성에 실패해서, aws 문서도 찾아보고 하다가,

 

그냥 AmazonQ에 물어봤어요 ㅎㅎㅎ

콘솔 오른쪽에 버튼을 눌러 실행할 수 있구요.

정말 친절하게, 단계별로 자기가 내부적으로 연결 테스트를 해주더라구요.

 

라우팅 테이블, 인터넷 게이트웨이, 서브넷 설정까지 하나하나 다 뜯어봐주니 좋았어요.

 


노드 그룹 생성 완료 후 확인

노드 그룹 생성이 성공하면,

 

이렇게 EC2 콘솔에 인스턴스와 Auto Scaling Group이 자동으로 생성됩니다.

 

즉, 서버가 생기고, 파드들이 올라가기 시작하는 거죠.ㅎㅎ

 


 

마무리

매번 만들어진 것 쓰기만 했었는데, 이번에 직접 만들어 보면서, 조금이나마 제대로 알게 된 것 같아서 개인적으로 매우 뿌듯합니다.ㅎㅎ

 

클러스터 만들었다고 끝난 게 아니고, EC2, IAM, VPC 모든게 맞물려야 노드그룹이 생성되니, 개념을 하나씩 알아가는게 재밌었구요!

 

시작할 땐 막연했는데, 하나하나 단계별로 실행하면 마냥 어려운 내용은 아니었다는 것을 알게 됩니다!

처음엔 실패하는 게 정상이고,저도 노드 그룹 몇 번을 지웠다 만들었어요! 

노드 그룹 추가가 안된다면, VPC 재설정과 Amazon Q 활용 추천드려요! 포기하지 마십시오🔥

 

 

반응형