2장. AWS에 설치


2.1. AWS 계정 구성

OpenShift Container Platform을 설치하려면 먼저 AWS(Amazon Web Services) 계정을 구성해야 합니다.

2.1.1. 경로 53 구성

OpenShift Container Platform을 설치하려면 사용하는 AWS(Amazon Web Services) 계정에 Route 53 서비스의 전용 공개 호스팅 영역이 있어야 합니다. 도메인에 대한 권한도 이 영역에 있어야 합니다. Route 53 서비스는 클러스터와의 외부 연결에 필요한 클러스터 DNS 확인 및 이름 조회 기능을 제공합니다.

프로세스

  1. 도메인 또는 하위 도메인과 등록 기관을 식별합니다. 기존 도메인 및 등록 기관을 이전하거나 AWS 또는 다른 소스를 통해 새 도메인을 구입할 수 있습니다.

    참고

    AWS를 통해 새 도메인을 구입하는 경우 관련 DNS 변경사항이 전파되는 데 시간이 걸립니다. AWS를 통한 도메인 구입에 대한 자세한 내용은 AWS 문서에서 Amazon Route 53을 사용하여 도메인 이름 등록을 참조하십시오.

  2. 기존 도메인과 등록 기관을 사용하는 경우에는 해당 DNS를 AWS로 마이그레이션합니다. AWS 문서의 Amazon Route 53을 기존 도메인의 DNS 서비스로 지정을 참조하십시오.
  3. 도메인 또는 하위 도메인의 공개 호스팅 영역을 생성합니다. AWS 문서의 공개 호스팅 영역 생성을 참조하십시오.

    적절한 루트 도메인(예: openshiftcorp.com) 또는 하위 도메인(예: clusters.openshiftcorp.com)을 사용합니다.

  4. 호스팅 영역 레코드에서 권한이 있는 새 이름 서버를 추출합니다. AWS 문서의 공개 호스팅 영역의 이름 서버 가져오기를 참조하십시오.
  5. 도메인에서 사용하는 AWS Route 53 이름 서버의 등록 기관 레코드를 업데이트합니다. 예를 들어 도메인을 다른 계정의 Route 53 서비스에 등록한 경우 AWS 문서의 다음 주제를 참조하십시오. 이름 서버 또는 글루 레코드 추가 또는 변경.
  6. 하위 도메인을 사용하는 경우 해당 위임 레코드를 상위 도메인에 추가합니다. 이렇게 하면 Amazon Route 53에 하위 도메인에 대한 책임이 부여됩니다. 상위 도메인의 DNS 공급자에 의해 요약된 위임 프로세스를 따릅니다. 상위 수준 프로세스의 예는 AWS 문서에서 상위 도메인을 마이그레이션하지 않고 Amazon Route 53을 DNS 서비스로 사용하여 하위 도메인 생성을 참조하십시오.

2.1.1.1. AWS Route 53에 대한 Ingress Operator 엔드 포인트 구성

Amazon Web Services (AWS) GovCloud (US) US-West 또는 US-East 리전에 설치하는 경우 Ingress Operator는 Route53 및 태그 지정 API 클라이언트에 us-gov-west-1 리전을 사용합니다.

Ingress Operator는 'us-gov-east-1' 문자열을 포함하는 태그 지정 사용자 지정 엔드 포인트가 구성된 경우 https://tagging.us-gov-west-1.amazonaws.com 을 태그 지정 API 엔드 포인트로 사용합니다.

AWS GovCloud (US) 엔드 포인트에 대한 자세한 내용은 GovCloud (US)에 대한 AWS 설명서에서 Service Endpoints를 참조하십시오.

중요

us-gov-east-1 리전에 설치할 때 AWS GovCloud에서 연결 해제된 개인 설치는 지원되지 않습니다.

Route 53 구성의 예

