View a markdown version of this page

AWS Outposts를 사용한 Amazon EKS 온프레미스 배포 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

AWS Outposts를 사용한 Amazon EKS 온프레미스 배포

Amazon EKS를 사용하여 AWS Outposts에서 온프레미스 Kubernetes 애플리케이션을 실행할 수 있습니다. 다음과 같은 방법으로 Outposts에 Amazon EKS를 배포할 수 있습니다.

  • 확장 클러스터 - AWS 리전에서 Kubernetes 컨트롤 플레인을 실행하고 Outpost에서 노드를 실행합니다.

  • 로컬 클러스터 - Outpost에서 Kubernetes 컨트롤 플레인과 노드를 실행합니다.

두 배포 옵션 모두 AWS에서 Kubernetes 컨트롤 플레인을 완전히 관리합니다. 클라우드에서 사용하는 것과 동일한 Amazon EKS API, 도구 및 콘솔을 사용하여 Outposts에서 Amazon EKS를 생성하고 실행할 수 있습니다.

다음 다이어그램은 이러한 배포 옵션을 보여줍니다.

Outpost 배포 옵션

각 배포 옵션을 사용해야 하는 경우

로컬 클러스터와 확장 클러스터 모두 범용 배포 옵션이며 다양한 용도에 사용할 수 있습니다.

확장 클러스터가 있으면 Kubernetes 컨트롤 플레인이 상위 AWS 리전에서 실행되기 때문에 Outpost의 용량을 절약할 수 있습니다. 이 옵션은 Outpost부터 AWS 리전까지 신뢰할 수 있는 네트워크 연결이 있는 경우 적합합니다. AWS 리전과의 네트워크 연결 해제 동안 정적 안정성을 고려하여 애플리케이션을 설계하는 것이 좋습니다. Kubernetes에서 Kubernetes 컨트롤 플레인과 노드 간 네트워크 연결 해제를 처리하는 방법에서는 애플리케이션 가동 중지가 발생할 수도 있습니다. Kubernetes의 동작에 대한 자세한 내용은 쿠버네티스 문서의 스케줄링, 선점(Preemption), 축출(Eviction)을 참조하세요.

로컬 클러스터를 통해 전체 Amazon EKS 클러스터를 Outposts에서 로컬로 실행할 수 있습니다. 이 옵션을 통해 클라우드에 대한 일시적인 네트워크 연결 해제로 인해 발생할 수 있는 애플리케이션 가동 중지 위험을 완화할 수 있습니다. 광케이블 절단 또는 기상 현상이 이러한 네트워크 연결 해제의 원인일 수 있습니다. 전체 Amazon EKS 클러스터가 Outposts에서 로컬로 실행되기 때문에 애플리케이션을 계속 사용할 수 있습니다. 클라우드에 대한 네트워크 연결 해제 중 클러스터 작업을 수행할 수 있습니다. 네트워크 연결 해제 동안 Kubernetes 작업을 계속해야 하거나 데이터 레지던시 요구 사항에서 요구하는 경우 로컬 클러스터를 선택합니다.

두 가지 로컬 클러스터 구현

Amazon EKS는 Outpost 랙에서 두 가지 로컬 클러스터 구현을 지원합니다. Outpost는 Amazon EBS 또는 Amazon EC2 인스턴스 저장소를 Outpost에서 실행되는 EC2 인스턴스의 루트 볼륨 유형으로 사용하도록 구성됩니다. Amazon EKS가 로컬 클러스터의 컨트롤 플레인에 사용하는 구현은 다음 구성에 따라 달라집니다.

  • Amazon EBS로 구성된 AWS Outposts. Kubernetes 컨트롤 플레인은 Amazon EBS가 지원하는 3개의 Amazon EC2 인스턴스에 중첩된 etcd와 함께 Outpost의 AWS 계정에서 실행됩니다. 자세한 내용은 고가용성을 위해 AWS Outposts에서 로컬 Amazon EKS 클러스터 생성 섹션을 참조하세요.

  • EC2 인스턴스 저장소로 구성된 AWS Outposts. Amazon EKS는 업데이트된 로컬 클러스터 아키텍처를 배포합니다. Kubernetes 컨트롤 플레인은 Outpost에 있는 AWS 관리형 서비스 계정의 Amazon EC2 인스턴스 6개에서 실행됩니다. 3개의 인스턴스는 etcd 전용이고 3개의 인스턴스는 다른 컨트롤 플레인 구성 요소를 위한 것입니다. 구현은 클라우드에 있는 Amazon EKS와의 패리티가 더 크고, Amazon EKS Kubernetes 버전 수명 주기를 따르며, Amazon EKS 추가 기능과 Bottlerocket 기반 워커 노드(AL2023 외에) 같은 추가 기능을 지원합니다. 이 구현은 AWS Outposts를 사용할 수 있는 모든 표준 AWS 리전에서 사용할 수 있습니다. 자세한 내용은 EC2 인스턴스 저장소로 구성된 AWS Outposts의 Amazon EKS 로컬 클러스터 개요 섹션을 참조하세요.

다음 표에 각 구현에서 사용할 수 있는 기능이 요약되어 있습니다.

배포 옵션 비교

다음 표에서는 확장 클러스터와 두 가지 로컬 클러스터 구현의 차이점을 비교합니다.

기능 확장 클러스터 EBS가 있는 Outposts의 로컬 클러스터 EC2 인스턴스 저장소가 있는 Outposts의 로컬 클러스터

Kubernetes 제어 영역 위치

AWS 리전

Outpost

Outpost

Kubernetes 컨트롤 플레인 계정

AWS 계정

AWS 계정

AWS 관리형 계정

Kubernetes 컨트롤 플레인 토폴로지

클라우드 관리형

