5.13.4. 필수 AWS 인프라 구성 요소


AWS(Amazon Web Services)의 사용자 프로비저닝 인프라에 OpenShift Container Platform을 설치하려면 시스템과 지원 인프라를 모두 수동으로 생성해야 합니다.

다른 플랫폼의 통합 테스트에 대한 자세한 내용은 OpenShift Container Platform 4.x 통합 테스트 페이지를 참조하십시오.

제공된 CloudFormation 템플릿을 사용하면 다음 구성 요소를 나타내는 AWS 리소스 스택을 생성할 수 있습니다.

  • AWS 가상 사설 클라우드(VPC)
  • 네트워킹 및 로드 밸런싱 구성 요소
  • 보안 그룹 및 역할
  • OpenShift Container Platform 부트스트랩 노드
  • OpenShift Container Platform 컨트롤 플레인 노드
  • OpenShift Container Platform 컴퓨팅 노드

대안으로, 구성 요소를 수동으로 생성하거나 클러스터 요구 사항을 충족하는 기존 인프라를 재사용할 수 있습니다. 구성 요소의 상호 관계에 대한 자세한 내용은 CloudFormation 템플릿을 검토하십시오.

5.13.4.1. 기타 인프라 구성 요소

  • A VPC
  • DNS 항목
  • 로드 밸런서(클래식 또는 네트워크) 및 리스너
  • 공개 및 개인 Route 53 영역
  • 보안 그룹
  • IAM 역할
  • S3 버킷

연결이 끊긴 환경에서 작업하거나 프록시를 사용하는 경우 EC2 및 ELB 끝점의 공용 IP 주소에 연결할 수 없습니다. 이러한 끝점에 연결하려면 VPC 끝점을 생성하여 클러스터가 사용 중인 서브넷에 연결해야 합니다. 다음 끝점을 생성합니다.

  • ec2.<region>.amazonaws.com
  • elasticloadbalancing.<region>.amazonaws.com
  • s3.<region>.amazonaws.com

필수 VPC 구성 요소

시스템과의 통신을 허용하는 서브넷과 적합한 VPC를 제공해야 합니다.

구성 요소AWS 유형설명

VPC

  • AWS::EC2::VPC
  • AWS::EC2::VPCEndpoint

클러스터에서 사용할 공용 VPC를 제공해야 합니다. VPC는 각 서브넷의 라우팅 테이블을 참조하는 끝점을 사용하여 S3에서 호스팅되는 레지스트리와의 통신을 개선합니다.

퍼블릭 서브넷

  • AWS::EC2::Subnet
  • AWS::EC2::SubnetNetworkAclAssociation

VPC에는 1 ~ 3개의 가용성 영역에 대한 퍼블릭 서브넷이 있어야 하며 이 서브넷을 적절한 인그레스 규칙과 연결해야 합니다.

인터넷 게이트웨이

  • AWS::EC2::InternetGateway
  • AWS::EC2::VPCGatewayAttachment
  • AWS::EC2::RouteTable
  • AWS::EC2::Route
  • AWS::EC2::SubnetRouteTableAssociation
  • AWS::EC2::NatGateway
  • AWS::EC2::EIP

공용 경로가 있는 공용 인터넷 게이트웨이가 VPC에 연결되어 있어야 합니다. 제공된 템플릿에서 각 퍼블릭 서브넷에는 EIP 주소를 갖는 NAT 게이트웨이가 있습니다. 이러한 NAT 게이트웨이를 사용하면 프라이빗 서브넷 인스턴스와 같은 클러스터 리소스가 인터넷에 도달할 수 있으므로 일부 제한된 네트워크 또는 프록시 시나리오에는 필요하지 않습니다.

네트워크 액세스 제어

  • AWS::EC2::NetworkAcl
  • AWS::EC2::NetworkAclEntry

VPC가 다음 포트에 액세스할 수 있어야 합니다.

포트

이유

80

인바운드 HTTP 트래픽

443

인바운드 HTTPS 트래픽

22

인바운드 SSH 트래픽

1024 - 65535

인바운드 임시 트래픽

0 - 65535

아웃바운드 임시 트래픽

프라이빗 서브넷

  • AWS::EC2::Subnet
  • AWS::EC2::RouteTable
  • AWS::EC2::SubnetRouteTableAssociation