platform:
  aws:
    region: us-gov-west-1
    serviceEndpoints:
    - name: ec2
      url: https://ec2.us-gov-west-1.amazonaws.com
    - name: elasticloadbalancing
      url: https://elasticloadbalancing.us-gov-west-1.amazonaws.com
    - name: route53
      url: https://route53.us-gov.amazonaws.com 1
    - name: tagging
      url: https://tagging.us-gov-west-1.amazonaws.com 2

1
Route 53의 기본값은 두 AWS GovCloud (US) 리전 모두에서 https://route53.us-gov.amazonaws.com입니다.
2
미국 서부 (US-West) 지역에만 태그 지정을 위한 엔드 포인트가 있습니다. 클러스터가 다른 지역에 있는 경우 이 매개 변수를 생략하십시오.

2.1.2. AWS 계정 제한

OpenShift Container Platform 클러스터는 여러 AWS(Amazon Web Services) 구성 요소를 사용하며 기본 서비스 제한이 OpenShift Container Platform 클러스터 설치하는 데 영향을 미칩니다. 특정 클러스터 구성을 사용하거나 특정 AWS 리전에 클러스터를 배포하거나 사용자 계정에서 여러 클러스터를 실행하는 경우 AWS 계정의 추가 리소스를 요청해야 할 수 있습니다.

다음 표에는 해당 제한이 OpenShift Container Platform 클러스터를 설치하고 실행하는 데 영향을 미칠 수 있는 AWS 구성 요소가 요약되어 있습니다.

구성 요소기본적으로 사용 가능한 클러스터 수기본 AWS 제한설명

인스턴스 제한

변동 가능

변동 가능

기본적으로 각 클러스터는 다음 인스턴스를 생성합니다.

  • 설치 후 제거되는 하나의 부트스트랩 시스템
  • ​컨트롤 플레인 노드(마스터 노드라고도 함) 세 개
  • 작업자 노드 세 개

이러한 인스턴스 유형 수는 새 계정의 기본 제한 내에 있습니다. 더 많은 작업자 노드를 배포하거나 자동 크기 조정을 활성화하거나 대규모 워크로드를 배포하거나 다른 인스턴스 유형을 사용하려면 계정 제한을 검토하여 클러스터가 필요한 시스템을 배포할 수 있는지 확인합니다.

대부분의 리전에서 부트스트랩 및 작업자 시스템은 m4.large 시스템을 사용하고 컨트롤 플레인 시스템은 m4.xlarge 인스턴스를 사용합니다. 이러한 인스턴스 유형을 지원하지 않는 모든 리전을 포함한 일부 리전에서는 m5.largem5.xlarge 인스턴스를 대신 사용합니다.

탄력적 IP(EIP)

0 ~1

계정 당 EIP 5개

설치 프로그램은 클러스터를 고가용성 구성으로 프로비저닝하기 위해 각각의 리전 내 가용성 영역의 퍼블릭 및 프라이빗 서브넷을 만듭니다. 프라이빗 서브넷마다 NAT 게이트웨이가 필요하며 NAT 게이트웨이마다 개별 탄력적 IP가 필요합니다. 각 리전의 가용성 영역 수를 판별하려면 AWS 영역 지도를 검토합니다. 기본 고가용성을 활용하려면 세 개 이상의 가용성 영역이 있는 리전에 클러스터를 설치합니다. 여섯 개 이상의 가용성 영역이 있는 리전에 클러스터를 설치하려면 EIP 제한을 늘려야 합니다.

중요

us-east-1 리젼을 사용하려면 계정의 EIP 제한을 늘려야 합니다.

가상 사설 클라우드(VPC)

5

리전당 VPC 5개

각 클러스터마다 자체 VPC를 생성합니다.

탄력적 로드 밸런싱(ELB/NLB)

3

리전당 20개

기본적으로 각 클러스터는 마스터 API 서버용 내부 및 외부 네트워크 로드 밸런서를 생성하고 라우터용 단일 클래식 탄력적 로드 밸런서를 생성합니다. LoadBalancer 유형으로 Kubernetes Service 개체를 더 배포하면 추가 로드 밸런서가 생성됩니다.

NAT 게이트웨이

5

가용성 영역당 5개

