Amazon EKS의 인프라 보안
Amazon EKS의 인프라 보안 (Infrastructure security)
관리형 서비스인 Amazon Elastic Kubernetes Service는 AWS 글로벌 네트워크 보안으로 보호돼요. AWS 보안 서비스와 AWS가 인프라를 보호하는 방식에 대한 정보는 AWS Cloud Security를 참고하세요. 인프라 보안 모범 사례로 AWS 환경을 설계하려면 AWS Well-Architected 프레임워크의 보안 기둥(Security Pillar)에서 인프라 보호(Infrastructure Protection)를 참고하세요.
네트워크를 통해 Amazon EKS에 접근할 때는 AWS에서 공개한 API 호출을 사용해요. 클라이언트는 다음을 지원해야 해요.
- TLS(Transport Layer Security) – TLS 1.2를 요구하며 TLS 1.3을 권장해요.
- **완전 순방향 비밀성(PFS)**을 갖춘 암호화 스위트 – DHE(Ephemeral Diffie-Hellman)나 ECDHE(Elliptic Curve Ephemeral Diffie-Hellman) 같은 방식예요. Java 7 이상 같은 대부분의 최신 시스템이 이 모드를 지원해요.
또한 요청은 IAM 보안 주체(principal)와 연결된 액세스 키 ID와 시크릿 액세스 키로 서명해야 해요. 또는 AWS STS(Security Token Service)를 사용해 임시 보안 자격 증명을 생성해 요청에 서명할 수도 있어요.
Amazon EKS 클러스터를 생성할 때 클러스터가 사용할 VPC 서브넷을 지정해요. Amazon EKS는 최소 2개의 가용 영역(Availability Zone)에 서브넷이 필요해요. Kubernetes가 공용 서브넷에 공용 로드 밸런서를 만들어 프라이빗 서브넷의 노드에서 실행되는 Pod로 트래픽을 분산할 수 있도록, 공용·프라이빗 서브넷이 있는 VPC를 권장해요.
VPC 고려 사항에 대한 자세한 내용은 VPC와 서브넷에 대한 Amazon EKS 네트워킹 요구 사항 보기를 참고하세요.
Get started with Amazon EKS 실습(AWS CloudFormation 템플릿)으로 VPC와 노드 그룹을 만들었다면 컨트롤 플레인과 노드 보안 그룹이 권장 설정으로 구성돼요.
보안 그룹 고려 사항에 대한 자세한 내용은 클러스터에 대한 Amazon EKS 보안 그룹 요구 사항 보기를 참고하세요.
새 클러스터를 만들면 Amazon EKS는 kubectl 같은 Kubernetes 관리 도구로 클러스터와 통신할 때 사용하는 관리형 Kubernetes API 서버 엔드포인트를 생성해요. 기본적으로 이 API 서버 엔드포인트는 인터넷에 공개되며, API 서버 접근은 AWS IAM(Identity and Access Management)과 Kubernetes 기본 RBAC(Role Based Access Control)의 조합으로 보호돼요.
Kubernetes API 서버에 대한 프라이빗 접근을 활성화하면 노드와 API 서버 간 모든 통신이 VPC 안에서만 이루어져요. 인터넷에서 API 서버에 접근할 수 있는 IP 주소를 제한하거나, API 서버에 대한 인터넷 접근을 완전히 비활성화할 수도 있어요.
클러스터 엔드포인트 접근 수정에 대한 자세한 내용은 클러스터 엔드포인트 접근 수정하기를 참고하세요.
Amazon VPC CNI 또는 Project Calico 같은 제3자 도구로 Kubernetes 네트워크 정책을 구현할 수 있어요. 네트워크 정책에 Amazon VPC CNI를 사용하는 방법은 Kubernetes 네트워크 정책으로 Pod 트래픽 제한하기를 참고하세요. Project Calico는 제3자 오픈소스 프로젝트이며 자세한 내용은 Project Calico 문서를 참고하세요.
더 알아보기 (Learn more)
출처: 문서