전공영역 공부 기록

security group for pod 1편: EKS cluster security group과 불편한점

악분 2023. 9. 10. 10:30
반응형

안녕하세요. 이 글은 security group for pod 시리즈 중 첫번째 글입니다. security group for pod를 사용하기 앞서 왜 등장하게 이 기능이 등장하게 되었는지 배경을 설명합니다.

 

security group for pod 시리즈 목차

 

1. security group for pod란?

security group for pod pod security group(이하 SG) 바로 적용하는 기능입니다.

 

EKS관점에서 SG for pod를 바라보면 아래 그림과 같습니다. pod만 별도로 SG를 갖는 구조입니다.

 

"pod에 SG를 바로 적용하는 것은 기존 EKS SG에 적용하는 것과 뭐가 다르지?"라고 생각이 듭니다. 그래서 SG for pod 사용 의미를 이해하기 위한 배경을 정리했습니다.

  • EKS SG는 무엇인가?
  • EKS SG 불편한 점은 무엇일까?

 

2. EKS security group이 무엇인지 확인해보자

2.1 cluster security group이란?

EKS 생성하면 EKS 적용할 cluster SG 같이 생성됩니다. cluster SG [Networking -> cluster security group]메뉴에 있습니다.

 

cluster SG적용 대상은 어떤 도구로 EKS 생성했는지에 따라 다릅니다. eksctl 또는 테라폼으로 EKS 생성하면, cluster SG 모든 EKS노드에 적용됩니다.

 

직접 AWS console에서 EKS노드가 cluster SG 사용하는지 확인할 있습니다.저는 eksctl로 EKS를 생성했습니다. EKS cluster SG id EKS 노드가 사용하는 SG id 일치합니다.

 

2.2 cluster security group 기본 규칙

cluster SG 규칙은 outbound 모두 허용입니다. 그리고 inbound cluster SG자기 자신을 모두 허용합니다. SG자기 자신을 허용하면, cluster SG 사용하는 노드간 통신을 모두 허용한다는 의미입니다.

 

3. cluster security group과 pod의 관계

모든 EKS 노드가 cluster SG 사용하므로 모든 pod cluster SG 사용합니다. pod EKS노드 위에 실행되기 때문에 EKS노드가 사용하는 cluster SG 사용합니다.

 

cluster SG에 설정된 기본 규칙때문에 EKS 노드간 통신은 모두 허용입니다. 그래서 pod 통신도 모두 허용됩니다.

 

4. cluster security group 불편한 점

cluster SG 규칙을 규칙을 추가하면 모든 EKS노드와 pod 영향을 받습니다. 그래서 security SG 필요한 규칙만 추가할 없습니다. 예를 들어 cluster SG RDS 접근하는 규칙을 추가하면, RDS 사용하지 않는 pod RDS 접근이 됩니다.

 

목적별로 cluster SG 규칙을 분리하려면 node group 분리해야 합니다. 분리한 node group SG 적용하여 목적별로 SG 분리할 있습니다. 하지만 관리해야 node group 많아지므로 운영 복잡성이 증가합니다.

 

아래 예제는 RDS 사용하는 node group 생성했습니다. RDS에서는 RDS node group 오는 SG 허용하여 RDS 사용하는 pod 접근하게 합니다.

 

5. security group for pod 등장

cluster SG 적용한 규칙은 모든 pod 영향을 미치는 불편한점이 있었습니다. security group for pod SG 규칙이 전역으로 설정되는 불편한 점을 개선했습니다.

 

pod 직접 SG 적용하여 cluster SG 사용하지 않습니다. 그러므로 pod마다 SG 규칙을 설정 가능합니다.

 

RDS 접근하는 pod 있다면, 해당 pod 사용하는 SG에만 규칙을 추가하면 됩니다.

 

6. 마치며

이번 시간에는 security group for pod가 무엇이고 왜 기능이 나오게 되었는지 배경을 설명했습니다. 다음 시간에는 어떻게 security group for pod를 사용하는지 그리고 제약사항이 무엇인지 살펴보겠습니다.

반응형