클러스터는 각 가용성 영역에 하나의 NAT 게이트웨이를 배포합니다.

탄력적 네트워크 인터페이스(ENI)

12개 이상

리전당 350개

기본 설치는 21개의 ENI와 함께 리전 내 각 가용성 영역마다 하나의 ENI를 생성합니다. 예를 들어 us-east-1 리전에는 여섯 개의 가용성 영역이 있으므로 해당 영역에 배포되는 클러스터는 27개의 ENI를 사용합니다. 각 리전의 가용성 영역 수를 판별하려면 AWS 영역 지도를 검토합니다.

클러스터 사용 및 배포된 워크로드에 의해 생성되는 추가 시스템 및 탄력적 로드 밸런서마다 추가 ENI가 생성됩니다.

VPC 게이트웨이

20

계정당 20개

각 클러스터는 S3 액세스를 위한 단일 VPC 게이트웨이를 생성합니다.

S3 버킷

99

계정당 버킷 100개

설치 프로세스에서 임시 버킷을 생성하고 각 클러스터의 레지스트리 구성 요소가 버킷을 생성하므로 AWS 계정당 OpenShift Container Platform 클러스터를 99개만 생성할 수 있습니다.

보안 그룹

250

계정당 2,500개

클러스터마다 10개의 개별 보안 그룹을 생성합니다.

2.1.3. 필요한 GCP 권한

참고

기본 클러스터 리소스를 삭제하려면 IAM 사용자에게 us-east-1 리전에 권한 태그:GetResources 가 있어야 합니다. AWS API 요구 사항의 일부로 OpenShift Container Platform 설치 프로그램은 이 리전에서 다양한 작업을 수행합니다.

AWS(Amazon Web Services)에서 생성되는 IAM 사용자에게 AdministratorAccess 정책을 연결하면 해당 사용자에게 필요한 모든 권한이 부여됩니다. OpenShift Container Platform 클러스터의 모든 구성 요소를 배포하려면 IAM 사용자에게 다음과 같은 권한이 필요합니다.

예 2.1. 설치에 필요한 EC2 권한

  • tag:TagResources
  • tag:UntagResources
  • ec2:AllocateAddress
  • ec2:AssociateAddress
  • ec2:AuthorizeSecurityGroupEgress
  • ec2:AuthorizeSecurityGroupIngress
  • ec2:CopyImage
  • ec2:CreateNetworkInterface
  • ec2:AttachNetworkInterface
  • ec2:CreateSecurityGroup
  • ec2:CreateTags
  • ec2:CreateVolume
  • ec2:DeleteSecurityGroup
  • ec2:DeleteSnapshot
  • ec2:DeleteTags
  • ec2:DeregisterImage
  • ec2:DescribeAccountAttributes
  • ec2:DescribeAddresses
  • ec2:DescribeAvailabilityZones
  • ec2:DescribeDhcpOptions
  • ec2:DescribeImages
  • ec2:DescribeInstanceAttribute
  • ec2:DescribeInstanceCreditSpecifications
  • ec2:DescribeInstances
  • ec2:DescribeInternetGateways
  • ec2:DescribeKeyPairs
  • ec2:DescribeNatGateways
  • ec2:DescribeNetworkAcls
  • ec2:DescribeNetworkInterfaces
  • ec2:DescribePrefixLists
  • ec2:DescribeRegions
  • ec2:DescribeRouteTables
  • ec2:DescribeSecurityGroups
  • ec2:DescribeSubnets
  • ec2:DescribeTags
  • ec2:DescribeVolumes
  • ec2:DescribeVpcAttribute
  • ec2:DescribeVpcClassicLink
  • ec2:DescribeVpcClassicLinkDnsSupport
  • ec2:DescribeVpcEndpoints
  • ec2:DescribeVpcs
  • ec2:GetEbsDefaultKmsKeyId
  • ec2:ModifyInstanceAttribute
  • ec2:ModifyNetworkInterfaceAttribute
  • ec2:ReleaseAddress
  • ec2:RevokeSecurityGroupEgress
  • ec2:RevokeSecurityGroupIngress
  • ec2:RunInstances
  • ec2:TerminateInstances

