안녕하세요. 이 글은 security group for pod 시리즈 중 첫번째 글입니다. security group for pod를 사용하기 앞서 왜 등장하게 이 기능이 등장하게 되었는지 배경을 설명합니다.
security group for pod 시리즈 목차
- EKS cluster security group과 불편한점: https://malwareanalysis.tistory.com/648
- pod에 security group적용 방법: https://malwareanalysis.tistory.com/649
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를 사용하는지 그리고 제약사항이 무엇인지 살펴보겠습니다.
'전공영역 공부 기록' 카테고리의 다른 글
AWS WAF 사용방법과 운영 적용방안 (4) | 2023.09.17 |
---|---|
security group for pod 2편: pod에 security group적용 방법 (2) | 2023.09.10 |
게임으로 배우는 AWS S3(부제 S3 game) (0) | 2023.08.27 |
aws 환경변수 초기화 (0) | 2023.08.21 |
쿠버네티스 pod running과 ready 차이 (0) | 2023.08.13 |