第5章 Red Hat OpenShift Service on AWS クラスターの共有 VPC の設定
一元管理された共有 AWS Virtual Private Cloud (VPC) に Red Hat OpenShift Service on AWS クラスターを作成できます。
別のクラスター用にインストーラーによって自動的に作成された VPC に新しい Red Hat OpenShift Service on AWS クラスターをインストールすることはサポートされていません。
- このプロセスには、同じ AWS 組織に属する 2 つの別々 の AWS アカウントが必要です。一方のアカウントは VPC を所有する AWS アカウント (VPC 所有者) として機能します。もう一方のアカウントはクラスター作成用の AWS アカウント (クラスター作成者) でクラスターを作成します。
- 共有 VPC へのクラスターのインストールは、OpenShift 4.17.9 以降でのみサポートされています。
* ホストゾーンは、VPC を一元管理しているアカウント、またはクラスターがデプロイされるワークロード用アカウントのいずれかに作成できます。
サポートされているのは、特定のクラスターと VPC の関係だけです。単一の VPC 内に複数の Red Hat OpenShift Service on AWS クラスターを配置することはサポートされていません。詳細は、Multiple Red Hat OpenShift Service on AWS clusters in a single VPC を参照してください。
VPC 所有者 の前提条件
- ロールを作成し、リソースを共有するための適切な権限を持つ AWS アカウントがある。
- 組織の管理アカウントから リソース共有を有効にした。
- AWS コンソール や AWS コマンドラインインターフェイス (CLI) などの AWS エントリーポイントにアクセスできる。
クラスター作成者 の前提条件
-
ROSA CLI (
rosa
) 1.2.49 以降をインストールした。 - クラスターを作成するために必要なすべての Red Hat OpenShift Service on AWS アカウントロール を作成した。
- クラスター作成者 の AWS アカウントが、VPC 所有者 の AWS アカウントとは別である。
5.1. ステップ 1: VPC 所有者: AWS 組織内で共有するための VPC の設定 リンクのコピーリンクがクリップボードにコピーされました!
VPC 内のサブネットを、AWS 組織内の別の AWS アカウントと共有できます。
手順
- AWS コンソールの VPC セクション で、仕様に合わせて VPC を作成または変更します。必ず正しいリージョンを選択してください。
Route 53 role
を作成します。注記Route 53 role
は、Amazon Route 53 ホストゾーン (ステップ 3 で作成) を作成する予定のアカウントと同じアカウントに作成する必要があります。たとえば、VPC を一元管理しているアカウントにホストゾーンを作成する場合は、VPC 所有者 アカウントにRoute 53 role
を作成する必要があります。ワークロードアカウントにホストゾーンを作成する場合は、クラスター作成者 アカウントにRoute 53 role
を作成する必要があります。ロールを引き受ける権限を付与するカスタム信頼ポリシーファイルを作成します。
cat <<EOF > /tmp/route53-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root" }, "Action": "sts:AssumeRole" } ] } EOF
$ cat <<EOF > /tmp/route53-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root"
1 }, "Action": "sts:AssumeRole" } ] } EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 信頼ポリシーのプリンシパルのスコープは、
root
ではなく、Ingress Operator ロールとインストーラーアカウントロールに縮小することもできます。
AWS 管理ポリシー
ROSASharedVPCRoute53Policy
用の IAM ロールを作成します。aws iam create-role --role-name <role_name> \ --assume-role-policy-document file:///tmp/route53-role.json
$ aws iam create-role --role-name <role_name> \
1 --assume-role-policy-document file:///tmp/route53-role.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <role_name> は、作成するロールの名前に置き換えます。
必要な共有 VPC 権限を許可するために、AWS 管理ポリシー
ROSASharedVPCRoute53Policy
をアタッチします。aws iam attach-role-policy --role-name <role_name> \ --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCRoute53Policy
$ aws iam attach-role-policy --role-name <role_name> \
1 --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCRoute53Policy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <role_name> は、作成したロールの名前に置き換えます。
VPC endpoint role
を作成します。ロールを引き受ける権限を付与するカスタム信頼ポリシーファイルを作成します。
cat <<EOF > /tmp/shared-vpc-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root" }, "Action": "sts:AssumeRole" } ] } EOF
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 信頼ポリシーのプリンシパルのスコープは、
root
ではなく、Ingress Operator ロールとインストーラーアカウントロールに縮小することもできます。
AWS 管理ポリシー
ROSASharedVPCEndpointPolicy
用の IAM ロールを作成します。aws iam create-role --role-name <role_name> \ --assume-role-policy-document file:///tmp/vpce-role.json
$ aws iam create-role --role-name <role_name> \
1 --assume-role-policy-document file:///tmp/vpce-role.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <role_name> は、作成するロールの名前に置き換えます。
必要な共有 VPC 権限を許可するために、AWS 管理ポリシー
ROSASharedVPCEndpointPolicy
をアタッチします。aws iam attach-role-policy --role-name <role_name> \ --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCEndpointPolicy
$ aws iam attach-role-policy --role-name <role_name> \
1 --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCEndpointPolicy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <role_name> は、作成したロールの名前に置き換えます。
-
設定を続行するために、
Route 53 role
ARN とVPC endpoint role
ARN を クラスター作成者 に提供します。
関連情報
- AWS リソースの共有 については、AWS ドキュメントを参照してください。