예 2.2. 설치 과정에서 네트워크 리소스를 생성하는 데 필요한 권한

  • ec2:AssociateDhcpOptions
  • ec2:AssociateRouteTable
  • ec2:AttachInternetGateway
  • ec2:CreateDhcpOptions
  • ec2:CreateInternetGateway
  • ec2:CreateNatGateway
  • ec2:CreateRoute
  • ec2:CreateRouteTable
  • ec2:CreateSubnet
  • ec2:CreateVpc
  • ec2:CreateVpcEndpoint
  • ec2:ModifySubnetAttribute
  • ec2:ModifyVpcAttribute
참고

기존 VPC를 사용하는 경우 네트워크 리소스를 생성하기 위해 계정에 이러한 권한이 필요하지 않습니다.

예 2.3. 설치에 필요한 Elastic Load Balancing 권한(ELB)

  • elasticloadbalancing:AddTags
  • elasticloadbalancing:ApplySecurityGroupsToLoadBalancer
  • elasticloadbalancing:AttachLoadBalancerToSubnets
  • elasticloadbalancing:ConfigureHealthCheck
  • elasticloadbalancing:CreateLoadBalancer
  • elasticloadbalancing:CreateLoadBalancerListeners
  • elasticloadbalancing:DeleteLoadBalancer
  • elasticloadbalancing:DeregisterInstancesFromLoadBalancer
  • elasticloadbalancing:DescribeInstanceHealth
  • elasticloadbalancing:DescribeLoadBalancerAttributes
  • elasticloadbalancing:DescribeLoadBalancers
  • elasticloadbalancing:DescribeTags
  • elasticloadbalancing:ModifyLoadBalancerAttributes
  • elasticloadbalancing:RegisterInstancesWithLoadBalancer
  • elasticloadbalancing:SetLoadBalancerPoliciesOfListener

예 2.4. 설치에 필요한 Elastic Load Balancing 권한(ELBv2)

  • elasticloadbalancing:AddTags
  • elasticloadbalancing:CreateListener
  • elasticloadbalancing:CreateLoadBalancer
  • elasticloadbalancing:CreateTargetGroup
  • elasticloadbalancing:DeleteLoadBalancer
  • elasticloadbalancing:DeregisterTargets
  • elasticloadbalancing:DescribeListeners
  • elasticloadbalancing:DescribeLoadBalancerAttributes
  • elasticloadbalancing:DescribeLoadBalancers
  • elasticloadbalancing:DescribeTargetGroupAttributes
  • elasticloadbalancing:DescribeTargetHealth
  • elasticloadbalancing:ModifyLoadBalancerAttributes
  • elasticloadbalancing:ModifyTargetGroup
  • elasticloadbalancing:ModifyTargetGroupAttributes
  • elasticloadbalancing:RegisterTargets

예 2.5. 설치에 필요한 IAM 권한

  • iam:AddRoleToInstanceProfile
  • iam:CreateInstanceProfile
  • iam:CreateRole
  • iam:DeleteInstanceProfile
  • iam:DeleteRole
  • iam:DeleteRolePolicy
  • iam:GetInstanceProfile
  • iam:GetRole
  • iam:GetRolePolicy
  • iam:GetUser
  • iam:ListInstanceProfilesForRole
  • iam:ListRoles
  • iam:ListUsers
  • iam:PassRole
  • iam:PutRolePolicy
  • iam:RemoveRoleFromInstanceProfile
  • iam:SimulatePrincipalPolicy
  • iam:TagRole
참고

AWS 계정에서 탄력적 로드 밸런서 (ELB)를 생성하지 않은 경우 IAM 사용자에게 iam:CreateServiceLinkedRole 권한이 필요합니다.