VPC에 프라이빗 서브넷이 포함될 수 있습니다. 제공된 CloudFormation 템플릿은 1 ~ 3개 가용성 영역의 프라이빗 서브넷을 생성할 수 있습니다. 프라이빗 서브넷을 사용하는 경우 적절한 경로와 테이블을 제공해야 합니다.

필수 DNS 및 로드 밸런싱 구성 요소

DNS 및 로드 밸런서 구성은 공개 호스팅 영역을 사용해야 하며 클러스터 인프라를 프로비저닝하는 경우 설치 프로그램이 사용하는 것과 유사한 개인 호스팅 영역을 사용할 수 있습니다. 로드 밸런서로 확인되는 DNS 항목을 생성해야 합니다. api.<cluster_name>.<domain>에 대한 항목은 외부 로드 밸런서를 가리켜야 하고 api-int.<cluster_name>.<domain>에 대한 항목은 내부 로드 밸런서를 가리켜야 합니다.

클러스터에는 또한 Kubernetes API 및 해당 확장에 필요한 포트 6443 및 새 시스템의 Ignition 구성 파일에 필요한 포트 22623용 로드 밸런서와 리스너가 필요합니다. 대상은 컨트롤 플레인 노드가 됩니다. 포트 6443은 클러스터 외부의 클라이언트와 클러스터 내부의 노드에서 모두 액세스할 수 있어야 합니다. 포트 22623은 클러스터 내부 노드에서 액세스할 수 있어야 합니다.

구성 요소AWS 유형설명

DNS

AWS::Route53::HostedZone

내부 DNS의 호스팅 영역입니다.

etcd 레코드 세트

AWS::Route53::RecordSet

컨트롤 플레인 시스템의 etcd 등록 레코드입니다.

공용 로드 밸런서

AWS::ElasticLoadBalancingV2::LoadBalancer

퍼블릭 서브넷의 로드 밸런서입니다.

외부 API 서버 레코드

AWS::Route53::RecordSetGroup

외부 API 서버의 별칭 레코드입니다.

외부 리스너

AWS::ElasticLoadBalancingV2::Listener

외부 로드 밸런서용 포트 6443의 리스너입니다.

외부 대상 그룹

AWS::ElasticLoadBalancingV2::TargetGroup

외부 로드 밸런서의 대상 그룹입니다.

프라이빗 로드 밸런서

AWS::ElasticLoadBalancingV2::LoadBalancer

프라이빗 서브넷의 로드 밸런서입니다.

내부 API 서버 레코드

AWS::Route53::RecordSetGroup

내부 API 서버의 별칭 레코드입니다.

내부 리스너

AWS::ElasticLoadBalancingV2::Listener

내부 로드 밸런서용 포트 22623의 리스너입니다.

내부 대상 그룹

AWS::ElasticLoadBalancingV2::TargetGroup

내부 로드 밸런서의 대상 그룹입니다.

내부 리스너

AWS::ElasticLoadBalancingV2::Listener

내부 로드 밸런서용 포트 6443의 리스너입니다.

내부 대상 그룹

AWS::ElasticLoadBalancingV2::TargetGroup

내부 로드 밸런서의 대상 그룹입니다.

보안 그룹

컨트롤 플레인 및 작업자 시스템에는 다음 포트에 대한 액세스 권한이 필요합니다.

그룹유형IP 프로토콜포트 범위

MasterSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

tcp

6443

tcp

22623

WorkerSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

BootstrapSecurityGroup

AWS::EC2::SecurityGroup

tcp

22

tcp

19531

컨트롤 플레인 인그레스

컨트롤 플레인 시스템에는 다음과 같은 인그레스 그룹이 필요합니다. 각 인그레스 그룹은 AWS::EC2::SecurityGroupIngress 리소스입니다.

인그레스 그룹설명IP 프로토콜포트 범위

MasterIngressEtcd

etcd

tcp

2379- 2380

MasterIngressVxlan

Vxlan 패킷

udp

4789

MasterIngressWorkerVxlan

Vxlan 패킷

udp

4789

MasterIngressInternal

내부 클러스터 통신 및 Kubernetes 프록시 메트릭

tcp

9000 - 9999

MasterIngressWorkerInternal

내부 클러스터 통신

tcp

9000 - 9999

MasterIngressKube

Kubernetes kubelet, 스케줄러 및 컨트롤러 관리자

tcp

10250 - 10259

MasterIngressWorkerKube

