4.2. HCP 클러스터를 사용하는 ROSA의 추가 주체
추가 주체로 AWS IAM(Identity and Access Management) 역할을 허용하여 클러스터의 프라이빗 API 서버 끝점에 연결할 수 있습니다.
공용 인터넷 또는 VPC 프라이빗 서브넷 내에서 생성된 인터페이스 끝점에서 HCP 클러스터의 API 서버 엔드포인트를 사용하여 ROSA에 액세스할 수 있습니다. 기본적으로 -kube-system-kube-controller-manager
Operator 역할을 사용하여 HCP API 서버로 ROSA에 개별적으로 액세스할 수 있습니다. 클러스터가 설치된 기본 계정을 사용하지 않고 다른 계정에서 직접 HCP API 서버를 사용하여 ROSA에 액세스하려면 계정 간 IAM 역할을 추가 주체로 포함해야 합니다. 이 기능을 사용하면 계정 간 VPC를 클러스터의 VPC에 연결하거나 이를 통해 네트워크 아키텍처를 단순화하고 데이터 전송 비용을 줄일 수 있습니다.
이 다이어그램에서 클러스터 생성 계정은 계정 A로 지정됩니다. 이 계정은 다른 계정, 계정 B가 API 서버에 액세스할 수 있어야 함을 지정합니다.
허용된 추가 주체를 구성한 후 VPC에서 HCP API 서버를 사용하여 계정 ROSA에 액세스하려는 인터페이스 VPC 엔드포인트를 생성해야 합니다. 그런 다음 Route53에 프라이빗 호스팅 영역을 생성하여 생성된 VPC 끝점을 통과하도록 HCP API 서버와 계정 ROSA 간 호출을 라우팅합니다.
4.2.1. HCP 클러스터로 ROSA를 생성하는 동안 추가 주체 추가
--additional-allowed-principals
인수를 사용하여 다른 역할을 통한 액세스를 허용합니다.
절차
다음과 같이
--additional-allowed-principals
인수를rosa create cluster
명령에 추가합니다.$ rosa create cluster [...] --additional-allowed-principals <arn_string>
arn:aws:iam::account_id:role/role_name
을 사용하여 특정 역할을 승인할 수 있습니다.클러스터 생성 명령이 실행되면
--additional-allowed-principals
가 지정된 클러스터 요약이 표시됩니다.출력 예
Name: mycluster Domain Prefix: mycluster Display Name: mycluster ID: <cluster-id> External ID: <cluster-id> Control Plane: ROSA Service Hosted OpenShift Version: 4.15.17 Channel Group: stable DNS: Not ready AWS Account: <aws_id> AWS Billing Account: <aws_id> API URL: Console URL: Region: us-east-2 Availability: - Control Plane: MultiAZ - Data Plane: SingleAZ Nodes: - Compute (desired): 2 - Compute (current): 0 Network: - Type: OVNKubernetes - Service CIDR: 172.30.0.0/16 - Machine CIDR: 10.0.0.0/16 - Pod CIDR: 10.128.0.0/14 - Host Prefix: /23 - Subnets: subnet-453e99d40, subnet-666847ce827 EC2 Metadata Http Tokens: optional Role (STS) ARN: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Installer-Role Support Role ARN: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Support-Role Instance IAM Roles: - Worker: arn:aws:iam::<aws_id>:role/mycluster-HCP-ROSA-Worker-Role Operator IAM Roles: - arn:aws:iam::<aws_id>:role/mycluster-kube-system-control-plane-operator - arn:aws:iam::<aws_id>:role/mycluster-openshift-cloud-network-config-controller-cloud-creden - arn:aws:iam::<aws_id>:role/mycluster-openshift-image-registry-installer-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-openshift-cluster-csi-drivers-ebs-cloud-credentials - arn:aws:iam::<aws_id>:role/mycluster-kube-system-kms-provider - arn:aws:iam::<aws_id>:role/mycluster-kube-system-kube-controller-manager - arn:aws:iam::<aws_id>:role/mycluster-kube-system-capa-controller-manager Managed Policies: Yes State: waiting (Waiting for user action) Private: No Delete Protection: Disabled Created: Jun 25 2024 13:36:37 UTC User Workload Monitoring: Enabled Details Page: https://console.redhat.com/openshift/details/s/Bvbok4O79q1Vg8 OIDC Endpoint URL: https://oidc.op1.openshiftapps.com/vhufi5lap6vbl3jlq20e (Managed) Audit Log Forwarding: Disabled External Authentication: Disabled Additional Principals: arn:aws:iam::<aws_id>:role/additional-user-role
4.2.2. HCP 클러스터를 사용하여 기존 ROSA에 추가 주체 추가
CLI(명령줄 인터페이스)를 사용하여 클러스터에 주체를 추가할 수 있습니다.
절차
다음 명령을 실행하여 클러스터를 편집하고 이 클러스터의 엔드포인트에 액세스할 수 있는 추가 주체를 추가합니다.
$ rosa edit cluster -c <cluster_name> --additional-allowed-principals <arn_string>
arn:aws:iam::account_id:role/role_name
을 사용하여 특정 역할을 승인할 수 있습니다.