예 2.6. 설치에 필요한 Route 53 권한

  • route53:ChangeResourceRecordSets
  • route53:ChangeTagsForResource
  • route53:CreateHostedZone
  • route53:DeleteHostedZone
  • route53:GetChange
  • route53:GetHostedZone
  • route53:ListHostedZones
  • route53:ListHostedZonesByName
  • route53:ListResourceRecordSets
  • route53:ListTagsForResource
  • route53:UpdateHostedZoneComment

예 2.7. 설치에 필요한 S3 권한

  • s3:CreateBucket
  • s3:DeleteBucket
  • s3:GetAccelerateConfiguration
  • s3:GetBucketAcl
  • s3:GetBucketCors
  • s3:GetBucketLocation
  • s3:GetBucketLogging
  • s3:GetBucketObjectLockConfiguration
  • s3:GetBucketReplication
  • s3:GetBucketRequestPayment
  • s3:GetBucketTagging
  • s3:GetBucketVersioning
  • s3:GetBucketWebsite
  • s3:GetEncryptionConfiguration
  • s3:GetLifecycleConfiguration
  • s3:GetReplicationConfiguration
  • s3:ListBucket
  • s3:PutBucketAcl
  • s3:PutBucketTagging
  • s3:PutEncryptionConfiguration

예 2.8. 클러스터 Operator에 필요한 S3 권한

  • s3:DeleteObject
  • s3:GetObject
  • s3:GetObjectAcl
  • s3:GetObjectTagging
  • s3:GetObjectVersion
  • s3:PutObject
  • s3:PutObjectAcl
  • s3:PutObjectTagging

예 2.9. 기본 클러스터 리소스를 삭제하는 데 필요한 권한

  • autoscaling:DescribeAutoScalingGroups
  • ec2:DeleteNetworkInterface
  • ec2:DeleteVolume
  • elasticloadbalancing:DeleteTargetGroup
  • elasticloadbalancing:DescribeTargetGroups
  • iam:DeleteAccessKey
  • iam:DeleteUser
  • iam:ListAttachedRolePolicies
  • iam:ListInstanceProfiles
  • iam:ListRolePolicies
  • iam:ListUserPolicies
  • s3:DeleteObject
  • s3:ListBucketVersions
  • tag:GetResources

예 2.10. 네트워크 리소스를 삭제하는 데 필요한 권한

  • ec2:DeleteDhcpOptions
  • ec2:DeleteInternetGateway
  • ec2:DeleteNatGateway
  • ec2:DeleteRoute
  • ec2:DeleteRouteTable
  • ec2:DeleteSubnet
  • ec2:DeleteVpc
  • ec2:DeleteVpcEndpoints
  • ec2:DetachInternetGateway
  • ec2:DisassociateRouteTable
  • ec2:ReplaceRouteTableAssociation
참고

기존 VPC를 사용하는 경우 네트워크 리소스를 삭제하기 위해 계정에 이러한 권한이 필요하지 않습니다.

예 2.11. 매니페스트를 생성하는 데 필요한 추가 IAM 및 S3 권한

  • iam:DeleteAccessKey
  • iam:DeleteUser
  • iam:DeleteUserPolicy
  • iam:GetUserPolicy
  • iam:ListAccessKeys
  • iam:PutUserPolicy
  • iam:TagUser
  • iam:GetUserPolicy
  • iam:ListAccessKeys
  • s3:PutBucketPublicAccessBlock
  • s3:GetBucketPublicAccessBlock
  • s3:PutLifecycleConfiguration
  • s3:HeadBucket
  • s3:ListBucketMultipartUploads
  • s3:AbortMultipartUpload
참고

mint 모드를 사용하여 클라우드 공급자 인증 정보를 관리하는 경우 IAM 사용자에게 iam:CreateAccessKeyiam:CreateUser 권한이 필요합니다.

예 2.12. 설치에 대한 할당량 검사에 대한 선택적 권한

  • servicequotas:ListAWSDefaultServiceQuotas

2.1.4. IAM 사용자 생성