Kubernetes kubelet, 스케줄러 및 컨트롤러 관리자

tcp

10250 - 10259

MasterIngressIngressServices

Kubernetes 인그레스 서비스

tcp

30000 - 32767

MasterIngressWorkerIngressServices

Kubernetes 인그레스 서비스

tcp

30000 - 32767

MasterIngressGeneve

Geneve 패킷

udp

6081

MasterIngressWorkerGeneve

Geneve 패킷

udp

6081

MasterIngressIpsecIke

IPsec IKE 패킷

udp

500

MasterIngressWorkerIpsecIke

IPsec IKE 패킷

udp

500

MasterIngressIpsecNat

IPsec NAT-T 패킷

udp

4500

MasterIngressWorkerIpsecNat

IPsec NAT-T 패킷

udp

4500

MasterIngressIpsecEsp

IPsec ESP 패킷

50

All

MasterIngressWorkerIpsecEsp

IPsec ESP 패킷

50

All

MasterIngressInternalUDP

내부 클러스터 통신

udp

9000 - 9999

MasterIngressWorkerInternalUDP

내부 클러스터 통신

udp

9000 - 9999

MasterIngressIngressServicesUDP

Kubernetes 인그레스 서비스

udp

30000 - 32767

MasterIngressWorkerIngressServicesUDP

Kubernetes 인그레스 서비스

udp

30000 - 32767

작업자 인그레스

작업자 시스템에는 다음과 같은 인그레스 그룹이 필요합니다. 각 인그레스 그룹은 AWS::EC2::SecurityGroupIngress 리소스입니다.

인그레스 그룹설명IP 프로토콜포트 범위

WorkerIngressVxlan

Vxlan 패킷

udp

4789

WorkerIngressWorkerVxlan

Vxlan 패킷

udp

4789

WorkerIngressInternal

내부 클러스터 통신

tcp

9000 - 9999

WorkerIngressWorkerInternal

내부 클러스터 통신

tcp

9000 - 9999

WorkerIngressKube

Kubernetes kubelet, 스케줄러 및 컨트롤러 관리자

tcp

10250

WorkerIngressWorkerKube

Kubernetes kubelet, 스케줄러 및 컨트롤러 관리자

tcp

10250

WorkerIngressIngressServices

Kubernetes 인그레스 서비스

tcp

30000 - 32767

WorkerIngressWorkerIngressServices

Kubernetes 인그레스 서비스

tcp

30000 - 32767

WorkerIngressGeneve

Geneve 패킷

udp

6081

WorkerIngressMasterGeneve

Geneve 패킷

udp

6081

WorkerIngressIpsecIke

IPsec IKE 패킷

udp

500

WorkerIngressMasterIpsecIke

IPsec IKE 패킷

udp

500

WorkerIngressIpsecNat

IPsec NAT-T 패킷

udp

4500

WorkerIngressMasterIpsecNat

IPsec NAT-T 패킷

udp

4500

WorkerIngressIpsecEsp

IPsec ESP 패킷

50

All

WorkerIngressMasterIpsecEsp

IPsec ESP 패킷

50

All

WorkerIngressInternalUDP

내부 클러스터 통신

udp

9000 - 9999

WorkerIngressMasterInternalUDP

내부 클러스터 통신

udp

9000 - 9999

WorkerIngressIngressServicesUDP

Kubernetes 인그레스 서비스

udp

30000 - 32767

WorkerIngressMasterIngressServicesUDP

Kubernetes 인그레스 서비스

udp

30000 - 32767

역할 및 인스턴스 프로필

AWS에서 시스템 권한을 부여해야 합니다. 제공된 CloudFormation 템플릿은 다음 AWS::IAM::Role 오브젝트에 대한 허용 권한을 머신에 부여하며 각 역할 세트의 AWS::IAM::InstanceProfile을 제공합니다. 템플릿을 사용하지 않는 경우 다음과 같은 광범위한 권한 또는 다음과 같은 개별 권한을 시스템에 부여할 수 있습니다.

역할효과동작리소스 이름

Master

허용

ec2:*

*

허용

elasticloadbalancing:*

*

허용

iam:PassRole

*

허용

s3:GetObject

*

Worker

허용

ec2:Describe*

*

부트스트랩

허용

ec2:Describe*

*

허용

ec2:AttachVolume

*

허용

ec2:DetachVolume

*

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.