Amazon EC2 인스턴스 3개, 중첩 etcd

Amazon EC2 인스턴스 6개(etcd 3개 + API 서버 3개)

컨트롤 플레인 스토리지

클라우드 관리형

Amazon EBS

Amazon EC2 인스턴스 스토어

리전별 가용성

서비스 엔드포인트 참조

미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), 아시아 태평양(서울), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄), 캐나다(중부), 유럽(프랑크푸르트), 유럽(아일랜드), 유럽(런던), 중동(바레인) 및 남아메리카(상파울루)

AWS Outposts를 사용할 수 있는 모든 상용 AWS 리전

Kubernetes 마이너 버전

지원되는 Amazon EKS 버전

Kubernetes 및 AWS Outposts에 대한 Amazon EKS 플랫폼 버전 알아보기 섹션을 참조하세요

지원되는 Amazon EKS 버전

플랫폼 버전

Amazon EKS 플랫폼 버전 참조

Kubernetes 및 AWS Outposts에 대한 Amazon EKS 플랫폼 버전 알아보기 섹션을 참조하세요

Amazon EKS 플랫폼 버전 참조

Outpost 폼 팩터

Outpost 랙

Outpost 랙

Outpost 랙

사용자 인터페이스

AWS Management Console, AWS CLI, Amazon EKS API, eksctl, AWS CloudFormation 및 Terraform

AWS Management Console, AWS CLI, Amazon EKS API, eksctl, AWS CloudFormation 및 Terraform

AWS Management Console, AWS CLI, Amazon EKS API, AWS CloudFormation

관리형 정책

AmazonEKSClusterPolicyAWS 관리형 정책: AmazonEKSServiceRolePolicy

AmazonEKSLocalOutpostClusterPolicyAWS 관리형 정책: AmazonEKSLocalOutpostServiceRolePolicy

AmazonEKSClusterPolicyAWS 관리형 정책: AmazonEKSServiceRolePolicy

클러스터 VPC 및 서브넷

VPC 및 서브넷에 대한 Amazon EKS 네트워킹 요구 사항 보기 섹션 참조

AWS 출력에서 Amazon EKS 클러스터를 위한 VPC 및 서브넷 생성섹션을 참조하십시오.

EC2 인스턴스 저장소로 구성된 AWS Outposts의 Amazon EKS 로컬 클러스터를 위한 VPC 및 서브넷 생성 섹션 참조

클러스터 엔드포인트 액세스

퍼블릭이나 프라이빗 또는 둘 다

프라이빗 전용

프라이빗 또는 퍼블릭 및 프라이빗

Kubernetes API 서버 인증

AWS Identity and Access Management(IAM), OIDC, 액세스 항목

IAM 및 x.509 인증서

IAM, OIDC, 액세스 항목, aws-auth ConfigMap, x.509 인증서(네트워크 연결 해제용)

노드 유형

자체 관리형만

자체 관리형만

자체 관리형만

노드 컴퓨팅 유형

Amazon EC2 온디맨드

Amazon EC2 온디맨드

Amazon EC2 온디맨드

노드 스토리지 유형

Amazon EBS gp2 및 로컬 NVMe SSD

Amazon EBS gp2 및 로컬 NVMe SSD

로컬 NVMe SSD

Amazon EKS 최적화 AMI

Amazon Linux Windows 및 Bottlerocket

Amazon Linux

Amazon Linux 및 Bottlerocket

IP 버전

IPv4 전용

IPv4 전용

IPv4 전용

추가 기능

Amazon EKS 추가 기능 또는 자체 관리형 추가 기능

자체 관리형 추가 기능

Amazon EKS 추가 기능(검증된 목록) 또는 자체 관리형 추가 기능

기본 컨테이너 네트워크 인터페이스

Kubernetes용 Amazon VPC CNI 플러그인

Kubernetes용 Amazon VPC CNI 플러그인

Kubernetes용 Amazon VPC CNI 플러그인

Kubernetes 컨트롤 플레인 로그

Amazon CloudWatch Logs

Amazon CloudWatch Logs

Amazon CloudWatch Logs

etcd 백업

클라우드 관리형

고객 관리형(etcdctl 또는 Amazon EBS 볼륨 백업)

Amazon EKS에서 관리

로드 밸런싱

AWS 로드 밸런서 컨트롤러를 사용하여 Application Load Balancer만 프로비저닝(Network Load Balancer 없음)

AWS 로드 밸런서 컨트롤러를 사용하여 Application Load Balancer만 프로비저닝(Network Load Balancer 없음)

AWS 로드 밸런서 컨트롤러를 사용하여 Application Load Balancer만 프로비저닝(Network Load Balancer 없음)

보안 암호 봉투 암호화

지원됨, 기존 클러스터에서 KMS를 사용하여 Kubernetes 비밀 암호화 참조

지원되지 않음

지원되지 않음

서비스 계정에 대한 IAM 역할(IRSA)

지원됨, 서비스 계정에 대한 IAM 역할 참조

지원되지 않음

지원됨(AWS 리전에 연결해야 하며 네트워크 연결 해제 중에는 사용할 수 없음)

EKS Pod Identity

지원됨, EKS Pod Identity가 포드에 AWS 서비스에 대한 액세스 권한을 부여하는 방법 알아보기 참조

지원되지 않음

지원됨(AWS 리전에 연결해야 하며 네트워크 연결 해제 중에는 사용할 수 없음)

문제 해결

Amazon EKS 클러스터 및 노드 관련 문제 해결 섹션 참조

AWS Outposts의 로컬 Amazon EKS 클러스터 문제 해결섹션을 참조하십시오.

EC2 인스턴스 저장소로 구성된 AWS Outposts의 Amazon EKS 로컬 클러스터 문제 해결 섹션을 참조하세요

중요
주제