각 AWS(Amazon Web Services) 계정에는 계정을 생성하는 데 사용한 이메일 주소를 기반으로 하는 루트 사용자 계정이 포함되어 있습니다. 이 계정은 권한이 높은 계정이므로 초기 계정 및 결제 구성, 초기 사용자 집합 생성 및 계정 보안 용도로만 사용하는 것이 좋습니다.

OpenShift Container Platform을 설치하기 전에 보조 IAM 관리자를 생성합니다. AWS 문서의 AWS 계정에서 IAM 사용자 생성 프로시저를 완료하면 다음 옵션을 설정합니다.

프로세스

  1. IAM 사용자 이름을 지정하고 Programmatic access를 선택합니다.
  2. AdministratorAccess 정책을 연결하여 클러스터를 생성할 수 있는 충분한 권한이 계정에 있는지 확인합니다. 이 정책은 각 OpenShift Container Platform 구성 요소에 자격 증명을 부여하는 기능을 클러스터에 제공합니다. 클러스터는 필요한 자격 증명만 구성 요소에 부여합니다.

    참고

    필요한 모든 AWS 권한을 부여하는 정책을 생성하여 사용자에게 연결할 수는 있지만 바람직한 옵션은 아닙니다. 클러스터는 개별 구성 요소에 추가 자격 증명을 부여할 수 없으므로 모든 구성 요소가 동일한 자격 증명을 사용합니다.

  3. 선택 사항: 태그를 연결하여 사용자에게 메타데이터를 추가합니다.
  4. 지정한 사용자 이름에 AdministratorAccess 정책이 부여되었는지 확인합니다.
  5. 액세스 키 ID 및 시크릿 액세스 키 값을 기록합니다. 설치 프로그램을 실행하도록 로컬 시스템을 구성할 때 이 값을 사용해야 합니다.

    중요

    다단계 인증 장치를 사용하여 AWS에 인증하는 동안 생성한 임시 세션 토큰은 클러스터를 배포할 때 사용할 수 없습니다. 클러스터는 클러스터의 전체 수명 동안 현재 AWS 자격 증명을 계속 사용하여 AWS 리소스를 생성하므로 키 기반의 장기 자격 증명을 사용해야 합니다.

추가 리소스

  • 설치하기 전에 수동 모드로 CCO(Cloud Credential Operator)를 설정하는 단계는 AWS의 IAM 수동 생성을 참조하십시오. 클라우드 ID 및 액세스 관리(IAM) API에 연결할 수 없는 환경에서 이 모드를 사용하거나 관리자 수준 인증 정보 시크릿을 클러스터 kube-system 프로젝트에 저장하지 않도록 합니다.

2.1.5. 지원되는 AWS 리전

OpenShift Container Platform 클러스터를 배포할 수 있는 공용 리전은 다음과 같습니다.

참고

기본 클러스터 리소스를 삭제하려면 IAM 사용자에게 us-east-1 리전에 권한 태그:GetResources 가 있어야 합니다. AWS API 요구 사항의 일부로 OpenShift Container Platform 설치 프로그램은 이 리전에서 다양한 작업을 수행합니다.

  • af-south-1 (케이프타운)
  • ap-east-1 (홍콩)
  • ap-northeast-1 (도쿄)
  • ap-northeast-2 (서울)
  • ap-northeast-3 (오사카)
  • ap-south-1 (뭄바이)
  • ap-southeast-1 (싱가포르)
  • ap-southeast-2 (시드니)
  • ca-central-1 (센트럴)
  • eu-central-1 (프랑크푸르트)
  • eu-north-1 (스톡홀름)
  • eu-south-1 (밀라노)
  • eu-west-1 (아일랜드)
  • eu-west-2 (런던)
  • eu-west-3 (파리)
  • me-south-1 (바레인)
  • sa-east-1 (상파울루)
  • us-east-1 (버지니아 북부)
  • us-east-2 (오하이오)
  • us-west-1 (캘리포니아 북부)
  • us-west-2 (오레곤)

다음 AWS GovCloud 리전이 지원됩니다.

  • us-gov-west-1
  • us-gov-east-1

2.1.6. 다음 단계

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.