第6章 ROSA クラスターの共有 VPC の設定
一元管理された共有 AWS Virtual Private Cloud (VPC) 内に Red Hat OpenShift Service on AWS (ROSA) クラシックアーキテクチャークラスターを作成できます。
別のクラスター用にインストーラーによって自動的に作成された VPC に新しい Red Hat OpenShift Service on AWS クラシックアーキテクチャークラスターをインストールすることはサポートされていません。
このプロセスには、同じ AWS 組織に属する 2 つの別々 の AWS アカウントが必要です。一方のアカウントは VPC を所有する AWS アカウント (VPC 所有者) として機能します。もう一方のアカウントはクラスター作成用の AWS アカウント (クラスター作成者) でクラスターを作成します。
VPC 所有者 の前提条件
- ロールを作成し、リソースを共有するための適切な権限を持つ AWS アカウントがある。
- クラスター作成者 の AWS アカウントは、VPC 所有者 の AWS アカウントとは別である。
- どちらの AWS アカウントも、同じ AWS 組織に属している。
- 組織の管理アカウントからのリソース共有を有効にしている。
- AWS console にアクセスできる。
Cluster Creator の前提条件
-
ROSA CLI (
rosa) 1.2.26 以降がインストールされている。 - クラスターの作成に必要な アカウント全体のロールとポリシー がすべて作成されている。
- クラスター作成者 の AWS アカウントは、VPC 所有者 の AWS アカウントとは別である。
- どちらの AWS アカウントも、同じ AWS 組織に属している。
共有 VPC へのクラスターのインストールは、OpenShift 4.12.34 以降、4.13.10 以降、および今後の全 4.y ストリームでのみサポートされます。
6.1. ステップ 1: VPC Owner: AWS 組織内で共有するための VPC の設定 リンクのコピーリンクがクリップボードにコピーされました!
アカウントが現在の AWS 組織内にある場合、設定済みの VPC 内のサブネットを別の AWS ユーザーアカウントで共有できます。
手順
- AWS コンソールの VPC セクション で、仕様に合わせて VPC を作成または変更します。
SharedVPCPolicyという名前を使用する必要な共有 VPC 権限を許可するカスタムポリシーファイルを作成します。$ cat <<EOF > /tmp/shared-vpc-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets", "route53:ListHostedZones", "route53:ListHostedZonesByName", "route53:ListResourceRecordSets", "route53:ChangeTagsForResource", "route53:GetAccountLimit", "route53:GetChange", "route53:GetHostedZone", "route53:ListTagsForResource", "route53:UpdateHostedZoneComment", "tag:GetResources", "tag:UntagResources" ], "Resource": "*" } ] } EOFAWS でポリシーを作成します。
$ aws iam create-policy \ --policy-name SharedVPCPolicy \ --policy-document file:///tmp/shared-vpc-policy.jsonこのポリシーを、共有 VPC 権限に必要なロールに割り当てます。
ロールを引き受ける権限を付与するカスタム信頼ポリシーファイルを作成します。
$ cat <<EOF > /tmp/shared-vpc-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root"1 }, "Action": "sts:AssumeRole" } ] } EOF- 1
- Cluster Creator が必要なクラスターロールを作成した後、プリンシパルのスコープを減らして設定されます。作成時に、クラスター作成者 の AWS アカウント ID を
arn:aws:iam::{Account}:rootとして使用して、root ユーザープレースホルダーを作成する必要があります。
IAM ロールを作成します。
$ aws iam create-role --role-name <role_name> \1 --assume-role-policy-document file:///tmp/shared-vpc-role.json- 1
- <role_name> は、作成するロールの名前に置き換えます。
カスタムの
SharedVPCPolicyパーミッションポリシーを割り当てます。$ aws iam attach-role-policy --role-name <role_name> --policy-arn \1 arn:aws:iam::<AWS_account_ID>:policy/SharedVPCPolicy2 -
SharedVPCRoleARN を Cluster Creator に指定して、設定を続行します。