ROSA Classic クラスターのインストール
Red Hat OpenShift Service on AWS (ROSA) クラスターのインストール、アクセス、および削除
概要
第1章 デフォルトオプションを使用した STS での ROSA クラスターの作成
ROSA のクイックスタートガイドをお探しの場合は、Red Hat OpenShift Service on AWS クイックスタートガイド を参照してください。
デフォルトのオプションと AWS Identity and Access Management (IAM) リソースの自動作成を使用して、Red Hat OpenShift Service on AWS (ROSA) クラスターを迅速に作成します。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、クラスターをデプロイすることができます。
このドキュメントの手順では、ROSA CLI (rosa) および OpenShift Cluster Manager の auto モードを使用して、現在の AWS アカウントを使用して必要な IAM リソースをすぐに作成します。必要なリソースには、アカウント全体の IAM ロールおよびポリシー、クラスター固有の Operator ロール、ならびに OpenID Connect (OIDC) ID プロバイダーが含まれます。
または、IAM リソースを自動的にデプロイする代わりに、IAM リソースの作成に必要な aws コマンドを出力する manual モードを使用することもできます。manual モードまたはカスタマイズを使用して ROSA クラスターをデプロイする手順については、カスタマイズを使用したクラスターの作成 を参照してください。
次のステップ
- AWS の前提条件 を満たしていることを確認してください。
1.1. デフォルトのクラスター仕様の概要
デフォルトのインストールオプションを使用して、AWS Security Token Service (STS) で Red Hat OpenShift Service on AWS (ROSA) クラスターをすばやく作成できます。次の要約では、デフォルトのクラスター仕様について説明します。
表1.1 STS クラスター仕様のデフォルト ROSA
| コンポーネント | デフォルトの仕様 |
|---|---|
| アカウントおよびロール |
|
| クラスター設定 |
|
| 暗号化 |
|
| コントロールプレーンノードの設定 |
|
| インフラストラクチャーノードの設定 |
|
| コンピュートノードマシンプール |
|
| ネットワーク設定 |
|
| Classless Inter-Domain Routing (CIDR) の範囲 |
|
| クラスターのロールおよびポリシー |
|
| クラスター更新戦略 |
|
1.2. AWS アカウントの関連付けについて
Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用して、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、AWS アカウントを Red Hat 組織に関連付ける必要があります。次の IAM ロールを作成してリンクすることで、アカウントを関連付けることができます。
- OpenShift Cluster Manager ロール
OpenShift Cluster Manager IAM ロールを作成し、Red Hat 組織にリンクします。
基本権限または管理権限を OpenShift Cluster Manager ロールに適用できます。基本的なアクセス許可により、OpenShift Cluster Manager Hybrid Cloud Console を使用したクラスターのメンテナンスが可能になります。管理パーミッションにより、OpenShift Cluster Manager Hybrid Cloud Console を使用して、クラスター固有の Operator ロールおよび OpenID Connect (OIDC) プロバイダーの自動デプロイが可能になります。
OpenShift Cluster Manager ロールで管理パーミッションを使用して、クラスターを迅速にデプロイできます。
- User role
ユーザー IAM ロールを作成し、Red Hat ユーザーアカウントにリンクします。Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。
ユーザーロールは、OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスターと必要な STS リソースをインストールするときに、AWS Identity を確認するために Red Hat によって使用されます。
関連情報
- OpenShift Cluster Manager およびユーザー IAM ロールを作成してリンクする詳細な手順は、AWS アカウントと Red Hat 組織の関連付け を参照してください。
1.3. PrivateLink ROSA クラスター以外の Amazon VPC 要件
Amazon VPC を作成するには、以下が必要です。
- インターネットゲートウェイ
- NAT ゲートウェイ
- 必要なコンポーネントをインストールするためにインターネット接続のあるプライベートおよびパブリックサブネット。
Single-AZ クラスターには、少なくとも 1 つのプライベートサブネットとパブリックサブネットが必要で、Multi-AZ クラスターには 3 つ以上のプライベートサブネットとパブリックサブネットが必要です。
関連情報
- AWS クラスターに必要なデフォルトのコンポーネントの詳細は、AWS ドキュメントの Default VPCs を参照してください。
- AWS コンソールで VPC を作成する手順は、AWS ドキュメントの Create a VPC を参照してください。
1.4. OpenShift Cluster Manager を使用してクラスターの迅速な作成
Red Hat OpenShift Cluster Manager を使用して AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。
OpenShift Cluster Manager を使用して STS クラスターで ROSA をデプロイする前に、AWS アカウントを Red Hat 組織に関連付け、必要なアカウント全体の STS ロールおよびポリシーを作成する必要があります。
1.4.1. AWS アカウントを Red Hat 組織に関連付ける
Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用して、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、OpenShift Cluster Manager IAM ロールを作成し、Red Hat 組織にリンクします。次に、ユーザー IAM ロールを作成し、同じ Red Hat 組織内の Red Hat ユーザーアカウントにリンクします。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- ROSA CLI を使用して Red Hat アカウントにログインしている。
- Red Hat 組織で組織管理者権限があります。
手順
OpenShift Cluster Manager ロールを作成し、Red Hat 組織にリンクします。
注記OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーの自動デプロイを有効にするには、ROSA クラスターの作成の アカウントとロール の手順で、Admin OCM role コマンドを選択して、ロールに管理権限を適用する必要があります。OpenShift Cluster Manager ロールの基本権限および管理権限の詳細については、AWS アカウントの関連付けについて を参照してください。
注記OpenShift Cluster Manager Hybrid Cloud Console で ROSA クラスターを作成する アカウントとロール の手順で Basic OCM role コマンドを選択した場合は、手動モードを使用して ROSA クラスターをデプロイする必要があります。後のステップで、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーを設定するように求められます。
$ rosa create ocm-role
ロールをすばやく作成してリンクするには、プロンプトでデフォルト値を選択します。
ユーザーロールを作成し、それを OpenShift Cluster Manager ユーザーアカウントにリンクします。
$ rosa create user-role
ロールをすばやく作成してリンクするには、プロンプトでデフォルト値を選択します。
注記Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。
1.4.2. アカウント全体の STS ロールおよびポリシーの作成
Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用して AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、Operator ポリシーを含む、必要なアカウント全体の STS ロールおよびポリシーを作成します。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- ROSA CLI を使用して Red Hat アカウントにログインしている。
手順
AWS アカウントで既存のロールとポリシーを確認します。
$ rosa list account-roles
それらが AWS アカウントに存在しない場合は、アカウント全体の STS ロールとポリシーで必要なものを作成します。
$ rosa create account-roles
プロンプトでデフォルト値を選択して、ロールとポリシーをすばやく作成します。
1.4.3. OpenID Connect 設定の作成
Red Hat OpenShift Service on AWS クラスターを使用する場合は、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
-
インストールホストに、最新の Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa) をインストールして設定している。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
$ rosa create oidc-config --mode=auto --yes
このコマンドは次の情報を返します。
出力例
? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes I: Setting up managed OIDC configuration I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice: rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b If you are going to create a Hosted Control Plane cluster please include '--hosted-cp' I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName' ? Create the OIDC provider? Yes I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'
クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode autoのこの値が提供されます。それ以外の場合は、--mode manualのawsCLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
$ export OIDC_ID=30f5dqmk
次のコマンドを実行して、変数の値を表示します。
$ echo $OIDC_ID
出力例
$ 30f5dqmk
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
$ rosa list oidc-config
出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
1.4.4. OpenShift Cluster Manager Hybrid Cloud Console を使用したデフォルトオプションでのクラスターの作成
Red Hat OpenShift Cluster Manager Hybrid Cloud Console で AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、デフォルトのオプションを選択するとクラスターをすばやく作成できます。管理 OpenShift Cluster Manager IAM ロールを使用して、クラスター固有の Operator ロールおよび OpenID Connect (OIDC) プロバイダーの自動デプロイメントを有効にすることもできます。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- AWS Elastic Load Balancing (ELB) サービ出力ルが AWS アカウントに存在することを確認している。
- AWS アカウントを Red Hat 組織に関連付けました。アカウントを関連付けたときに、管理パーミッションを OpenShift Cluster Manager ロールに適用しました。詳細な手順については、AWS アカウントを Red Hat 組織に関連付ける を参照してください。
- 必要なアカウント全体の STS ロールとポリシーを作成しました。詳細な手順については、アカウント全体の STS ロールおよびポリシーの作成 を参照してください。
手順
- OpenShift Cluster Manager Hybrid Cloud Console に移動し、Create cluster を選択します。
- Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
AWS アカウント ID が Associated AWS accounts ドロップダウンメニューに表示されていること、およびインストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントロールの Amazon Resource Names (ARN) が Accounts and roles ページに表示されていることを確認します。
注記AWS アカウント ID が表示されていない場合は、AWS アカウントが Red Hat 組織に正常に関連付けられていることを確認してください。アカウントロール ARN が表示されていない場合は、必要なアカウント全体の STS ロールが AWS アカウントに存在することを確認してください。
- Next をクリックします。
- Cluster details ページで、Cluster name を指定します。残りのフィールドはデフォルト値のままにして、Next をクリックします。
- クラスターをすばやくデプロイするには、Cluster settings、Networking、Cluster roles and policies、および Cluster updates ページのデフォルトのオプションをそのままにして、各ページで Next をクリックします。
- Review your ROSA cluster 確認ページで、選択内容の概要を確認し、Create cluster をクリックしてインストールを開始します。
検証
クラスターの Overview ページで、インストールの進捗をモニターできます。同じページでインストールのログを表示できます。そのページの Details セクションの Status が Ready として表示されると、クラスターは準備が完了した状態になります。
注記インストールが失敗するか、約 40 分経ってもクラスターの 状態 が Ready に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
1.5. CLI を使用してクラスターをすばやく作成する
Red Hat OpenShift Service on AWS (ROSA) の CLI (rosa) を使用して AWS Security Token Service (STS) を使用するクラスターを作成する場合、デフォルトのオプションを選択してクラスターをすばやく作成できます。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- ROSA CLI を使用して Red Hat アカウントにログインしている。
- AWS Elastic Load Balancing (ELB) サービ出力ルが AWS アカウントに存在することを確認している。
手順
Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。
$ rosa create account-roles --mode auto
注記autoモードを使用する場合は、任意で-y引数を指定して対話式プロンプトを回避し、操作を自動的にチェックできます。デフォルトを使用して STS でクラスターを作成します。デフォルトを使用する場合は、最新の安定した OpenShift バージョンがインストールされます。
$ rosa create cluster --cluster-name <cluster_name> --sts --mode auto 1- 1
<cluster_name>は、クラスター名に置き換えます。
注記--mode autoを指定すると、rosa create clusterコマンドは、クラスター固有の Operator IAM ロールおよび OIDC プロバイダーを自動的に作成します。Operator は、OIDC プロバイダーを利用して認証を行います。クラスターのステータスを確認します。
$ rosa describe cluster --cluster <cluster_name|cluster_id>
以下の
Stateフィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
waiting (Waiting for OIDC configuration) -
pending (Preparing account) -
installing (DNS setup in progress) -
installing ready注記インストールが失敗した場合や、約 40 分後に
Stateフィールドがreadyに変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
-
OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。
$ rosa logs install --cluster <cluster_name|cluster_id> --watch 1- 1
--watchフラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。
1.6. 次のステップ
1.7. 関連情報
- 手動モードを使用して ROSA クラスターをデプロイする手順は、カスタマイズを使用したクラスターの作成 を参照してください。
- STS で Red Hat OpenShift Service on AWS をデプロイするのに必要な AWS Identity Access Management (IAM) リソースの詳細は、STS を使用するクラスターの IAM リソースについて を参照してください。
- オプションで Operator ロール名接頭辞を設定する方法の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。
- STS で ROSA をインストールするための前提条件の詳細は、AWS prerequisites for ROSA with STS を参照してください。
-
autoモードとmanualモードを使用して必要な STS リソースを作成する方法の詳細は、自動デプロイメントモードと手動デプロイメントモードについて を参照してください。 - AWS IAM で OpenID Connect (OIDC) アイデンティティープロバイダーの使用に関する詳細は、AWS ドキュメントの Creating OpenID Connect (OIDC) identity providers を参照してください。
- ROSA クラスターのインストールのトラブルシューティングの詳細は、インストールのトラブルシューティング を参照してください。
- Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受ける を参照してください。
第2章 カスタマイズを使用して STS を使用する ROSA クラスターの作成
Red Hat OpenShift Service on AWS ROSA 4.12 クラスターの作成に時間がかかるか、失敗する場合があります。ROSA のデフォルトバージョンは 4.11 に設定されています。つまり、デフォルト設定を使用してアカウントロールまたは ROSA クラスターを作成すると、4.11 リソースのみが作成されます。4.12 からのアカウントロールは下位互換性があります。これは、account-role ポリシーバージョンの場合です。--version フラグを使用して 4.12 リソースを作成できます。
詳細については、ROSA 4.12 クラスター作成失敗の解決策 を参照してください。
カスタマイズを使用して、AWS Security Token Service (STS) で Red Hat OpenShift Service on AWS (ROSA) クラスターを作成します。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、クラスターをデプロイすることができます。
このドキュメントの手順では、必要な AWS Identity and Access Management (IAM) リソースを作成するときに、auto モードと manual モードのどちらかを選択することもできます。
2.1. 自動デプロイメントモードと手動デプロイメントモードを理解する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターをインストールする場合、auto または manual モードを選択して、必要な AWS Identity and Access Management (IAM) リソースを作成できます。
autoモード-
このモードでは、ROSA CLI (
rosa) は必要な IAM ロールとポリシー、および AWS アカウントに OpenID Connect (OIDC) プロバイダーをすぐに作成します。 手動モード-
このモードでは、
rosaは IAM リソースの作成に必要なawsコマンドを出力します。対応するポリシーの JSON ファイルも現在のディレクトリーに保存されます。manualモードを使用すると、生成されたawsコマンドを手動で実行する前に確認できます。manualモードでは、コマンドを組織内の別の管理者またはグループに渡して、リソースを作成することもできます。
manual モードを使用することを選択した場合、クラスターのインストールは、クラスター固有のオペレーターのロールと OIDC プロバイダーを手動で作成するまで待機します。リソースを作成した後、インストールが続行されます。詳細は、OpenShift Cluster Manager を使用した Operator ロールと OIDC プロバイダーの作成を参照してください。
STS で ROSA をインストールするために必要な AWS IAM リソースの詳細は、STS を使用するクラスターの IAM リソースについてを参照してください。
2.1.1. OpenShift Cluster Manager を使用した Operator ロールと OIDC プロバイダーの作成
Red Hat OpenShift Cluster Manager を使用してクラスターをインストールし、manual モードを使用して必要な AWS IAM Operator ロールと OIDC プロバイダーを作成することを選択した場合、リソースをインストールするために以下のいずれかの方法を選択するように求められます。組織のニーズに合ったリソース作成方法を選択できるようにするためのオプションが用意されています。
- AWS CLI (
aws) -
この方法では、IAM リソースの作成に必要な
awsコマンドとポリシーファイルを含むアーカイブファイルをダウンロードして展開できます。ポリシーファイルを含むディレクトリーから提供された CLI コマンドを実行して、Operator ロールと OIDC プロバイダーを作成します。 - Red Hat OpenShift Service on AWS (ROSA) CLI である
rosa -
このメソッドによって提供されるコマンドを実行して、
rosaを使用してクラスターのオペレーターロールと OIDC プロバイダーを作成できます。
auto モードを使用する場合、OpenShift Cluster Manager は、OpenShift Cluster Manager IAM ロールを通じて提供されるパーミッションを使用して、Operator ロールと OIDC プロバイダーを自動的に作成します。この機能を使用するには、ロールに管理者権限を適用する必要があります。
2.2. AWS アカウントの関連付けについて
Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用して、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、AWS アカウントを Red Hat 組織に関連付ける必要があります。次の IAM ロールを作成してリンクすることで、アカウントを関連付けることができます。
- OpenShift Cluster Manager ロール
OpenShift Cluster Manager IAM ロールを作成し、Red Hat 組織にリンクします。
基本権限または管理権限を OpenShift Cluster Manager ロールに適用できます。基本的なアクセス許可により、OpenShift Cluster Manager Hybrid Cloud Console を使用したクラスターのメンテナンスが可能になります。管理パーミッションにより、OpenShift Cluster Manager Hybrid Cloud Console を使用して、クラスター固有の Operator ロールおよび OpenID Connect (OIDC) プロバイダーの自動デプロイが可能になります。
OpenShift Cluster Manager ロールで管理パーミッションを使用して、クラスターを迅速にデプロイできます。
- User role
ユーザー IAM ロールを作成し、Red Hat ユーザーアカウントにリンクします。Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。
ユーザーロールは、OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスターと必要な STS リソースをインストールするときに、AWS Identity を確認するために Red Hat によって使用されます。
関連情報
- OpenShift Cluster Manager とユーザー IAM ロールを作成してリンクする詳細な手順は、OpenShift Cluster Manager を使用してカスタマイズしたクラスターを作成する を参照してください。
2.3. IAM ロールとポリシーの ARN パスのカスタマイズ
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターに必要な AWS IAM ロールとポリシーを作成するときに、カスタムの Amazon リソースネーム (ARN) パスを指定できます。これにより、組織のセキュリティー要件を満たすロールとポリシーの ARN パスを使用できます。
OCM ロール、ユーザーロール、およびアカウント全体のロールとポリシーを作成するときに、カスタム ARN パスを指定できます。
アカウント全体のロールとポリシーのセットを作成するときにカスタム ARN パスを定義すると、セット内のすべてのロールとポリシーに同じパスが適用されます。次の例は、アカウント全体のロールとポリシーのセットの ARN を示しています。この例では、ARN はカスタムパス /test/path/dev/ とカスタムロール 接頭辞 test-env を使用します。
-
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Worker-Role -
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Support-Role -
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Installer-Role -
arn:aws:iam::<account_id>:role/test/path/dev/test-env-ControlPlane-Role -
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Worker-Role-Policy -
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Support-Role-Policy -
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Installer-Role-Policy -
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-ControlPlane-Role-Policy
クラスター固有の Operator ロールを作成すると、関連するアカウント全体のインストーラーロールの ARN パスが自動的に検出され、Operator ロールに適用されます。
ARN パスの詳細は、AWS ドキュメントの Amazon リソースネーム (ARN) を参照してください。
関連情報
- Red Hat OpenShift Service on AWS クラスターを作成するときに IAM リソースのカスタム ARN パスを指定する手順については、カスタマイズを使用したクラスターの作成 を参照してください。
2.4. STS を使用した ROSA クラスターのサポートについての考慮事項
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する方法でサポート対象なのは、この製品ドキュメントで説明されている手順を使用する方法です。
ROSA CLI (rosa) で manual モードを使用し、STS リソースのインストールに必要な AWS Identity and Access Management (IAM) ポリシーファイルおよび aws コマンドを生成できます。
ファイルおよび aws コマンドは、レビュー目的でのみ生成され、いずれの方法でも変更しないでください。Red Hat は、変更したバージョンのポリシーファイルまたは aws コマンドを使用してデプロイした ROSA クラスターのサポートを提供しません。
2.5. PrivateLink ROSA クラスター以外の Amazon VPC 要件
Amazon VPC を作成するには、以下が必要です。
- インターネットゲートウェイ
- NAT ゲートウェイ
- 必要なコンポーネントをインストールするためにインターネット接続のあるプライベートおよびパブリックサブネット。
Single-AZ クラスターには、少なくとも 1 つのプライベートサブネットとパブリックサブネットが必要で、Multi-AZ クラスターには 3 つ以上のプライベートサブネットとパブリックサブネットが必要です。
関連情報
- AWS クラスターに必要なデフォルトのコンポーネントの詳細は、AWS ドキュメントの Default VPCs を参照してください。
- AWS コンソールで VPC を作成する手順は、AWS ドキュメントの Create a VPC を参照してください。
2.6. OpenID Connect 設定の作成
Red Hat OpenShift Service on AWS クラスターを使用する場合は、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。
前提条件
-
インストールホストに、最新の Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa) をインストールして設定している。
手順
AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。
$ rosa create oidc-config --mode=auto --yes
このコマンドは次の情報を返します。
出力例
? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes I: Setting up managed OIDC configuration I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice: rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b If you are going to create a Hosted Control Plane cluster please include '--hosted-cp' I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName' ? Create the OIDC provider? Yes I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'
クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、
--mode autoのこの値が提供されます。それ以外の場合は、--mode manualのawsCLI 出力に基づいてこれらの値を決定する必要があります。オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。
$ export OIDC_ID=30f5dqmk
次のコマンドを実行して、変数の値を表示します。
$ echo $OIDC_ID
出力例
$ 30f5dqmk
検証
ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。
$ rosa list oidc-config
出力例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
2.7. カスタマイズを使用したクラスターの作成
ご使用の環境のニーズに適した設定で、AWS Security Token Service (STS) クラスターを備えた Red Hat OpenShift Service on AWS (ROSA) をデプロイします。Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用して、カスタマイズを使用してクラスターをデプロイできます。
2.7.1. OpenShift Cluster Manager を使用してカスタマイズしたクラスターを作成する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合、Red Hat OpenShift Cluster Manager を使用して、インストールをインタラクティブにカスタマイズできます。
STS では、パブリックおよび AWS PrivateLink クラスターのみがサポートされます。通常の プライベートクラスター (PrivateLink 以外) は STS では使用できません。
現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
- AWS Elastic Load Balancing (ELB) サービ出力ルが AWS アカウントに存在することを確認している。
- クラスター全体のプロキシーを設定する場合は、クラスターがインストールされている VPC からプロキシーにアクセスできることを確認している。プロキシーは VPC のプライベートサブネットからもアクセスできる必要があります。
手順
- OpenShift Cluster Manager Hybrid Cloud Console に移動し、Create cluster を選択します。
- Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
AWS アカウントが自動的に検出されると、アカウント ID は 関連付けられた AWS アカウント ドロップダウンメニューに表示されます。AWS アカウントが自動的に検出されない場合は、Select an account → Associate AWS account をクリックして、次の手順に従います。
Authenticate ページで、
rosa loginコマンドの横にあるコピーボタンをクリックします。このコマンドには、OpenShift Cluster Manager API ログイントークンが含まれます。注記OpenShift Cluster Manager の OpenShift Cluster Manager API Token ページで API トークンをロードすることもできます。
CLI でコピーしたコマンドを実行して、ROSA アカウントにログインします。
$ rosa login --token=<api_login_token> 1- 1
<api_login_token>を、コピーされたコマンドで提供されるトークンに置き換えます。
出力例
I: Logged in as '<username>' on 'https://api.openshift.com'
- OpenShift Cluster Manager の Authenticate ページで、Next をクリックします。
OCM role ページで、Basic OCM role または Admin OCM role コマンドの横にあるコピーボタンをクリックします。
基本ロールにより、OpenShift Cluster Manager は ROSA に必要な AWS IAM ロールとポリシーを検出できます。管理者ロールは、ロールとポリシーの検出も可能にします。さらに、管理者ロールを使用すると、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーを自動的にデプロイできます。
コピーしたコマンドを CLI で実行し、プロンプトに従って OpenShift Cluster Manager IAM ロールを作成します。次の例では、デフォルトのオプションを使用して基本的な OpenShift Cluster Manager IAM ロールを作成します。
$ rosa create ocm-role
出力例
I: Creating ocm role ? Role prefix: ManagedOpenShift 1 ? Enable admin capabilities for the OCM role (optional): No 2 ? Permissions boundary ARN (optional): 3 ? Role Path (optional): 4 ? Role creation mode: auto 5 I: Creating role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>' ? Create the 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role? Yes I: Created role 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' I: Linking OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role with organization '<red_hat_organization_id>'? Yes 6 I: Successfully linked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with organization account '<red_hat_organization_id>'
- 1
- OCM IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。Red Hat 組織の AWS アカウントごとに OCM ロールを 1 つだけ作成できます。 - 2
- 管理者 OpenShift Cluster Manager IAM ロールを有効にします。これは、
--admin引数を指定するのと同じです。自動 モードを使用して、OpenShift Cluster Manager を使用してクラスター固有の Operator ロールと OIDC プロバイダーを自動的にプロビジョニングする場合は、管理者ロールが必要です。 - 3
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 4
- OCM ロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 5
- ロール作成モードを選択します。
autoモードを使用して、OpenShift Cluster Manager IAM ロールを自動的に作成し、それを Red Hat 組織アカウントにリンクすることができます。manualモードでは、ROSA CLI はロールの作成とリンクに必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 6
- OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクします。
上記のコマンドで OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager OCM role ページから
rosa linkコマンドをコピーして実行します。$ rosa link ocm-role <arn> 1- 1
<arn>を、前のコマンドの出力に含まれている OpenShift Cluster Manager IAM の ARN に置き換えます。
- OpenShift Cluster Manager OCM role ページで Next を選択します。
User role ページで、User role コマンドのコピーボタンをクリックし、CLI でコマンドを実行します。OpenShift Cluster Manager でクラスターおよび必要なリソースをインストールすると、Red Hat はユーザーロールを使用して AWS Identity を確認します。
プロンプトに従って、ユーザーロールを作成します。
$ rosa create user-role
出力例
I: Creating User role ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Role Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating ocm user role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>' ? Create the 'ManagedOpenShift-User-<red_hat_username>-Role' role? Yes I: Created role 'ManagedOpenShift-User-<red_hat_username>-Role' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' I: Linking User role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' role with account '<red_hat_user_account_id>'? Yes 5 I: Successfully linked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' with account '<red_hat_user_account_id>'
- 1
- ユーザーロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。 - 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- ユーザーロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、ユーザーロールを自動的に作成し、OpenShift Cluster Manager ユーザーアカウントにリンクすることができます。manualモードでは、ROSA CLI はロールの作成とリンクに必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5
- ユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクします。
上記のコマンドでユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager User role ページから
rosa linkコマンドをコピーして実行します。$ rosa link user-role <arn> 1- 1
<arn>を、前のコマンドの出力に含まれているユーザーロールの ARN に置き換えます。
- OpenShift Cluster Manager User role ページで、Ok をクリックします。
- Accounts and roles ページの Associated AWS accounts ドロップダウンメニューに AWS アカウント ID が表示されていることを確認します。
必要なアカウントロールが存在しない場合は、Some account roles ARNs was not detected という通知が表示されます。
rosa create account-rolesコマンドの横にあるコピーバッファーをクリックし、CLI でコマンドを実行することにより、Operator ポリシーを含む AWS アカウント全体のロールおよびポリシーを作成できます。$ rosa create account-roles
出力例
I: Logged in as '<red_hat_username>' on 'https://api.openshift.com' I: Validating AWS credentials... I: AWS credentials are valid! I: Validating AWS quota... I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.13.0 I: Creating account roles ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>' ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5 I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role' ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6 I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role' ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7 I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role' ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8 I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role' I: To create a cluster with these roles, run the following command: rosa create cluster --sts
- 1
- OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。重要アカウントロールにカスタム ARN パスを使用する場合でも、AWS アカウント全体で一意のアカウント全体のロール 接頭辞を指定する必要があります。
- 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- アカウント全体のロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。manualモードでは、ROSA CLI はロールとポリシーの作成に必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5 6 7 8
- アカウント全体のインストーラー、コントロールプレーン、ワーカー、サポートロール、および対応する IAM ポリシーを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。注記
このステップでは、ROSA CLI は、クラスター固有の Operator ポリシーによって使用されるアカウント全体の Operator IAM ポリシーも自動的に作成し、ROSA クラスター Operator がコア OpenShift 機能を実行できるようにします。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
Accounts and roles ページで、Refresh ARNs をクリックし、インストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントのロール ARN が表示されていることを確認します。
クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、インストーラーロール ARN のドロップダウンリストが表示されます。クラスターで使用するインストーラーロールの ARN を選択します。クラスターは、選択したインストーラーロールに関連するアカウント全体のロールとポリシーを使用します。
Next をクリックします。
注記Accounts and roles ページが更新された場合は、すべての前提条件を読んで完了したことを確認するために、チェックボックスの再選択が求められる場合があります。
Cluster details ページで、クラスターの名前を指定し、クラスターの詳細を指定します。
- Cluster name を追加します。
- Version ドロップダウンメニューからクラスターバージョンを選択します。
- Region ドロップダウンメニューからクラウドプロバイダーのリージョンを選択します。
- Single zone または Multi-zone 設定を選択し ます。
- Enable user workloads monitoring を選択したままにして、Red Hat サイト信頼性エンジニアリング (SRE) プラットフォームメトリクスから切り離して独自のプロジェクトをモニターします。このオプションはデフォルトで有効になっています。
オプション:etcd キー値の暗号化が必要な場合には、Enable additional etcd encryption を選択します。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。このオプションは、デフォルトで Red Hat OpenShift Service on AWS クラスター内の etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に追加されます。
注記etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。お客様のユースケースで特に etcd 暗号化が必要な場合にのみ、暗号化を有効にすることを検討してください。
オプション: 独自の AWS Key Management Service (KMS) キーの Amazon Resource Name (ARN) を提供する場合は、Encrypt persistent volumes with customer keys を選択します。このキーは、クラスター内の永続ボリュームの暗号化に使用されます。
重要デフォルトでは、デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが暗号化されます。
他のストレージクラスを使用して作成された PV は、ストレージクラスが暗号化されるように設定されている場合にのみ暗号化されます。
オプション。顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS オペレーターのロールが必要です。
EBS オペレーターのロールの例
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
- Next をクリックします。
Default machine pool ページで、Compute node instance type を選択します。
注記クラスターの作成後に、クラスター内のコンピュートノード数を変更できますが、デフォルトのマシンプールのコンピュートノードインスタンスのタイプを変更することはできません。使用可能なノードの数とタイプは、単一または複数のアベイラビリティーゾーンを使用するかどうかによって異なります。また、AWS アカウントと選択したリージョンで何が有効で利用可能かによっても異なります。
オプション: デフォルトのマシンプールの自動スケーリングを設定します。
- Enable autoscaling を選択し、デプロイメントのニーズを満たすためにデフォルトのマシンプール内のマシン数を自動的にスケーリングします。
自動スケーリングの最小および最大のノード数制限を設定します。Cluster Autoscaler は、指定する制限を超えてデフォルトのマシンプールノード数を減らしたり、増やしたりできません。
- 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、最小および最大のノード数 を設定します。これは、アベイラビリティーゾーンのコンピュートノードの最小および最大の制限を定義します。
- 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、Minimum nodes per zone および Maximum nodes per zone を設定します。これは、ゾーンごとの最小および最大のコンピュート制限を定義します。
注記または、デフォルトのマシンプールの作成後にマシンプールの自動スケーリングを設定できます。
自動スケーリングを有効にしなかった場合は、デフォルトのマシンプールのコンピュートノード数を選択します。
- 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノード数 を選択します。これは、ゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
- 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノードの数 (ゾーンごと) を選択します。これは、ゾーンごとにマシンプールにプロビジョニングするコンピュートノードの数を定義します。
オプション: IMDSv2 の使用を強制するには、EC2 Instance Metadata Service (IMDS) 設定 (
optional(デフォルト) またはrequired) を選択します。IMDS の詳細は、AWS ドキュメントの Instance metadata and user data を参照してください。重要クラスターの作成後に Instance Metadata Service の設定を変更することはできません。
- 任意手順: Edit node labels を展開してラベルをノードに追加します。Add label をクリックしてさらにノードラベルを追加し、Next を選択します。
Network configuration ページの Cluster privacy セクションで、Public または Privateを選択して、クラスターのパブリックまたはプライベート API エンドポイントとアプリケーションルートを使用します。
重要クラスターの作成後、API エンドポイントをパブリックとプライベートの間で変更することはできません。
- パブリック API エンドポイント
- クラスターへのアクセスを制限しない場合は、パブリック を選択します。インターネットから Kubernetes API エンドポイントとアプリケーションルートにアクセスできます。
- プライベート API エンドポイント
クラスターへのネットワークアクセスを制限する場合は、Private を選択します。Kubernetes API エンドポイントとアプリケーションルートには、直接のプライベート接続からのみアクセスできます。
重要プライベート API エンドポイントを使用している場合、クラウドプロバイダーアカウントのネットワーク設定を更新するまでクラスターにはアクセスできません。
オプション: パブリック API エンドポイントを使用することを選択した場合は、デフォルトでクラスター用に新しい VPC が作成されます。代わりに既存の VPC にクラスターをインストールする場合は、Install into an existing VPC を 選択します。
重要クラスター障害の問題を回避するには、以前のクラスターの ROSA インストーラーによって作成された既存の VPC に ROSA クラスターをインストールしないでください。インストール中に VPC を作成したクラスターが削除されると、関連するインストーラーによって作成された VPC も削除され、その結果、同じ VPC にインストールされているすべてのクラスターで障害が発生します。
注記プライベート API エンドポイントを使用することを選択した場合は、既存の VPC と PrivateLink を使用する必要があり、既存の VPC にインストールしてUse a PrivateLink オプションが自動的に選択されます。これらのオプションを使用すると、Red Hat サイト信頼性エンジニアリング (SRE) チームはクラスターに接続して、AWS PrivateLink エンドポイントのみを使用してサポートを行うことができます。
- オプション: クラスターを既存の VPC にインストールする場合は、Configure a cluster-wide proxy を選択して、HTTP または HTTPS プロキシーがクラスターからインターネットへの直接アクセスを拒否できるようにします。
- Next をクリックします。
クラスターを既存の AWS VPC にインストールする場合、Virtual Private Cloud (VPC) サブネット設定 を指定します。
注記クラスターをインストールするアベイラビリティーゾーンごとに、VPC がパブリックおよびプライベートサブネットで設定されるようにする必要があります。PrivateLink を使用する場合には、プライベートサブネットのみが必要になります。
クラスター全体のプロキシーを設定することを選択した場合は、Cluster-wide proxy ページでプロキシー設定の詳細を指定します。
次のフィールドの少なくとも 1 つに値を入力します。
- 有効な HTTP proxy URL を指定します。
- 有効な HTTPS proxy URL を指定します。
Additional trust bundle フィールドに、PEM でエンコードされた X.509 証明書バンドルを指定します。このバンドルはクラスターノードの信頼済み証明書ストアに追加されます。プロキシーのアイデンティティー証明書が Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルからの認証局によって署名されない限り、追加の信頼バンドルファイルが必要です。
追加のプロキシー設定が必要ではなく、追加の認証局 (CA) を必要とする MITM の透過的なプロキシーネットワークを使用する場合には、MITM CA 証明書を指定する必要があります。
注記HTTP または HTTPS プロキシー URL を指定せずに追加の信頼バンドルファイルをアップロードする場合、バンドルはクラスターに設定されますが、プロキシーで使用するように設定されていません。
- Next をクリックします。
Red Hat OpenShift Service on AWS を使用したプロキシーの設定に関する詳細は、クラスター全体のプロキシーの設定 を参照してください。
CIDR ranges ダイアログで、カスタムの Classless Inter-Domain Routing (CIDR) 範囲を設定するか、または提供されるデフォルトを使用して、Next を、クリックします。
注記VPC にインストールする場合、Machine CIDR 範囲は VPC サブネットに一致する必要があります。
重要CIDR 設定は後で変更することはできません。続行する前に、ネットワーク管理者と選択内容を確認してください。
クラスターのロールとポリシーページで、優先するクラスター固有のオペレーター IAM のロールと OIDC プロバイダーの作成モードを選択します。
Manual モードでは、
rosaCLI コマンドまたはawsCLI コマンドのいずれかを使用して、クラスターに必要な Operator ロールと OIDC プロバイダーを生成できます。手動 モードでは、優先オプションを使用して IAM リソースを手動で作成し、クラスターのインストールを完了する前に、詳細を確認できます。または、自動 モードを使用して、オペレーターのロールと OIDC プロバイダーを自動的に作成することもできます。Auto モードを有効にするには、OpenShift Cluster Manager IAM ロールに管理者機能が必要です。
注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。カスタム ARN パスは、Manual モードまたは Auto モードのいずれかを使用して Operator ロールが作成されるときに適用されます。
オプション: クラスター固有の Operator IAM ロールの カスタム Operator ロール接頭辞 を指定します。
注記デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞についてを参照してください。- Next を選択します。
Cluster update strategy ページで、更新設定を行います。
クラスターの更新方法を選択します。
- 各更新を個別にスケジュールする場合は、Individual updates を選択します。以下はデフォルトのオプションになります。
Recurring updates を選択して、更新が利用可能な場合に、希望の曜日と開始時刻にクラスターを更新します。
重要定期的な更新を選択した場合でも、マイナーリリース間でクラスターをアップグレードする前に、アカウント全体およびクラスター固有の IAM リソースを更新する必要があります。
注記保守終了日は、Red Hat OpenShift Service on AWS の更新ライフサイクルドキュメントで確認できます。詳細については、Red Hat OpenShift Service on AWS 更新ライフサイクル を参照してください。
- 繰り返し更新を選択した場合は、ドロップダウンメニューから希望の曜日およびアップグレード開始時刻 (UTC) を選択します。
- オプション: クラスターアップグレード時の ノードのドレイン (解放) の猶予期間を設定できます。デフォルトで 1 時間 の猶予期間が設定されています。
Next をクリックします。
注記クラスターのセキュリティーまたは安定性に大きく影響する重大なセキュリティー問題がある場合、Red Hat サイト信頼性エンジニアリング (SRE) は、影響を受けない最新の z ストリームバージョンへの自動更新をスケジュールする場合があります。更新は、お客様に通知された後、48 時間以内に適用されます。重大な影響を及ぼすセキュリティー評価の説明は、Red Hat セキュリティー評価について を参照してください。
- 選択の概要を確認し、Create cluster をクリックしてクラスターのインストールを開始します。
手動 モードを使用することを選択した場合は、クラスター固有の Operator のロールと OIDC プロバイダーを手動で作成して、インストールを続行します。
Action required to continue installation ダイアログで、AWS CLI または ROSA CLI タブを選択し、リソースを手動で作成します。
AWS CLI メソッドを使用することを選択した場合は、Download .zip をクリックしてファイルを保存してから、AWS CLI コマンドとポリシーファイルを展開します。次に、CLI で提供されている
awsコマンドを実行します。注記ポリシーファイルを含むディレクトリーで
awsコマンドを実行する必要があります。ROSA CLI メソッドを使用することを選択した場合は、
rosa createコマンドの横にあるコピーボタンをクリックして、CLI で実行します。注記関連付けられたアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、これらの手動の方法を使用してオペレーターのロールを作成すると、カスタムパスが自動的に検出され、Operator のロールに適用されます。
- Action required to continue installation ダイアログで、x をクリックしてクラスターの Overview ページに戻ります。
- Overview ページの Details セクションで、クラスターの Status が Waiting から Installing に変更されていることを確認します。ステータスが変わるまでに約 2 分の短い遅延が発生する場合があります。
注記自動 モードの使用を選択した場合、OpenShift Cluster Manager は Operator ロールと OIDC プロバイダーを自動的に作成します。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。EBS Operator ロールの例は
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"です。Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
検証
クラスターの Overview ページで、インストールの進捗をモニターできます。同じページでインストールのログを表示できます。そのページの Details セクションの Status が Ready として表示されると、クラスターは準備が完了した状態になります。
注記インストールが失敗するか、約 40 分経ってもクラスターの 状態 が Ready に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
関連情報
- ROSA CLI を使用したオブジェクトの管理 で クラスターを作成します。
2.7.2. CLI を使用してカスタマイズしたクラスターを作成する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合は、インストールを対話的にカスタマイズできます。
rosa create cluster --interactive コマンドをクラスターの作成時に実行すると、デプロイメントのカスタマイズを可能にする一連の対話式プロンプトが表示されます。詳細は、対話式クラスター作成モードリファレンス を参照してください。
対話モードを使用したクラスターのインストールが完了すると、同じカスタム設定を使用してさらにクラスターをデプロイできるようにする単一のコマンドが出力に提供されます。
STS では、パブリックおよび AWS PrivateLink クラスターのみがサポートされます。通常の プライベートクラスター (PrivateLink 以外) は STS では使用できません。
現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。
前提条件
- STS で ROSA の AWS の前提条件を完了している。
- 利用可能な AWS サービスクォータがある。
- AWS コンソールで ROSA サービスを有効にしている。
インストールホストに、最新の Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa) をインストールして設定している。注記ROSA クラスターを正常にインストールするには、最新バージョンの ROSA CLI を使用します。
顧客管理の AWS Key Management Service (KMS) キーを暗号化に使用する場合は、対称 KMS キーを作成する必要があります。クラスターを作成するときに、Amazon Resource Name (ARN) を指定する必要があります。顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS オペレーターのロールが必要です。
EBS オペレーターのロールの例
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
手順
Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。
現在の作業ディレクトリーに IAM ポリシー JSON ファイルを作成し、確認用に
awsCLI コマンドを実行します。$ rosa create account-roles --interactive \ 1 --mode manual 2
出力例
I: Logged in as '<red_hat_username>' on 'https://api.openshift.com' I: Validating AWS credentials... I: AWS credentials are valid! I: Validating AWS quota... I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.13.0 I: Creating account roles ? Role prefix: ManagedOpenShift 1 ? Permissions boundary ARN (optional): 2 ? Path (optional): [? for help] 3 ? Role creation mode: auto 4 I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>' ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5 I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role' ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6 I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role' ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7 I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role' ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8 I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role' I: To create a cluster with these roles, run the following command: rosa create cluster --sts
- 1
- OpenShift Cluster Manager IAM ロール名に含める接頭辞を指定します。デフォルトは
ManagedOpenShiftです。重要アカウントロールにカスタム ARN パスを使用する場合でも、AWS アカウント全体で一意のアカウント全体のロール 接頭辞を指定する必要があります。
- 2
- オプション: ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。
- 3
- アカウント全体のロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、
/で開始および終了する必要があります (例:/test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。 - 4
- ロール作成モードを選択します。
autoモードを使用して、アカウント全体のロールとポリシーを自動的に作成できます。manualモードでは、rosaCLI はロールとポリシーの作成に必要なawsコマンドを生成します。manualモードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。 - 5 6 7 8
- アカウント全体のインストーラー、コントロールプレーン、ワーカー、サポートロール、および対応する IAM ポリシーを作成します。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。注記
このステップでは、ROSA CLI は、クラスター固有の Operator ポリシーによって使用されるアカウント全体の Operator IAM ポリシーも自動的に作成し、ROSA クラスター Operator がコア OpenShift 機能を実行できるようにします。詳細については、アカウント全体の IAM ロールとポリシーリファレンスを参照してください。
-
確認後は、
awsコマンドを手動で実行し、ロールおよびポリシーを作成します。または、--mode autoを使用して前述のコマンドを実行して、awsコマンドを即座に実行できます。
オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および永続ボリューム (PV) を暗号化する場合は、アカウント全体のインストーラーロールの ARN を KMS キーポリシーに追加します。
重要デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。
他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。
KMS キーのキーポリシーをローカルマシンのファイルに保存します。次の例では、出力を現在の作業ディレクトリーの
kms-key-policy.jsonに保存します。$ aws kms get-key-policy --key-id <key_id_or_arn> --policy-name default --output text > kms-key-policy.json 1- 1
<key_id_or_arn>を KMS キーの ID または ARN に置き換えます。
前述の手順で作成したアカウント全体のインストーラーロールの ARN を、ファイルの
Statement.Principal.AWSセクションに追加します。以下の例では、デフォルトのManagedOpenShift-Installer-Roleロールの ARN が追加されます。{ "Version": "2012-10-17", "Id": "key-rosa-policy-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_account_id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow ROSA use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role", 1 "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role", "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent" 2 ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role", 3 "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role", "arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role", "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent" 4 ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }KMS キーポリシーに変更を適用します。
$ aws kms put-key-policy --key-id <key_id_or_arn> \ 1 --policy file://kms-key-policy.json \ 2 --policy-name default
次の手順でクラスターを作成すると、KMS キーの ARN を参照できます。
カスタムインストールオプションを使用して STS でクラスターを作成します。
--interactiveモードを使用して、カスタム設定を対話的に指定できます。重要クラスター障害の問題を回避するには、以前のクラスターの ROSA インストーラーによって作成された既存の VPC に ROSA クラスターをインストールしないでください。インストール中に VPC を作成したクラスターが削除されると、関連するインストーラーによって作成された VPC も削除され、その結果、同じ VPC にインストールされているすべてのクラスターで障害が発生します。
$ rosa create cluster --interactive --sts
出力例
I: Interactive mode enabled. Any optional fields can be left empty and a default will be selected. ? Cluster name: <cluster_name> Deploy cluster with Hosted Control Plane (optional): No ? OpenShift version: 4.13.4 1 ? Configure the use of IMDSv2 for ec2 instances optional/required (optional): 2 I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role for the Installer role 3 I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role for the ControlPlane role I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role for the Worker role I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role for the Support role ? External ID (optional): ? Operator roles prefix: <cluster_name>-<random_string> 4 ? Multiple availability zones (optional): No 5 ? AWS region: us-east-1 ? PrivateLink cluster (optional): No ? Install into an existing VPC (optional): No ? Select availability zones (optional): No ? Enable Customer Managed key (optional): No 6 ? Compute nodes instance type (optional): ? Enable autoscaling (optional): No ? Compute nodes: 2 ? Machine CIDR: 10.0.0.0/16 ? Service CIDR: 172.30.0.0/16 ? Pod CIDR: 10.128.0.0/14 ? Host prefix: 23 ? Encrypt etcd data (optional): No 7 ? Disable Workload monitoring (optional): No I: Creating cluster '<cluster_name>' I: To create this cluster again in the future, you can run: rosa create cluster --cluster-name <cluster_name> --role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role --operator-roles-prefix <cluster_name>-<random_string> --region us-east-1 --version 4.8.9 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23 8 I: To view a list of clusters and their status, run 'rosa list clusters' I: Cluster '<cluster_name>' has been created. I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information. ...
- 1
- クラスターの作成時に、一覧表示された
OpenShift バージョンオプションには、4.13.4などのメジャー、マイナー、およびパッチバージョンが含まれます。 - 2
- オプション: EC2 Instance Metadata Service (IMDS) の v1 エンドポイントと v2 エンドポイントの両方を使用するようにすべての EC2 インスタンスを設定するには、optional を指定します。これはデフォルト値です。すべての EC2 インスタンスが IMDSv2 のみを使用するように設定するには、required を指定します。重要
クラスターの作成後に Instance Metadata Service の設定を変更することはできません。
- 3
- クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、オプションのインタラクティブなリストが表示されます。
- 4
- デフォルトでは、クラスター固有のオペレーターのロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の
<cluster_name>-<hash>を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、Operator IAM ロール接頭辞の定義を参照してください。注記関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。
- 5
- オプション: 実稼働環境のワークロードには、複数のアベイラビリティーゾーンの使用が推奨されます。デフォルトは単一のアベイラビリティーゾーンです。
- 6
- オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および PV を暗号化する場合は、このオプションを有効にします。前述の手順でアカウント全体のロール ARN を追加した KMS キーの ARN を指定します。重要
デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。
他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。
- 7
- オプション: このオプションを有効にするのは、デフォルトで etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に加えて、etcd キー値の暗号化が必要なユースケースの場合のみです。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。重要
etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。Red Hat は、お客様のユースケースで特に etcd 暗号化が必要な場合にのみ有効にすることを推奨します。
- 8
- この出力には、今後も同じ設定でクラスターを作成するのに実行できるカスタムコマンドが含まれます。
--interactiveモードを使用する代わりに、rosa create clusterコマンドの実行時にカスタマイズオプションを直接指定できます。rosa create cluster --helpコマンドを実行して利用可能な CLI オプションのリストを表示するか、ROSA CLI を使用したオブジェクトの管理 の クラスターの作成 を参照してください。重要Operator IAM ロールおよび OpenID Connect (OIDC) プロバイダーを作成し、クラスターの状態を
readyに移行するには、以下の手順を実行する必要があります。クラスター固有の Operator IAM ロールを作成します。
現在の作業ディレクトリーに Operator IAM ポリシー JSON ファイルを作成し、確認用に
awsCLI コマンドを実行します。$ rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id> 1- 1
manualモードは、Operator ロールの作成に必要なawsCLI コマンドおよび JSON ファイルを生成します。確認後、手動でコマンドを実行してリソースを作成する必要があります。
確認後は、
awsコマンドを手動で実行し、Operator IAM ロールを作成し、管理対象 Operator ポリシーをそれらに割り当てます。または、--mode autoを使用して前述のコマンドを実行して、awsコマンドを即座に実行できます。注記前の手順で接頭辞を指定した場合、カスタム接頭辞が Operator ロール名に適用されます。
関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。
重要クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。EBS Operator ロールの例は
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"です。Operator Role を作成したら、AWS コンソールの Key Management Service (KMS) ページ で キーポリシー を編集して、ロールを追加する必要があります。
クラスター Operator が認証に使用する OpenID Connect (OIDC) プロバイダーを作成します。
$ rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id> 1- 1
autoモードは、OIDC プロバイダーを作成するawsCLI コマンドを即時実行します。
クラスターのステータスを確認します。
$ rosa describe cluster --cluster <cluster_name|cluster_id>
出力例
Name: <cluster_name> ID: <cluster_id> External ID: <external_id> OpenShift Version: <version> Channel Group: stable DNS: <cluster_name>.xxxx.p1.openshiftapps.com AWS Account: <aws_account_id> API URL: https://api.<cluster_name>.xxxx.p1.openshiftapps.com:6443 Console URL: https://console-openshift-console.apps.<cluster_name>.xxxx.p1.openshiftapps.com Region: <aws_region> Multi-AZ: false Nodes: - Master: 3 - Infra: 2 - Compute: 2 Network: - Service CIDR: 172.30.0.0/16 - Machine CIDR: 10.0.0.0/16 - Pod CIDR: 10.128.0.0/14 - Host Prefix: /23 STS Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role Support Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role Instance IAM Roles: - Master: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role - Worker: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role Operator IAM Roles: - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-machine-api-aws-cloud-credentials - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cloud-credential-operator-cloud-crede - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-image-registry-installer-cloud-creden State: ready Private: No Created: Oct 1 2021 08:12:25 UTC Details Page: https://console.redhat.com/openshift/details/s/<subscription_id> OIDC Endpoint URL: https://rh-oidc.s3.<aws_region>.amazonaws.com/<cluster_id>
以下の
Stateフィールドの変更は、クラスターインストールの進捗として出力に表示されます。-
waiting (Waiting for OIDC configuration) -
pending (Preparing account) -
installing (DNS setup in progress) -
installing ready注記インストールが失敗した場合や、約 40 分後に
Stateフィールドがreadyに変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティングを参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受けるを参照してください。
-
OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。
$ rosa logs install --cluster <cluster_name|cluster_id> --watch 1- 1
--watchフラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。
2.8. 次のステップ
2.9. 関連情報
- STS で Red Hat OpenShift Service on AWS をデプロイするのに必要な AWS Identity Access Management (IAM) リソースの詳細は、STS を使用するクラスターの IAM リソースについて を参照してください。
- オプションで Operator ロール名接頭辞を設定する方法の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。
- インタラクティブモードを使用して AWS IAM リソースとクラスターを作成するときに表示されるオプションの概要は、インタラクティブクラスター作成モードのリファレンス を参照してください。
- STS で ROSA をインストールするための前提条件の詳細は、AWS prerequisites for ROSA with STS を参照してください。
- AWS IAM で OpenID Connect (OIDC) アイデンティティープロバイダーの使用に関する詳細は、AWS ドキュメントの Creating OpenID Connect (OIDC) identity providers を参照してください。
- etcd 暗号化の詳細は、etcd encryption service definition を参照してください。
- ROSA を使用したプロキシーの設定に関する詳細は、クラスター全体のプロキシーの設定 を参照してください。
- ROSA クラスターのインストールのトラブルシューティングの詳細は、クラスターデプロイメントのトラブルシューティング を参照してください。
- Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受ける を参照してください。
第3章 インタラクティブなクラスター作成モードリファレンス
このセクションでは、インタラクティブモードで、ROSA CLI (rosa) を使用して OCM ロール、ユーザーロール、および Red Hat OpenShift Service on AWS (ROSA) クラスターを作成するときに表示されるオプションの概要を説明します。
3.1. 対話型 OCM およびユーザーロール作成モードのオプション
Red Hat OpenShift Cluster Manager で、OCM とユーザーロールを作成してリンクすることで、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、AWS アカウントを Red Hat 組織に関連付ける必要があります。rosa create ocm-role コマンドまたは rosa create user-role コマンドの実行時に --interactive オプションを指定することで、インタラクティブモードを有効にできます。
次の表に、対話型 OCM ロール作成モードのオプションを示します。
表3.1 --interactive OCM ロール作成モードオプション
| フィールド | 説明 |
|---|---|
|
|
OCM IAM ロール名に含める接頭辞を指定します。デフォルトは |
|
|
admin OCM IAM ロールの有効化 ( |
|
| OCM ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。 |
|
|
OCM ロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、 |
|
|
ロール作成モードを選択します。 |
|
| OCM ロールを作成するかどうかを確認します。 |
|
| OCM ロールを Red Hat 組織にリンクするかどうかを確認します。 |
次の表では、インタラクティブなユーザーロール作成モードのオプションについて説明します。
表3.2 --interactive ユーザーロール作成モードオプション
| フィールド | 説明 |
|---|---|
|
|
ユーザーロール名に含める接頭辞を指定します。デフォルトは |
|
| ユーザーロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。 |
|
|
ユーザーロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、 |
|
|
ロール作成モードを選択します。 |
|
| ユーザーロールを作成するかどうかを確認します。 |
|
| ユーザーロールを Red Hat ユーザーアカウントにリンクするかどうかを確認します。 |
3.2. 対話型クラスター作成モードのオプション
インタラクティブモードを使用して AWS Security Token Service (STS) で Red Hat OpenShift Service on AWS クラスターを作成できます。rosa create cluster コマンドの実行時に --interactive オプションを指定することで、モードを有効にできます。
次の表では、対話型クラスター作成モードのオプションについて説明します。
表3.3 --interactive クラスター作成モードオプション
| フィールド | 説明 |
|---|---|
|
|
クラスターの名前を入力します (例: |
|
|
AWS Security Token Service (STS) を使用して、コンポーネント固有の AWS Identity and Access Management (IAM) ロールについて一時的な制限付き権限の認証情報を割り当てる OpenShift クラスターを作成します。サービスを使用すると、クラスターコンポーネントはセキュアなクラウドリソース管理プラクティスを使用して AWS API 呼び出しを実行できます。デフォルトは |
|
|
インストールする OpenShift のバージョンを選択します (例: |
|
| すべての EC2 インスタンスが EC2 Instance Metadata Service (IMDS) の v1 と v2 エンドポイントの両方を使用する (オプション) か、IMDSv2 のみを使用する (必須) かを指定します。 |
|
| クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、インストーラーロール ARN のリストが表示されます。クラスターで使用するインストーラーロールの ARN を選択します。クラスターは、選択したインストーラーロールに関連するアカウント全体のロールとポリシーを使用します。 |
|
| アカウントロールが仮定される際に OpenShift Cluster Manager および OpenShift インストーラーによって渡される一意の識別子を指定します。このオプションは、外部 ID を予想されるカスタムアカウントロールにのみ必要です。 |
|
|
クラスター固有の Operator IAM ロールに割り当てる接頭辞を入力します。デフォルトはクラスターの名前であり、4 桁のランダムな文字列です (例: |
|
|
クラスターを AWS リージョンの複数のアベイラビリティーゾーンにデプロイします。デフォルトは |
|
|
クラスターをデプロイする AWS リージョンを指定します。これにより、 |
|
|
AWS PrivateLink を使用してクラスターを作成します。このオプションは、トラフィックをパブリックインターネットに公開することなく、Virtual Private Cloud (VPC)、AWS サービス、およびオンプレミスネットワーク間のプライベート接続を提供します。サポートを提供するために、Red Hat Site Reliability Engineering (SRE) は AWS PrivateLink Virtual Private Cloud (VPC) エンドポイントを使用してクラスターに接続できます。このオプションは、クラスターの作成後に変更できません。デフォルトは |
|
|
クラスターを既存の AWS VPC にインストールします。このオプションを使用するには、VPC にはクラスターをインストールする各アベイラビリティーゾーンの 2 つのサブネットが必要です。デフォルトは |
|
|
既存の AWS VPC にインストールするときに使用するアベイラビリティゾーンを指定します。コンマ区切りのリストを使用して、可用性ゾーンを提供します。 |
|
|
このオプションを有効にすると、特定の AWS Key Management Service (KMS) キーを永続データの暗号化キーとして使用できます。このキーは、コントロールプレーン、インフラストラクチャー、およびワーカーノードのルートボリュームの暗号化キーとして使用されます。キーは、デフォルトのストレージクラスで作成された永続ボリュームが特定の KMS キーで暗号化されるように、デフォルトのストレージクラスでも設定されます。これを無効にすると、永続データが常に暗号化されるように、指定されたリージョンのアカウント KMS キーがデフォルトで使用されます。デフォルトは |
|
|
コンピュートノードのインスタンスタイプを選択します。デフォルトは |
|
|
コンピュートノードの自動スケーリングを有効にします。Autoscaler は、デプロイメントの需要に合わせてクラスターのサイズを調整します。デフォルトは |
|
|
各アベイラビリティーゾーンにプロビジョニングするコンピュートノードの数を指定します。単一アベイラビリティーゾーンにデプロイされたクラスターには、2 つ以上のノードが必要です。複数のゾーンにデプロイされるクラスターには 3 つ以上のノードが必要です。ワーカーノードの最大数は 180 ノードです。デフォルト値は |
|
|
マシン (クラスターノード) の IP アドレス範囲を指定します。この IP アドレス範囲は、VPC サブネットのすべての CIDR アドレス範囲を包含する必要があります。サブネットは連続している必要があります。単一のアベイラビリティーゾーンデプロイメントでは、サブネット接頭辞 |
|
|
サービスの IP アドレス範囲を指定します。範囲は、ワークロードに対応するのに十分な大きさである必要があります。アドレスブロックは、クラスター内からアクセスする外部サービスと重複してはいけません。デフォルトは |
|
|
Pod の IP アドレス範囲を指定します。範囲は、ワークロードに対応するのに十分な大きさである必要があります。アドレスブロックは、クラスター内からアクセスする外部サービスと重複してはいけません。デフォルトは |
|
|
個々のマシンにスケジューリングされた Pod に割り当てるサブネット接頭辞の長さを指定します。ホスト接頭辞は、各マシンの Pod IP アドレスプールを決定します。例えば、ホスト接頭辞を |
|
|
Red Hat Open Shift Service on AWS では、コントロールプレーンストレージはデフォルトで静止時に暗号化され、これには etcd ボリュームの暗号化も含まれます。さらに、 重要 etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。Red Hat は、お客様のユースケースで特に etcd 暗号化が必要な場合にのみ有効にすることを推奨します。 |
|
| ユーザー定義プロジェクトの監視を無効にします。ユーザー定義プロジェクトの監視はデフォルトで有効にされます。 |
3.3. 関連情報
- OCM ロール、ユーザーロール、およびアカウント全体のロールにカスタム ARN パスを使用する方法の詳細は、IAM ロールおよびポリシーの ARN パスのカスタマイズ を参照してください。
- サポートされている最大値の一覧については、ROSA tested cluster maximums を参照してください。
- AWS IAM リソースを含む STS を使用して ROSA クラスターをすばやく作成するための詳細な手順は、デフォルトオプションを使用した STS を使用した ROSA クラスターの作成 を参照してください。
- AWS IAM リソースを含むカスタマイズを使用して STS で ROSA クラスターを作成する詳細な手順は、カスタマイズを使用して STS を使用する ROSA クラスターの作成 を参照してください。
- etcd 暗号化の詳細は、etcd encryption service definition を参照してください。
- VPC アーキテクチャーの例は、this sample VPC architecture を参照してください。
第4章 ROSA での AWS PrivateLink クラスターの作成
本書では、AWS PrivateLink を使用して ROSA クラスターを作成する方法を説明します。
4.1. AWS PrivateLink について
Red Hat OpenShift Service on AWS クラスターは、パブリックサブネット、インターネットゲートウェイ、またはネットワークアドレス変換 (NAT) ゲートウェイに要件なしに作成できます。この設定では、Red Hat は AWS PrivateLink を使用してクラスターを管理および監視し、すべてのパブリック Ingress ネットワークトラフィックを回避します。パブリックサブネットがないと、アプリケーションルーターをパブリックとして設定することはできません。プライベートアプリケーションルーターを設定することが唯一のオプションです。
詳細は、AWS の Web サイトの AWS PrivateLink を参照してください。
PrivateLink クラスターは、インストール時にのみ作成できます。インストール後にクラスターを PrivateLink に変更することはできません。
4.2. AWS PrivateLink クラスターの使用要件
AWS PrivateLink クラスターの場合は、インターネットゲートウェイ、NAT ゲートウェイ、およびパブリックサブネットは必要ありませんが、必要なコンポーネントをインストールするには、プライベートサブネットにインターネット接続が必要です。Single-AZ クラスターと Multi-AZ クラスターには、それぞれにプライベートサブネットが少なくとも 1 つまたは 3 つ必要です。以下の表は、インストールを成功させるために必要な AWS リソースを示しています。
表4.1 必要な AWS リソース
| コンポーネント | AWS タイプ | 説明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VPC |
| 使用するクラスターの VPC を指定する必要があります。 | ||||||||||||
| ネットワークアクセス制御 |
| 以下のポートへのアクセスを許可する必要があります。
| ||||||||||||
| プライベートサブネット |
| VPC には、Single-AZ デプロイメントの場合は 1 つのアベイラビリティーゾーン、Multi-AZ デプロイメントの場合は 3 つのアベイラビリティーゾーンに、プライベートサブネットが必要です。適切なルートおよびルートテーブルを指定する必要があります。 |
4.3. AWS PrivateLink クラスターの作成
Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) を使用して AWS PrivateLink クラスターを作成できます。
AWS PrivateLink は既存の VPC でのみサポートされます。
前提条件
Red Hat OpenShift Service on AWS がインストールされている。
手順
クラスターの作成には最長で 40 分かかる場合があります。
AWS PrivateLink を使用すると、1 つのアベイラビリティーゾーン (Single-AZ) または複数のアベイラビリティーゾーン (Multi-AZ) でクラスターを作成できます。いずれの場合も、マシンのクラスレスのドメイン内ルーティング (CIDR) は、仮想プライベートクラウドの CIDR と一致させる必要があります。詳細は、独自の VPC を使用するための要件 および VPC 検証 を参照してください。
重要ファイアウォールを使用する場合は、Red Hat OpenShift Service on AWS が機能するために必要なサイトにアクセスできるように設定する必要があります。
詳細は、AWS PrivateLink ファイアウォールの前提条件セクションを参照してください。
Single-AZ クラスターを作成するには、以下を実行します。
$ rosa create cluster --private-link --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id>
Multi-AZ クラスターを作成するには、以下を実行します。
$ rosa create cluster --private-link --multi-az --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>,<private-subnet-id2>,<private-subnet-id3>
以下のコマンドを実行して Pod のステータスを確認します。クラスターの作成時に、出力の
Stateフィールドはpendingからinstallingに移行し、最終的にreadyに移行します。$ rosa describe cluster --cluster=<cluster_name>
注記インストールが失敗した場合や、40 分後に
Stateフィールドがreadyに変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。以下のコマンドを実行して、OpenShift インストーラーのログでクラスターの進捗を追跡します。
$ rosa logs install --cluster=<cluster_name> --watch
4.4. AWS PrivateLink DNS 転送の設定
AWS PrivateLink クラスターを使用すると、パブリックホストゾーンとプライベートホストゾーンが Route53 に作成されます。プライベートホストゾーンでは、ゾーン内のレコードは、割り当てられている VPC 内からのみ解決できます。
Let's Encrypt DNS-01 検証では、ドメインに対して有効で公的に信頼されている証明書を発行できるように、パブリックゾーンが必要です。Let's Encrypt の検証が完了すると、検証レコードは削除されます。ただし、これらの証明書を発行および更新するには、ゾーンが引き続き必要です。これらの証明書は通常、60 日ごとに必要です。これらのゾーンは通常空のように見えますが、検証プロセスで重要なロールを果たしています。
プライベートホストゾーンの詳細は、AWS プライベートホストゾーンのドキュメント を参照してください。パブリックホストゾーンの詳細は、AWS パブリックホストゾーンのドキュメント を参照してください。
前提条件
- 企業ネットワークまたは他の VPC に接続性がある。
- UDP ポート 53 と TCP ポート 53 は、DNS クエリーを可能にするためにネットワーク全体で有効になっている。
- Red Hat OpenShift Service on AWS を使用して AWS PrivateLink クラスターを作成している。
手順
-
api.<cluster_domain>、*.apps.<cluster_domain>などのレコードが VPC の外部で解決できるようにするには、Route 53 Resolver Inbound Endpoint を設定 します。 - インバウンドエンドポイントを設定するときは、クラスターの作成時に使用された VPC とプライベートサブネットを選択します。
-
エンドポイントが動作可能になり、関連付けられたら、DNS クエリーを
drow-pl-01.htno.p1.openshiftapps.comなどの最上位クラスタードメインの IP アドレスに転送するように企業ネットワークを設定します。 - ある VPC から別の VPC に DNS クエリーを転送する場合は、転送ルールを設定 します。
- リモートネットワーク DNS サーバーを設定している場合は、特定の DNS サーバーのドキュメントを参照して、インストールされているクラスタードメインの選択的 DNS 転送を設定してください。
4.5. 次のステップ
4.6. 関連情報
第5章 ROSA クラスターへのアクセス
アイデンティティープロバイダー (IDP) アカウントを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターにアクセスすることが推奨されます。ただし、クラスターを作成したクラスター管理者は、クイックアクセス手順を使用してこれにアクセスできます。
本書では、クラスターにアクセスし、ROSA CLI (rosa) を使用して IDP を設定する方法を説明します。または、OpenShift Cluster Manager コンソールを使用して IDP アカウントを作成できます。
5.1. クラスターへの迅速なアクセス
この迅速なクイックアクセスを実行する手順を使用してクラスターにログインできます。
ベストプラクティスとして、IDP アカウントを代わりに使用してクラスターにアクセスできます。
手順
以下のコマンドを実行します。
$ rosa create admin --cluster=<cluster_name>
出力例
W: It is recommended to add an identity provider to login to this cluster. See 'rosa create idp --help' for more information. I: Admin account has been added to cluster 'cluster_name'. It may take up to a minute for the account to become active. I: To login, run the following command: oc login https://api.cluster-name.t6k4.i1.oragnization.org:6443 \ --username cluster-admin \ --password FWGYL-2mkJI-3ZTTZ-rINns
直前のコマンドの出力の
oc loginコマンド、ユーザー名、およびパスワードを入力します。出力例
$ oc login https://api.cluster_name.t6k4.i1.oragnization.org:6443 \ > --username cluster-admin \ > --password FWGYL-2mkJI-3ZTTZ-rINns Login successful. You have access to 77 projects, the list has been suppressed. You can list all projects with ' projects'
デフォルトプロジェクトを使用して、この
ocコマンドを実行してクラスター管理者のアクセスが作成されていることを確認します。$ oc whoami
出力例
cluster-admin
5.2. IDP アカウントでのクラスターへのアクセス
クラスターにログインするには、アイデンティティープロバイダー (IDP) を設定できます。この手順では、IDP の例として GitHub を使用します。サポートされている他の IDP を表示するには、rosa create idp --help コマンドを実行します。
または、クラスターを作成したユーザーとして、クイックアクセス手順を使用できます。
手順
IDP アカウントを使用してクラスターにアクセスするには、以下を実行します。
IDP を追加します。
以下のコマンドは、GitHub がサポートする IDP を作成します。コマンドを実行後に、出力の対話式プロンプトに従って GitHub 開発者の設定 にアクセスし、新しい OAuth アプリケーションを設定します。
$ rosa create idp --cluster=<cluster_name> --interactive
以下の値を設定します。
-
アイデンティティープロバイダーのタイプ:
github -
メンバーの制限:
organizations(GitHub Organization がない場合は作成可能) -
GitHub Organization:
rh-test-org(組織の名前を入力)
出力例
I: Interactive mode enabled. Any optional fields can be left empty and a default will be selected. ? Type of identity provider: github ? Restrict to members of: organizations ? GitHub organizations: rh-test-org ? To use GitHub as an identity provider, you must first register the application: - Open the following URL: https://github.com/organizations/rh-rosa-test-cluster/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=rh-rosa-test-cluster-stage&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org - Click on 'Register application' ...-
アイデンティティープロバイダーのタイプ:
出力された URL に従い、Register application を選択すると、Git Hub の組織に新しい OAuth アプリケーションが登録されます。アプリケーションを登録することで、ROSA に内蔵されている OAuth サーバーが GitHub 組織のメンバーをクラスターに認証することができるようになります。
注記Register a new OAuth application GitHub フォームのフィールドには、Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa) で定義される URL を介して、必要な値が自動的に入力されます。作成した GitHub アプリケーションの情報を使用し、プロンプトを続行します。以下の値を設定します。
-
クライアント ID:
<my_github_client_id> -
クライアントシークレット: [? for help]
<my_github_client_secret> - ホスト名: (オプション。現在のところ空白のままにすることが可能)
-
マッピング方法:
claim
出力例 (続き)
... ? Client ID: <my_github_client_id> ? Client Secret: [? for help] <my_github_client_secret> ? Hostname: ? Mapping method: claim I: Configuring IDP for cluster 'rh_rosa_test_cluster' I: Identity Provider 'github-1' has been created. You need to ensure that there is a list of cluster administrators defined. See 'rosa create user --help' for more information. To login into the console, open https://console-openshift-console.apps.rh-test-org.z7v0.s1.devshift.org and click on github-1
IDP は、クラスター内で設定するのに 1 - 2 分かかる場合があります。
-
クライアント ID:
以下のコマンドを実行して、IDP が正しく設定されていることを確認します。
$ rosa list idps --cluster=<cluster_name>
出力例
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1
クラスターにログインします。
以下のコマンドを実行して、クラスターの
Console URLを取得します。$ rosa describe cluster --cluster=<cluster_name>
出力例
Name: rh-rosa-test-cluster1 ID: 1de87g7c30g75qechgh7l5b2bha6r04e External ID: 34322be7-b2a7-45c2-af39-2c684ce624e1 API URL: https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443 Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org Nodes: Master: 3, Infra: 3, Compute: 4 Region: us-east-2 State: ready Created: May 27, 2020
-
Console URLに移動し、Github 認証情報を使用してログインします。 - OpenShift コンソールの右上で、名前をクリックして Copy Login Command をクリックします。
- 追加した IDP の名前 (この場合は github-1) を選択し、Display Token をクリックします。
ocログインコマンドをコピーし、これをターミナルに貼り付けます。$ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443
出力例
Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided. You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
単純な
ocコマンドを実行して、すべての設定が適切でログインしていることを確認します。$ oc version
出力例
Client Version: 4.4.0-202005231254-4a4cd75 Server Version: 4.3.18 Kubernetes Version: v1.16.2
5.3. cluster-admin アクセス権限の付与
クラスターを作成したユーザーは、cluster-admin ユーザーロールをアカウントに追加して、最大管理者権限を割り当てます。これらの権限は、クラスターの作成時に自動的にユーザーアカウントに割り当てられることはありません。
さらに、クラスターを作成したユーザーのみが、他の cluster-admin または dedicated-admin ユーザーにクラスターアクセスを付与できます。dedicated-admin アクセスを持つユーザーの権限は少なくなります。ベストプラクティスとして、cluster-admin ユーザーの数をできるだけ少なく制限できます。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 作成するユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
ユーザーに
cluster-admin権限を付与します。$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
ユーザーがクラスター管理者として一覧表示されていることを確認します。
$ rosa list users --cluster=<cluster_name>
出力例
GROUP NAME cluster-admins rh-rosa-test-user dedicated-admins rh-rosa-test-user
以下のコマンドを実行して、ユーザーが
cluster-adminアクセスを持つことを確認します。クラスター管理者はエラーを出さずにこのコマンドを実行できますが、専用の管理者は実行できません。$ oc get all -n openshift-apiserver
出力例
NAME READY STATUS RESTARTS AGE pod/apiserver-6ndg2 1/1 Running 0 17h pod/apiserver-lrmxs 1/1 Running 0 17h pod/apiserver-tsqhz 1/1 Running 0 17h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/api ClusterIP 172.30.23.241 <none> 443/TCP 18h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/apiserver 3 3 3 3 3 node-role.kubernetes.io/master= 18h
5.4. dedicated-admin アクセスの取り消し
クラスターを作成したユーザーのみが、他の cluster-admin または dedicated-admin ユーザーにクラスターアクセスを付与できます。dedicated-admin アクセスを持つユーザーの権限は少なくなります。ベストプラクティスとして、dedicated-admin アクセスをほとんどの管理者に付与することができます。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 作成するユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
以下のコマンドを実行して、ユーザーを
dedicated-adminにプロモートします。$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
以下のコマンドを実行して、ユーザーに
dedicated-adminアクセスがあることを確認します。$ oc get groups dedicated-admins
出力例
NAME USERS dedicated-admins rh-rosa-test-user
注記Forbiddenエラーは、dedicated-admin権限を持たないユーザーがこのコマンドを実行する場合に表示されます。
5.5. 関連情報
第6章 STS のアイデンティティープロバイダーの設定
Red Hat OpenShift Service on AWS (ROSA) クラスターの作成後に、アイデンティティープロバイダーを設定して、ユーザーがクラスターにアクセスする方法を判別する必要があります。
以下のトピックでは、OpenShift Cluster Manager コンソールを使用してアイデンティティープロバイダーを設定する方法を説明します。または、ROSA CLI (rosa) を使用してアイデンティティープロバイダーを設定し、クラスターにアクセスできます。
6.1. アイデンティティープロバイダーについて
Red Hat OpenShift Service on AWS には、ビルトイン OAuth サーバーが含まれます。開発者および管理者は OAuth アクセストークンを取得して、API に対して認証します。管理者は、クラスターのインストール後に、OAuth をアイデンティティープロバイダーを指定するように設定できます。アイデンティティープロバイダーを設定すると、ユーザーはログインし、クラスターにアクセスできます。
6.1.1. サポートされるアイデンティティープロバイダー
以下の種類のアイデンティティープロバイダーを設定できます。
| アイデンティティープロバイダー | 説明 |
|---|---|
| GitHub または GitHub Enterprise | GitHub または GitHub Enterprise の OAuth 認証サーバーに対して、ユーザー名とパスワードを検証するように Github アイデンティティープロバイダーを設定します。 |
| GitLab | GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するように GitLab アイデンティティープロバイダーを設定します。 |
| | Google の OpenID Connect 統合機能 を使用して Google アイデンティティープロバイダーを設定します。 |
| LDAP | 単純なバインド認証を使用して、LDAPv3 サーバーに対してユーザー名とパスワードを検証するように LDAP アイデンティティープロバイダーを設定します。 |
| OpenID Connect | Authorization Code Flow を使用して OpenID Connect アイデンティティープロバイダーと統合するように OpenID Connect (OIDC) アイデンティティープロバイダーを設定します。 |
| htpasswd | 単一の静的管理ユーザー用に htpasswd アイデンティティープロバイダーを設定します。問題のトラブルシューティングを行うには、ユーザーとしてクラスターにログインできます。 重要 htpasswd ID プロバイダーオプションは、単一の静的管理ユーザーを作成できるようにするためだけに含まれています。htpasswd は、Red Hat OpenShift Service on AWS の汎用 ID プロバイダーとしてはサポートされていません。単一ユーザーを設定する手順は、htpasswd アイデンティティープロバイダーの設定 を参照してください。 |
6.1.2. アイデンティティープロバイダーパラメーター
以下のパラメーターは、すべてのアイデンティティープロバイダーに共通するパラメーターです。
| パラメーター | 説明 |
|---|---|
|
| プロバイダー名は、プロバイダーのユーザー名に接頭辞として付加され、アイデンティティー名が作成されます。 |
|
| 新規アイデンティティーがログイン時にユーザーにマップされる方法を定義します。以下の値のいずれかを入力します。
|
mappingMethod パラメーターを add に設定すると、アイデンティティープロバイダーの追加または変更時に新規プロバイダーのアイデンティティーを既存ユーザーにマッピングできます。
6.2. GitHub アイデンティティープロバイダーの設定
GitHub または GitHub Enterprise の OAuth 認証サーバーに対してユーザー名とパスワードを検証し、Red Hat OpenShift Service on AWS クラスターにアクセスするように GitHub アイデンティティープロバイダーを設定します。OAuth は Red Hat OpenShift Service on AWS と GitHub または GitHub Enterprise 間のトークン交換フローを容易にします。
GitHub 認証を設定することによって、ユーザーは GitHub 認証情報を使用して Red Hat OpenShift Service on AWS にログインできます。GitHub ユーザー ID を持つすべてのユーザーが Red Hat OpenShift Service on AWS クラスターにログインできないようにするために、アクセスを特定の GitHub 組織のユーザーに制限する必要があります。
前提条件
- OAuth アプリケーションを、GitHub 組織管理者によって GitHub 組織設定 内に直接作成している。
- GitHub 組織またはチーム が GitHub アカウントに設定されている。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスター ページに移動し、アイデンティティープロバイダーを設定する必要のあるクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから GitHub を選択します。
アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
OAuth callback URL は提供されるフィールドに自動的に生成されます。これを使用して GitHub アプリケーションを登録します。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
以下に例を示します。
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
- アプリケーションを GitHub に登録します。
- Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- GitHub から提供される Client ID および Client secret を入力します。
- hostname を入力します。GitHub Enterprise のホステッドインスタンスを使用する場合は、ホスト名を入力する必要があります。
- 任意手順: 認証局 (CA) ファイルを使用して、設定された GitHub Enterprise URL のサーバー証明書を検証できます。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
- Use organizations または Use teams を選択し、アクセスを特定の GitHub 組織または GitHub チームに制限します。
- アクセスを制限する組織またはチームの名前を入力します。Add more をクリックして、ユーザーが所属できる複数の組織またはチームを指定します。
- Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが Clusters ページの Access control タブに表示されるようになりました。
6.3. GitLab アイデンティティープロバイダーの設定
GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するように GitLab アイデンティティープロバイダーを設定します。
前提条件
- GitLab バージョン 7.7.0 から 11.0 を使用する場合は、OAuth 統合 を使用して接続します。GitLab バージョン 11.1 以降の場合は、OAuth ではなく OpenID Connect (OIDC) を使用して接続します。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスター ページに移動し、アイデンティティープロバイダーを設定する必要のあるクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから GitLab を選択します。
アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
OAuth callback URL は提供されるフィールドに自動的に生成されます。この URL を GitLab に指定します。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
以下に例を示します。
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
- GitLab に新規アプリケーションを追加します。
- Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- GitLab から提供される Client ID および Client secret を入力します。
- GitLab プロバイダーの URL を入力します。
- オプション: 認証局 (CA) ファイルを使用して、設定された GitLab URL のサーバー証明書を検証できます。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
- Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが Clusters ページの Access control タブに表示されるようになりました。
6.4. Google アイデンティティープロバイダーの設定
ユーザーが Google 認証情報で認証できるように Google アイデンティティープロバイダーを設定します。
Google をアイデンティティープロバイダーとして使用することで、Google ユーザーはサーバーに対して認証されます。hostedDomain 設定属性を使用して、特定のホストドメインのメンバーに認証を限定することができます。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスター ページに移動し、アイデンティティープロバイダーを設定する必要のあるクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから Google を選択します。
アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
OAuth callback URL は提供されるフィールドに自動的に生成されます。この URL を Google に指定します。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
以下に例を示します。
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
- Google の OpenID Connect 統合機能 を使用して Google アイデンティティープロバイダーを設定します。
- Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- 登録済みの Google プロジェクトの Client ID と、Google が発行する Client secret を入力します。
- ホストされたドメインを入力して、ユーザーを Google Apps ドメインに制限します。
- Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが Clusters ページの Access control タブに表示されるようになりました。
6.5. LDAP アイデンティティープロバイダーの設定
単純なバインド認証を使用して LDAPv3 サーバーに対してユーザー名とパスワードを検証するように LDAP アイデンティティープロバイダーを設定します。
前提条件
LDAP アイデンティティープロバイダーを設定する場合は、設定済みの LDAP URL を入力する必要があります。設定される URL は、LDAP ホストと使用する検索パラメーターを指定する RFC 2255 URL です。URL の構文は以下のようになります。
ldap://host:port/basedn?attribute?scope?filter
URL コンポーネント 説明 ldap通常の LDAP の場合は、文字列
ldapを使用します。セキュアな LDAP (LDAPS) の場合は、代わりにldapsを使用します。host:portLDAP サーバーの名前とポートです。デフォルトは、ldap の場合は
localhost:389、LDAPS の場合はlocalhost:636です。basednすべての検索が開始されるディレクトリーのブランチの DN です。これは少なくともディレクトリーツリーの最上位になければなりませんが、ディレクトリーのサブツリーを指定することもできます。
attribute検索対象の属性です。RFC 2255 はコンマ区切りの属性の一覧を許可しますが、属性をどれだけ指定しても最初の属性のみが使用されます。属性を指定しない場合は、デフォルトで
uidが使用されます。使用しているサブツリーのすべてのエントリー間で一意の属性を選択することを推奨します。scope検索の範囲です。
oneまたはsubのいずれかを指定できます。範囲を指定しない場合は、デフォルトの範囲としてsubが使用されます。filter有効な LDAP 検索フィルターです。指定しない場合、デフォルトは
(objectClass=*)です。検索の実行時に属性、フィルター、指定したユーザー名が組み合わされて以下のような検索フィルターが作成されます。
(&(<filter>)(<attribute>=<username>))
重要LDAP ディレクトリーの検索に認証が必要な場合は、エントリー検索の実行に使用する
bindDNとbindPasswordを指定します。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスター ページに移動し、アイデンティティープロバイダーを設定する必要のあるクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから LDAP を選択します。
- アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
- ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- LDAP URL を入力して、使用する LDAP 検索パラメーターを指定します。
- オプション: Bind DN および Bind password を入力します。
LDAP 属性をアイデンティティーにマップする属性を入力します。
- 値をユーザー ID として使用する ID 属性を入力します。Add more をクリックして、複数の ID 属性を追加します。
- オプション: 表示名の値として使用する Preferred username 属性を入力します。Add more をクリックして、優先する複数のユーザー名属性を追加します。
- オプション: メールアドレスの値として使用する Email 属性を入力します。Add more をクリックして、複数のメール属性を追加します。
- オプション: Show advanced Options をクリックし、認証局 (CA) ファイルを LDAP アイデンティティープロバイダーに追加し、設定された URL のサーバー証明書を検証します。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
オプション: 高度なオプションで、LDAP プロバイダーを 非セキュア にするよう選択できます。このオプションを選択すると、CA ファイルは使用できません。
重要非セキュアな LDAP 接続 (ldap:// またはポート 389) を使用している場合は、設定ウィザードで で Insecure オプションを確認する必要があります。
- Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが Clusters ページの Access control タブに表示されるようになりました。
6.6. OpenID アイデンティティープロバイダーの設定
Authorization Code Flow を使用して OpenID Connect アイデンティティープロバイダーに統合するように OpenID アイデンティティープロバイダーを設定します。
Red Hat OpenShift Service on AWS の認証 Operator では、設定済みの OpenID Connect アイデンティティープロバイダーが OpenID Connect Discovery 仕様を実装する必要があります。
要求は、OpenID アイデンティティープロバイダーから返される JWT id_token から読み取られ、指定される場合は発行者 URL によって返される JSON から読み取られます。
1 つ以上の要求をユーザーのアイデンティティーを使用するように設定される必要があります。
また、どの要求をユーザーの推奨ユーザー名、表示名およびメールアドレスとして使用するか指定することができます。複数の要求が指定されている場合は、値が入力されている最初の要求が使用されます。標準の要求は以下の通りです。
| 要求 | 説明 |
|---|---|
|
|
ユーザーのプロビジョニング時に優先されるユーザー名です。 |
|
| メールアドレス。 |
|
| 表示名。 |
詳細は、OpenID claim のドキュメント を参照してください。
前提条件
- OpenID Connect を設定する前に、Red Hat OpenShift Service on AWS クラスターで使用する Red Hat 製品またはサービスのインストール前提条件を確認してください。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスター ページに移動し、アイデンティティープロバイダーを設定する必要のあるクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから OpenID を選択します。
アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
OAuth callback URL は提供されるフィールドに自動的に生成されます。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
以下に例を示します。
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
- 認可リクエストを作成する 手順に従って、新しい OpenID Connect クライアントを OpenID ID プロバイダーに登録します。
- Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- OpenID から提供される Client ID および Client secret を入力します。
- Issuer URL を入力します。これは、OpenID プロバイダーが発行者 ID としてアサートする URL です。URL クエリーパラメーターまたはフラグメントのない https スキームを使用する必要があります。
- メールアドレスの値として使用する Email 属性を入力します。Add more をクリックして、複数のメール属性を追加します。
- 優先するユーザー名の値として使用する Name 属性を入力します。Add more をクリックして、優先する複数のユーザー名を追加します。
- 表示名の値として使用する Preferred username 属性を入力します。Add more をクリックして、複数の表示名を追加します。
- オプション: Show advanced Options をクリックし、認証局 (CA) ファイルを OpenID アイデンティティープロバイダーに追加します。
-
オプション: 高度なオプションから、追加のスコープ を追加できます。デフォルトでは、
OpenIDの範囲が要求されます。 - Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが Clusters ページの Access control タブに表示されるようになりました。
6.7. htpasswd アイデンティティープロバイダーの設定
クラスター管理者権限で単一の静的ユーザーを作成するように htpasswd アイデンティティープロバイダーを設定します。問題のトラブルシューティングを行うには、ユーザーとしてクラスターにログインできます。
htpasswd ID プロバイダーオプションは、単一の静的管理ユーザーを作成できるようにするためだけに含まれています。htpasswd は、Red Hat OpenShift Service on AWS の汎用 ID プロバイダーとしてはサポートされていません。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、クラスターページに移動し、クラスター を選択します。
- Access control → Identity providers の順に選択します。
- Add identity provider をクリックします。
- Identity Provider ドロップダウンメニューから HTPasswd を選択します。
- アイデンティティープロバイダーの Name フィールドに一意の名前を追加します。
静的ユーザーに推奨されるユーザー名およびパスワードを使用するか、独自のユーザー名およびパスワードを作成します。
注記この手順で定義した認証情報は、以下の手順で Add を選択した後に表示されません。認証情報を失った場合は、アイデンティティープロバイダーを再作成し、認証情報を再度定義する必要があります。
- Add を選択して htpasswd アイデンティティープロバイダーおよび単一の静的ユーザーを作成します。
クラスターを管理する静的ユーザーにパーミッションを付与します。
- Access control → Cluster Roles and Access で、Add user を選択します。
- 前のステップで作成した静的ユーザーの User ID を入力します。
-
グループ を選択します。
dedicated-adminsグループのユーザーには、Red Hat OpenShift Service on AWS の標準の管理者権限があります。cluster-adminsグループのユーザーには、クラスターへの完全な管理アクセス権限があります。 - Add user を選択して、管理者権限をユーザーに付与します。
検証
設定された htpasswd アイデンティティープロバイダーは、Access control → Identity providers ページに表示されます。
注記アイデンティティープロバイダーの作成後に、同期は通常 2 分以内に完了します。htpasswd アイデンティティープロバイダーが利用可能になると、ユーザーとしてクラスターにログインできます。
- 管理ユーザーは、Access control → Cluster Roles and Access ページで確認できます。ユーザーの管理グループメンバーシップも表示されます。
6.8. 関連情報
第7章 ROSA クラスターへのアクセスの取り消し
IDP (アイデンティティプロバイダー) は、Red Hat OpenShift Service on AWS (ROSA) クラスターへのアクセスを制御します。ユーザーのクラスターへのアクセスを取り消すには、認証用に設定された IDP 内で設定する必要があります。
7.1. ROSA CLI を使用した管理者アクセスの取り消し
ユーザーの管理者権限を取り消して、管理者権限がなくてもクラスターにアクセスできるようにすることができます。ユーザーの管理者アクセスを削除するには、dedicated-admin または cluster-admin の権限を取り消す必要があります。Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) または OpenShift Cluster Manager コンソールを使用して管理者権限を取り消すことができます。
7.1.1. ROSA CLI を使用した dedicated-admin アクセスの取り消し
dedicated-admin ユーザーのアクセス権を取り消すことができるのは、自分がクラスターを作成したユーザー、組織管理者ユーザー、またはスーパー管理者ユーザーの場合です。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 取り消す権限を持つユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
ユーザーの
dedicated-adminアクセスを取り消すには、次のコマンドを入力してください。$ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
以下のコマンドを実行して、ユーザーに
dedicated-adminアクセスがなくなったことを確認します。出力には、取り消したユーザーが表示されません。$ oc get groups dedicated-admins
7.1.2. ROSA CLI を使用した cluster-admin アクセス権の取り消し
クラスターを作成したユーザーのみが、cluster-admin ユーザーのアクセスを取り消すことができます。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 取り消す権限を持つユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
ユーザーの
cluster-adminアクセスを取り消すには、次のコマンドを入力してください。$ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
次のコマンドを入力して、そのユーザーが
cluster-adminアクセス権を失ったことを確認します。出力には、取り消したユーザーが表示されません。$ oc get groups cluster-admins
7.2. OpenShift Cluster Manager コンソールを使用した管理者アクセスの取り消し
OpenShift Cluster Manager のコンソールから、ユーザーの dedicated-admin または cluster-admin アクセスを取り消すことができます。ユーザーは、管理者権限がなくてもクラスターにアクセスできるようになります。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 取り消す権限を持つユーザーの IDP ユーザー名がある。
- クラスターの作成に使用した OpenShift Cluster Manager アカウント、組織の管理者ユーザー、またはスーパーユーザーを使用して OpenShift Cluster Manager コンソールにログインしている。
手順
- OpenShift Cluster Manager の Clusters タブで、クラスターの名前を選択し、クラスターの詳細を表示します。
- Access control > Cluster Roles and Access を選択します。
-
削除するユーザーについて、ユーザーとグループの組み合わせの右にある Options メニュー
をクリックし、Delete をクリックします。
第8章 ROSA クラスターの削除
このドキュメントでは、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを削除する手順について説明します。クラスターを削除した後、クラスターで使用されている AWS Identity and Access Management (IAM) リソースを削除することもできます。
8.1. 前提条件
Red Hat OpenShift Service on AWS が VPC を作成した場合は、クラスターを正常に削除する前に、クラスターから次のアイテムを削除する必要があります。
- VPN 設定や VPC ピアリング接続などのネットワーク設定
- VPC に追加された追加サービス
これらの設定とサービスが残っている場合、クラスターは適切に削除されません。
8.2. ROSA クラスターとクラスター固有の IAM リソースの削除
ROSA CLI (rosa) または Red Hat OpenShift Cluster Manager を使用して、AWS Security Token Service (STS) クラスターを備えた Red Hat OpenShift Service on AWS (ROSA) を削除できます。
クラスターを削除した後、ROSA CLI (rosa) を使用して、AWS アカウントのクラスター固有の Identity and Access Management (IAM) リソースをクリーンアップできます。クラスター固有のリソースには、Operator ロールと OpenID Connect (OIDC) プロバイダーが含まれます。
IAM リソースは、クラスターの削除およびクリーンアップのプロセスで使用されるため、クラスターの削除は、IAM リソースを削除する前に完了する必要があります。
アドオンがインストールされている場合、クラスターの削除前にアドオンをアンインストールするため、削除により多くの時間がかかります。所要時間は、アドオンの数とサイズによって異なります。
インストール時に VPC を作成したクラスターが削除されると、関連するインストールプログラムで作成された VPC も削除され、同じ VPC を使用しているすべてのクラスターが失敗します。さらに、インストールプログラムによって作成されるリソースと同じ tagSet のキーと値のペアで作成され、owned の値でラベルが付いたリソースも削除されます。
前提条件
- ROSA クラスターをインストールしました。
-
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。
手順
クラスター ID、クラスター固有 Operator ロールの Amazon Resource Names (ARN)、および OIDC プロバイダーのエンドポイント URL を取得します。
$ rosa describe cluster --cluster=<cluster_name> 1- 1
<cluster_name>は、クラスター名に置き換えます。
出力例
Name: mycluster ID: 1s3v4x39lhs8sm49m90mi0822o34544a 1 ... Operator IAM Roles: 2 - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-credential-operator-cloud-crede - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-image-registry-installer-cloud-creden - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cluster-csi-drivers-ebs-cloud-credent - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-network-config-controller-cloud State: ready Private: No Created: May 13 2022 11:26:15 UTC Details Page: https://console.redhat.com/openshift/details/s/296kyEFwzoy1CREQicFRdZybrc0 OIDC Endpoint URL: https://rh-oidc.s3.us-east-1.amazonaws.com/1s5v4k39lhm8sm59m90mi0822o31844a 3
重要クラスターが削除された後、ROSA CLI (
rosa) を使用してクラスター固有の STS リソースを削除するには、クラスター ID が必要です。クラスターを削除します。
Red Hat OpenShift Cluster Manager を使用してクラスターを削除するには:
- OpenShift Cluster Manager Hybrid Cloud Console に移動します。
-
クラスターの横にあるオプションメニュー
をクリックし、Delete cluster を選択します。
- プロンプトでクラスターの名前を入力し、Delete をクリックします。
ROSA CLI (
rosa) を使用してクラスターを削除するには:以下のコマンドを実行してクラスターを削除し、ログを監視し、
<my-cluster>はクラスターの名前または ID に置き換えます。$ rosa delete cluster --cluster=<cluster_name> --watch
重要Operator ロールと OIDC プロバイダーを削除する前に、クラスターの削除が完了するのを待つ必要があります。クラスター固有の Operator ロールは、OpenShift Operator によって作成されるリソースをクリーンアップするために必要です。Operator は、OIDC プロバイダーを利用して認証を行います。
クラスター Operator が認証に使用する OIDC プロバイダーを削除します。
$ rosa delete oidc-provider -c <cluster_id> --mode auto 1- 1
<cluster_id>をクラスターの ID に置き換えてください。
注記-yオプションを使用すると、プロンプトに対して自動的にはいと答えることができます。オプション。クラスター固有の Operator IAM ロールを削除します。
重要アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。
$ rosa delete operator-roles -c <cluster_id> --mode auto 1- 1
<cluster_id>をクラスターの ID に置き換えてください。
トラブルシューティング
- IAM ロールが欠落しているためにクラスターを削除できない場合は、削除できないクラスターの修復 を参照してください。
他の理由でクラスターを削除できない場合:
- Hybrid Cloud Console で保留中のクラスターのアドオンがないことを確認します。
- Amazon Web Console で、すべての AWS リソースと依存関係が削除されていることを確認します。
関連情報
- アカウント全体の IAM ロールとポリシーを削除する手順は、アカウント全体の IAM ロールとポリシーの削除 を参照してください。
- OpenShift Cluster Manager およびユーザー IAM ロールを削除する手順は、OpenShift Cluster Manager およびユーザー IAM ロールの解除と削除 を参照してください。
8.3. アカウント全体の IAM リソースを削除する
アカウント全体の AWS Identity and Access Management (IAM) リソースに依存する AWS Security Token Services (STS) クラスターを使用してすべての Red Hat OpenShift Service on AWS (ROSA) を削除した後、アカウント全体のリソースを削除できます。
Red Hat OpenShift Cluster Manager を使用して STS クラスターで ROSA をインストールする必要がなくなった場合は、OpenShift Cluster Manager とユーザー IAM ロールを削除することもできます。
アカウント全体の IAM ロールおよびポリシーは、同じ AWS アカウントの他の ROSA クラスターによって使用される可能性があります。他のクラスターで必要とされていない場合に限り、リソースを削除する必要があります。
OpenShift Cluster Manager を使用して同じ AWS アカウントに他の ROSA クラスターをインストールして管理し、削除する場合は、OpenShift Cluster Manager とユーザー IAM ロールが必要です。OpenShift Cluster Manager を使用してアカウントに ROSA クラスターをインストールする必要がなくなった場合にのみ、ロールを削除する必要があります。削除された場合のクラスターの修復についてはその他のリソースセクションを削除前に参照してください。
8.3.1. アカウント全体の IAM ロールとポリシーの削除
このセクションでは、アカウント全体の Operator ポリシーとともに、STS デプロイメントで ROSA 用に作成したアカウント全体の IAM ロールおよびポリシーを削除する手順について説明します。アカウント全体の AWS Identityentityand Access Management (IAM) のロールとポリシーを削除できるのは、それらに依存する AWS Security Token Services (STS) クラスターを備えたすべての Red Hat OpenShift Service on AWS (ROSA) を削除した後でのみです。
アカウント全体の IAM ロールおよびポリシーは、同じ AWS アカウントの他の ROSA クラスターによって使用される可能性があります。他のクラスターで必要とされていない場合に限り、ロールを削除する必要があります。
前提条件
- ROSA クラスターをインストールしました。
-
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。
手順
アカウント全体のロールを削除します。
ROSA CLI (
rosa) を使用して、AWS アカウントのアカウント全体のロールを一覧表示します。$ rosa list account-roles
出力例
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION ManagedOpenShift-ControlPlane-Role Control plane arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role 4.10 ManagedOpenShift-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role 4.10 ManagedOpenShift-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role 4.10 ManagedOpenShift-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role 4.10
アカウント全体のロールを削除します。
$ rosa delete account-roles --prefix <prefix> --mode auto 1- 1
- その際、
--<prefix>引数を含める必要があります。<prefix>を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞であるManagedOpenShiftを指定します。
重要アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールを削除する必要があります。
アカウント全体のインラインポリシーと Operator ポリシーを削除します。
AWS IAM Console の Policies ページで、アカウント全体のロールとポリシーを作成したときに指定した接頭辞でポリシーのリストをフィルターリングします。
注記アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である
ManagedOpenShiftを検索します。AWS IAM Console を使用して、アカウント全体のインラインポリシーと Operator ポリシーを削除します。AWS IAM コンソールを使用して IAM ポリシーを削除する方法の詳細は、AWS ドキュメントの IAM ポリシーの削除 を参照してください。
重要アカウント全体のインラインおよび Operator IAM ポリシーは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールを削除する必要があります。
8.3.2. OpenShift Cluster Manager およびユーザー IAM ロールのリンク解除と削除
Red Hat OpenShift Cluster Manager を使用して Red Hat OpenShift Service on AWS (ROSA) クラスターをインストールした場合は、OpenShift Cluster Manager とユーザー ID およびアクセス管理 (IAM) のロールを作成し、それらを RedHat 組織にリンクしました。クラスターを削除した後、ROSA CLI (rosa) を使用して、ロールのリンクを解除して削除できます。
OpenShift Cluster Manager を使用して同じ AWS アカウントに他の ROSA クラスターをインストールおよび管理する場合は、OpenShift Cluster Manager とユーザー IAM ロールが必要です。OpenShift Cluster Manager を使用して ROSA クラスターをインストールする必要がなくなった場合にのみ、ロールを削除する必要があります。
前提条件
- OpenShift Cluster Manager とユーザー IAM ロールを作成し、それらを Red Hat 組織にリンクしました。
-
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。 - Red Hat 組織で組織管理者権限があります。
手順
Red Hat 組織から OpenShift Cluster Manager IAM ロールのリンクを解除し、ロールを削除します。
AWS アカウントで OpenShift Cluster Manager IAM ロールを一覧表示します。
$ rosa list ocm-roles
出力例
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes
OpenShift Cluster Manager IAM ロールが上記のコマンドの出力にリンクされていると表示されている場合は、Red Hat 組織からロールのリンクを解除します。
$ rosa unlink ocm-role --role-arn <arn> 1- 1
<arn>を OpenShift Cluster Manager IAM ロールの Amazon Resource Name (ARN) に置き換えます。ARN は、前のコマンドの出力で指定されます。前の例では、ARN の形式はarn:aws:iam::<aws_account_external_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>です。
出力例
I: Unlinking OCM role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
OpenShift Cluster Manager IAM のロールとポリシーを削除します。
$ rosa delete ocm-role --role-arn <arn>
出力例
I: Deleting OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes ? OCM role deletion mode: auto 1 I: Successfully deleted the OCM role- 1
- 削除モードを指定します。
autoモードを使用して、OpenShift Cluster Manager IAM ロールとポリシーを自動的に削除できます。manualモードでは、ROSA CLI はロールとポリシーを削除するために必要なawsコマンドを生成します。manualモードでは、awsコマンドを手動で実行する前に詳細を確認することができます。
Red Hat 組織からユーザー IAM ロールのリンクを解除し、ロールを削除します。
AWS アカウントのユーザー IAM ロールを一覧表示します。
$ rosa list user-roles
出力例
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User-<ocm_user_name>-Role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role Yes
上記のコマンドの出力にユーザー IAM ロールがリンクされていると表示されている場合は、Red Hat 組織からロールのリンクを解除します。
$ rosa unlink user-role --role-arn <arn> 1- 1
<arn>をユーザー IAM ロールの Amazon Resource Name (ARN) に置き換えます。ARN は、前のコマンドの出力で指定されます。前の例では、ARN の形式はarn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Roleです。
出力例
I: Unlinking user role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'
ユーザー IAM ロールを削除します。
$ rosa delete user-role --role-arn <arn>
出力例
I: Deleting user role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes ? User role deletion mode: auto 1 I: Successfully deleted the user role- 1
- 削除モードを指定します。
autoモードを使用して、ユーザー IAM ロールを自動的に削除できます。manualモードでは、ROSA CLI はロールを削除するために必要なawsコマンドを生成します。manualモードでは、awsコマンドを手動で実行する前に詳細を確認できます。
8.4. 関連情報
- STS を使用する ROSA クラスターの AWS IAM リソースは、STS を使用する ROSA クラスターの IAM リソースについて を参照してください。
- IAM ロールの欠落によるクラスターエラーの詳細は、削除できないクラスターの修復 を参照してください。
第9章 AWS STS を使用しない ROSA のデプロイ
9.1. ROSA の AWS の前提条件
Red Hat OpenShift Service on AWS (ROSA) は、Red Hat によるクラスターのお客様の既存 Amazon Web Service (AWS) アカウントへのデプロイを可能にするモデルを提供します。
ROSA をインストールする前に、前提条件を満たしていることを確認する必要があります。この要件は、AWS Security Token Service (STS) には適用されません。STS を使用している場合は、STS 固有の要件 を参照してください。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.1.1. デプロイメントの前提条件
Red Hat OpenShift Service on AWS (ROSA) を既存の Amazon Web Services (AWS) アカウントにデプロイするには、Red Hat が求める複数の前提条件を満たす必要があります。
Red Hat では、複数の AWS アカウントを管理するために AWS Organizations を使用することを推奨します。お客様が管理する AWS Organizations は、複数の AWS アカウントをホストします。すべてのアカウントがアカウント階層で参照する組織には root アカウントがあります。
ROSA クラスターが AWS Organizational Unit 内の AWS アカウントでホストされるようにすることがベストプラクティスです。Service Control Policy (SCP) が作成され、AWS サブアカウントのアクセスが許可されるサービスを管理する AWS Organizational Unit に適用されます。SCP は、Organizational Unit 内のすべての AWS サブアカウントの単一の AWS アカウント内で利用可能なパーミッションにのみ適用されます。SCP を単一の AWS アカウントに適用することもできます。お客様の AWS Organizations 内の他のすべてのアカウントは、お客様が必要とされる方法に応じて管理されます。Red Hat のサイト信頼性エンジニアリング (SRE) には、AWS Organizations 内の SCP に対する制御がありません。
9.1.2. お客様の要件
Red Hat OpenShift Service on AWS (ROSA) クラスターは、デプロイする前に複数の前提条件を満たす必要があります。
クラスターを作成するには、ユーザーは予想されるロールまたは STS ユーザーとしてではなく、IAM ユーザーとしてログインする必要があります。
9.1.2.1. アカウント
- お客様は、お客様の AWS アカウント内にプロビジョニングされる Red Hat OpenShift Service on AWS をサポートするのに十分な AWS 制限 が設定されていることを確認します。
お客様の AWS アカウントは、該当するサービスコントロールポリシー (SCP) が適用されたお客様の AWS Organizations 組織にある必要があります。
注記お客様のアカウントが AWS Organizations 内にあることや SCP を適用することは要件ではありませんが、Red Hat が制限なしで SCP に一覧表示されるすべてのアクションを実行できるようにする必要があります。
- お客様の AWS アカウントは、Red Hat に譲渡することはできません。
- お客様は、Red Hat の各種アクティビティーに対して AWS の使用についての制限を課すことができない場合があります。制限を課すことにより、Red Hat のインシデントへの対応が大幅に妨げられます。
お客様は、同じ AWS アカウント内にネイティブ AWS サービスをデプロイすることができます。
注記Red Hat OpenShift Service on AWS やその他の Red Hat がサポートするサービスをホストする VPC とは別の Virtual Private Cloud (VPC) でリソースをデプロイすることが推奨されますが、これは義務ではありません。
9.1.2.2. アクセス要件
Red Hat OpenShift Service on AWS サービスを適切に管理するには、Red Hat では
AdministratorAccessポリシーを管理者ロールに常に適用する必要があります。AWS Security Token Service (STS) を使用している場合、この要件は 適用されません。注記このポリシーは、お客様が指定する AWS アカウントのリソースを変更するためのパーミッションおよび機能を Red Hat に提供します。
- Red Hat には、顧客が提供した AWS アカウントへの AWS コンソールアクセス権が必要です。このアクセスは、Red Hat により保護され、管理されます。
- お客様は AWS アカウントを使用して Red Hat OpenShift Service on AWS クラスター内でパーミッションを昇格させることはできません。
-
Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa)、または OpenShift Cluster Manager Hybrid Cloud Console コンソールで使用可能なアクションは、お客様の AWS アカウントで直接実行することはできません。
9.1.2.3. サポート要件
- Red Hat では、お客様が少なくとも AWS の ビジネスサポート を用意することを推奨します。
- Red Hat は、お客様の代わりに AWS サポートをリクエストする権限をお客様から受けます。
- Red Hat は、お客様のアカウントで AWS リソース制限の引き上げをリクエストする権限をお客様から受けます。
- Red Hat は、この要件に関するセクションで指定されていない場合に、すべての Red Hat OpenShift Service on AWS クラスターについての制約、制限、予想される内容およびデフォルトの内容を管理します。
9.1.2.4. セキュリティー要件
- ボリュームスナップショットは、お客様の AWS アカウントおよびお客様が指定するリージョン内に残ります。
- Red Hat には、許可リストにある IP アドレスから EC2 ホストおよび API サーバーへの ingress アクセスが必要です。
- Red Hat では、Red Hat が管理する中央ロギングスタックにシステムおよび監査ログを転送できるようにするために egress が必要です。
9.1.3. 必要なお客様の手順
Red Hat OpenShift Service on AWS (ROSA) をデプロイする前に、以下の手順を実行します。
手順
- お客様が AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、新規アカウントを作成 する必要があります。
- Red Hat が必要なアクションを実行できるようにするには、Service Control Policy (SCP) を作成するか、AWS アカウントに適用されているものがないことを確認する必要があります。
- SCP を AWS アカウントに 割り当て ます。
- 環境を設定するには、ROSA の手順に従います。
9.1.3.1. Service Control Policy (SCP) の有効なパーミッションの最小セット
Service Control Policy (SCP) は、組織内のパーミッションを管理する組織ポリシーの一種です。SCP は、組織内のアカウントを、定義されたアクセス制御ガイドラインの範囲内にとどめるためのものです。これらのポリシーは、AWS Organizations で維持され、接続された AWS アカウント内で利用可能なサービスを制御します。SCP の管理はお客様の責任です。
AWS セキュリティートークンサービス (STS) を使用する場合は、最小 SCP 要件が適用されません。STS の詳細は、STS を使用する ROSA の AWS 前提条件 について参照してください。
Service Control Policy (SCP) がこれらの必要なパーミッションを制限していないことを確認します。
| サービス | アクション | 効果 | |
|---|---|---|---|
| 必須 | Amazon EC2 | すべて | 許可 |
| Amazon EC2 Auto Scaling | すべて | 許可 | |
| Amazon S3 | すべて | 許可 | |
| アイデンティティーおよびアクセス管理 | すべて | 許可 | |
| Elastic Load Balancing | すべて | 許可 | |
| Elastic Load Balancing V2 | すべて | 許可 | |
| Amazon CloudWatch | すべて | 許可 | |
| Amazon CloudWatch Events | すべて | 許可 | |
| Amazon CloudWatch Logs | すべて | 許可 | |
| AWS Support | すべて | 許可 | |
| AWS Key Management Service | すべて | 許可 | |
| AWS Security Token Service | すべて | 許可 | |
| AWS Marketplace | サブスクライブ サブスクライブ解除 サブスクリプションの表示 | 許可 | |
| AWS Resource Tagging | すべて | 許可 | |
| AWS Route53 DNS | すべて | 許可 | |
| AWS Service Quotas | ListServices GetRequestedServiceQuotaChange GetServiceQuota RequestServiceQuotaIncrease ListServiceQuotas | 許可 | |
| オプション | AWS Billing | ViewAccount Viewbilling ViewUsage | 許可 |
| AWS Cost and Usage Report | すべて | 許可 | |
| AWS Cost Explorer Services | すべて | 許可 |
9.1.4. AWS の Red Hat 管理 IAM リファレンス
Red Hat は、IAM ポリシー、IAM ユーザー、および IAM ロールなどの以下の Amazon Web Services (AWS) リソースを作成し、管理します。
9.1.4.1. IAM ポリシー
IAM ポリシーは、Red Hat OpenShift Service on AWS の機能の変更に伴って変更されることがあります。
AdministratorAccessポリシーは管理ロールによって使用されます。このポリシーは、お客様の AWS アカウントで Red Hat OpenShift Service on AWS (ROSA) クラスターを管理するために必要なアクセスを Red Hat に提供します。{ "Version": "2012-10-17", "Statement": [ { "Action": "*", "Resource": "*", "Effect": "Allow" } ] }
9.1.4.2. IAM ユーザー
osdManagedAdmin ユーザーは、ROSA をお客様の AWS アカウントにインストール後すぐに作成されます。
9.1.5. プロビジョニングされる AWS インフラストラクチャー
以下は、デプロイされた Red Hat OpenShift Service on AWS (ROSA) クラスターでプロビジョニングされる Amazon Web Services (AWS) コンポーネントの概要です。プロビジョニングされたすべての AWS コンポーネントの詳細な一覧は、OpenShift Container Platform ドキュメント を参照してください。
9.1.5.1. EC2 インスタンス
AWS EC2 インスタンスは、AWS パブリッククラウドに ROSA のコントロールプレーンおよびデータプレーン機能をデプロイするために必要です。
インスタンスタイプは、ワーカーノードの数に応じてコントロールプレーンおよびインフラストラクチャーノードによって異なる場合があります。少なくとも、以下の EC2 インスタンスがデプロイされます。
-
3 つの
m5.2xlargeコントロールプレーンノード -
2 つの
r5.xlargeインフラストラクチャーノード -
2 つの
m5.xlargeカスタマイズ可能なワーカーノード
ワーカーノード数の詳細なガイダンスは、このページの関連情報セクションに一覧表示されている「制限およびスケーラビリティー」トピックの初期計画に関する考慮事項に関する情報を参照してください。
9.1.5.2. Amazon Elastic Block Store ストレージ
Amazon Elastic Block Store (Amazon EBS)ブロックストレージは、ローカルノードストレージと永続ボリュームストレージの両方に使用されます。
各 EC2 インスタンスのボリューム要件:
コントロールプレーンボリューム
- サイズ: 350GB
- タイプ: io1
- 1 秒あたりの I/O 処理数: 1000
インフラストラクチャーボリューム
- サイズ: 300GB
- タイプ: gp3
- 1 秒あたりの入出力操作: 900
ワーカーボリューム
- サイズ: 300GB
- タイプ: gp3
- 1 秒あたりの入出力操作: 900
OpenShift Container Platform 4.11 のリリースより前にデプロイされたクラスターは、デフォルトで gp2 タイプのストレージを使用します。
9.1.5.3. Elastic Load Balancing
API 用に最大 2 つのネットワークロードバランサー、アプリケーションルーター用に最大 2 つのクラシックロードバランサー。詳細は、AWS についての ELB ドキュメント を参照してください。
9.1.5.4. S3 ストレージ
イメージレジストリーは、AWS S3 ストレージによって支えられています。S3 の使用およびクラスターのパフォーマンスを最適化するために、リソースのプルーニングを定期的に実行します。
通常のサイズがそれぞれ 2TB の 2 つのバケットが必要です。
9.1.5.5. VPC
お客様はクラスターごとに 1 つの VPC を確認できるはずです。さらに、VPC には以下の設定が必要です。
サブネット: 単一アベイラビリティーゾーンがあるクラスターの 2 つのサブネット、または複数のアベイラビリティーゾーンがあるクラスターの 6 つのサブネット。
注記パブリックサブネット は、インターネットゲートウェイを介してインターネットに直接接続します。プライベートサブネット は、ネットワークアドレス変換 (NAT) ゲートウェイを介してインターネットに接続します。
- ルートテーブル: プライベートサブネットごとに 1 つのルートテーブルと、クラスターごとに 1 つの追加テーブル。
- インターネットゲートウェイ: クラスターごとに 1 つのインターネットゲートウェイ。
- NAT ゲートウェイ: パブリックサブネットごとに 1 つの NAT ゲートウェイ。
9.1.5.5.1. サンプル VPC アーキテクチャー

9.1.5.6. セキュリティーグループ
AWS セキュリティーグループは、プロトコルおよびポートアクセスレベルでセキュリティーを提供します。これらは EC2 インスタンスおよび Elastic Load Balancing (ELB) ロードバランサーに関連付けられます。各セキュリティーグループには、1 つ以上の EC2 インスタンスの送受信トラフィックをフィルタリングする一連のルールが含まれます。OpenShift インストールに必要なポートがネットワーク上で開いており、ホスト間のアクセスを許可するよう設定されていることを確認する必要があります。
| グループ | タイプ | IP プロトコル | ポート範囲 |
|---|---|---|---|
| MasterSecurityGroup |
|
|
|
|
|
| ||
|
|
| ||
|
|
| ||
| WorkerSecurityGroup |
|
|
|
|
|
| ||
| BootstrapSecurityGroup |
|
|
|
|
|
|
9.1.6. AWS ファイアウォールの前提条件
PrivateLink で展開された ROSA クラスターのみが、ファイアウォールを使用して出力トラフィックを制御できます。
このセクションでは、Red Hat OpenShift Service on AWS クラスターからの出力トラフィックを制御できるようにするために必要な詳細を提供します。ファイアウォールを使用して出力トラフィックを制御している場合は、以下のドメインとポートの組み合わせへのアクセスを許可するようにファイアウォールを設定する必要があります。Red Hat OpenShift Service on AWS は、フルマネージド Open Shift サービスを提供するためにこのアクセスを必要とします。
手順
パッケージとツールのインストールおよびダウンロードに使用される以下の URL を許可リストに指定します。
ドメイン ポート 機能 registry.redhat.io443
コアコンテナーイメージを指定します。
quay.io443
コアコンテナーイメージを指定します。
*.quay.io443
コアコンテナーイメージを指定します。
sso.redhat.com443、80
必須。
https://console.redhat.com/openshiftサイトでは、sso.redhat.comからの認証を使用してプルシークレットをダウンロードし、Red Hat SaaS ソリューションを使用してサブスクリプション、クラスターインベントリー、チャージバックレポートなどのモニタリングを行います。quay-registry.s3.amazonaws.com443
コアコンテナーイメージを指定します。
ocm-quay-production-s3.s3.amazonaws.com443
コアコンテナーイメージを指定します。
quayio-production-s3.s3.amazonaws.com443
コアコンテナーイメージを指定します。
cart-rhcos-ci.s3.amazonaws.com443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージを提供します。
openshift.org443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージを提供します。
registry.access.redhat.com[1]443
Red Hat Ecosytem Catalog に保存されているすべてのコンテナーイメージをホストします。さらに、レジストリーは、開発者が OpenShift および Kubernetes 上で構築するのに役立つ
odoCLI ツールへのアクセスを提供します。registry.connect.redhat.com443、80
すべてのサードパーティーのイメージと認定 Operator に必要です。
console.redhat.com443、80
必須。クラスターと OpenShift Console Manager との間の対話が、スケジューリングアップグレードなどの機能を有効にすることを許可します。
sso.redhat.com443
https://console.redhat.com/openshiftサイトは、sso.redhat.comからの認証を使用します。pull.q1w2.quay.rhcloud.com443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
.q1w2.quay.rhcloud.com443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
www.okd.io443
openshift.orgサイトはwww.okd.ioにリダイレクトされます。www.redhat.com443、80
sso.redhat.comサイトはwww.redhat.comにリダイレクトされます。aws.amazon.com443
iam.amazonaws.comおよびsts.amazonaws.comサイトはaws.amazon.comにリダイレクトされます。catalog.redhat.com443
registry.access.redhat.comおよびhttps://registry.redhat.ioサイトはcatalog.redhat.comにリダイレクトされます。-
ファイアウォール環境では、
access.redhat.comリソースが許可リストに含まれていることを確認してください。このリソースは、コンテナークライアントがregistry.access.redhat.comからイメージを取得するときにイメージを検証するために必要な署名ストアをホストします。
quay.ioなどのサイトを許可リストに追加する場合は、*.quay.ioなどのワイルドカードエントリーを拒否リストに加えないでください。ほとんどの場合、イメージレジストリーはコンテンツ配信ネットワーク (CDN) を使用してイメージを提供します。ファイアウォールがアクセスをブロックすると、初回のダウンロード要求がcdn01.quay.ioなどのホスト名にリダイレクトされると、イメージのダウンロードが拒否されます。cdn01.quay.ioなどの CDN ホスト名は、許可リストに.quay.ioなどのワイルドカードエントリーを追加する場合に説明されます。-
ファイアウォール環境では、
次のテレメトリー URL を許可リストします。
ドメイン ポート 機能 cert-api.access.redhat.com443
テレメトリーで必要です。
api.access.redhat.com443
テレメトリーで必要です。
infogw.api.openshift.com443
テレメトリーで必要です。
console.redhat.com443
テレメトリーと Red Hat Insights で必要です。
cloud.redhat.com/api/ingress443
テレメトリーと Red Hat Insights で必要です。
observatorium-mst.api.openshift.com443
Managed OpenShift 固有のテレメトリーに使用されます。
observatorium.api.openshift.com443
Managed OpenShift 固有のテレメトリーに使用されます。
マネージドクラスターでは、テレメトリーを有効にして、Red Hat が問題に迅速に対応し、顧客をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにする必要があります。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は、リモートヘルスモニタリングについて を参照してください。
次の Amazon Web Services (AWS) API URl を許可リストします。
ドメイン ポート 機能 .amazonaws.com443
AWS サービスおよびリソースへのアクセスに必要です。
または、Amazon Web Services (AWS) API にワイルドカードを使用しない場合は、次の URL を許可リストに追加する必要があります。
ドメイン ポート 機能 ec2.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
events.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
iam.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
route53.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
sts.amazonaws.com443
AWS STS のグローバルエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。
sts.<aws_region>.amazonaws.com443
AWS STS の地域化されたエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。詳細は、AWS STS の地域化されたエンドポイント を参照してください。
tagging.us-east-1.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。このエンドポイントは、クラスターが展開されているリージョンに関係なく、常に us-east-1 です。
ec2.<aws_region>.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
elasticloadbalancing.<aws_region>.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
servicequotas.<aws_region>.amazonaws.com443、80
必須。サービスをデプロイするためのクォータを確認するのに使用されます。
tagging.<aws_region>.amazonaws.com443、80
タグの形式で AWS リソースに関するメタデータを割り当てることができます。
以下の OpenShift URL を許可リストします。
ドメイン ポート 機能 mirror.openshift.com443
ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。Cluster Version Operator (CVO) には単一の機能ソースのみが必要ですが、このサイトはリリースイメージ署名のソースでもあります。
storage.googleapis.com/openshift-release(推奨)443
mirror.openshift.com/ の代替サイト。quay.io からプルするイメージを把握するのにクラスターが使用するプラットフォームリリース署名をダウンロードするのに使用されます。
api.openshift.com443
クラスターに更新が利用可能かどうかを確認するのに使用されます。
次のサイトリライアビリティーエンジニアリング (SRE) および管理 URL を許可リストします。
ドメイン ポート 機能 api.pagerduty.com443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知についてのアラートが送信されます。
events.pagerduty.com443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知についてのアラートが送信されます。
api.deadmanssnitch.com443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
nosnch.in443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
*.osdsecuritylogs.splunkcloud.comまたはinputs1.osdsecuritylogs.splunkcloud.cominputs2.osdsecuritylogs.splunkcloud.cominputs4.osdsecuritylogs.splunkcloud.cominputs5.osdsecuritylogs.splunkcloud.cominputs6.osdsecuritylogs.splunkcloud.cominputs7.osdsecuritylogs.splunkcloud.cominputs8.osdsecuritylogs.splunkcloud.cominputs9.osdsecuritylogs.splunkcloud.cominputs10.osdsecuritylogs.splunkcloud.cominputs11.osdsecuritylogs.splunkcloud.cominputs12.osdsecuritylogs.splunkcloud.cominputs13.osdsecuritylogs.splunkcloud.cominputs14.osdsecuritylogs.splunkcloud.cominputs15.osdsecuritylogs.splunkcloud.com9997
splunk-forwarder-operatorによって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。http-inputs-osdsecuritylogs.splunkcloud.com443
必須。
splunk-forwarder-operatorによって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。sftp.access.redhat.com(推奨)22
must-gather-operatorが、クラスターに関する問題のトラブルシューティングに役立つ診断ログをアップロードするのに使用される SFTP サーバー。Amazon Web Services (AWS) API のワイルドカードを許可しなかった場合は、内部 OpenShift レジストリーに使用される S3 バケットも許可する必要があります。そのエンドポイントを取得するには、クラスターが正常にプロビジョニングされた後に次のコマンドを実行します。
$ oc -n openshift-image-registry get pod -l docker-registry=default -o json | jq '.items[].spec.containers[].env[] | select(.name=="REGISTRY_STORAGE_S3_BUCKET")'
S3 エンドポイントは '<cluster-name>-<random-string>-image-registry-<cluster-region>-<random-string>.s3.dualstack.<cluster-region>.amazonaws.com' の形式である必要があります。
- ビルドに必要な言語またはフレームワークのリソースを提供するサイトを許可リストに指定します。
- OpenShift で使用される言語およびフレームワークに依存するアウトバウンド URL を許可リストに指定します。ファイアウォールまたはプロキシーで許可できる推奨 URL の一覧は、OpenShift Outbound URLs to Allow を参照してください。
9.1.7. 次のステップ
9.1.8. 関連情報
9.2. ROSA デプロイメントワークフローを理解する
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS(ROSA) クラスターを作成する前に、AWS の前提条件を満たし、必要な AWS サービスクォータが利用可能であることを確認し、環境をセットアップする必要があります。
本書では、STS デプロイメントワークフローステージを使用した ROSA の概要と、各ステージの詳細なリソースを説明します。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.2.1. ROSA デプロイメントワークフローの概要
このセクションで説明されているワークフローステージに従い、Red Hat OpenShift Service on AWS (ROSA) クラスターを設定し、アクセスできます。
- AWS の前提条件の実行ROSA クラスターをデプロイするには、AWS アカウントが前提条件を満たしている必要があります。
- 必要な AWS サービスクォータの確認クラスターのデプロイメントを準備するには、ROSA クラスターの実行に必要な AWS サービスクォータを確認します。
-
AWS アカウントの設定ROSA クラスターを作成する前に、AWS アカウントで ROSA を有効にし、AWS CLI (
aws) ツールをインストールして設定し、AWS CLI ツールの設定を確認する必要があります。 -
ROSA および Open Shift CLI ツールをインストールし、AWS サービスクォータを確認ROSA CLI (
rosa)、OpenShift CLI(oc) をインストールし、設定します。ROSA CLI を使用して、必要な AWS リソースクォータが利用可能かどうかを確認できます。 -
ROSA クラスターを作成 か AWS PrivateLink を使用して ROSA クラスターを作成ROSA CLI (
rosa) を使用してクラスターを作成します。オプションで、AWS PrivateLink を使用して ROSA クラスターを作成できます。 -
クラスターへのアクセスアイデンティティープロバイダーを設定し、必要に応じてクラスター管理者権限をアイデンティティープロバイダーユーザーに付与できます。
cluster-adminユーザーを設定して、新たにデプロイされたクラスターにすばやくアクセスすることもできます。 - ユーザーの ROSA クラスターへのアクセスを取り消します。ROSA CLI または Web コンソールを使用して、ROSA クラスターへのアクセス権をユーザーから取り消すことができます。
-
ROSA クラスターを削除します。ROSA CLI (
rosa) を使用して、ROSA クラスターを削除できます。
9.2.2. 関連情報
- ROSA デプロイメントワークフローを使用して AWS Security Token Service (STS) を使用するクラスターを作成する方法については、ROSA with STS デプロイメントワークフローについて を参照してください。
- アイデンティティープロバイダーの設定
- クラスターの削除
- クラスターへのアクセスの削除
- クラスターおよびユーザーを作成するためのコマンドのクイックリファレンス
9.3. 必要な AWS サービスクォータ
Red Hat OpenShift Service on AWS クラスターの実行に必要な Amazon Web Service (AWS) サービスクォータの一覧を確認します。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.3.1. 必要な AWS サービスクォータ
以下の表は、Red Hat OpenShift Service on AWS クラスターを作成し、実行するために必要な AWS サービスクォータおよびレベルを説明します。
AWS SDK を使用すると、ROSA はクォータをチェックできますが、AWS SDK の計算では、既存の使用量が考慮されません。そのため、クォータチェックが AWS SDK で合格しても、クラスターの作成が失敗する可能性があります。この問題を修正するには、クォータを増やします。
特定のクォータを変更または増やす必要がある場合は、Amazon のドキュメントの requesting a quota inscrease を参照してください。大きなクォータリクエストはレビューのために Amazon サポートに送信され、承認されるまでに時間がかかります。クォータリクエストが緊急の場合は、AWS サポートにお問い合わせください。
オンデマンド標準 (A、C、D、H、I、M、R、T、Z) Amazon EC2 インスタンスの場合、ROSA クラスターを作成するには 100 個以上の vCPU が必要です。クォータの引き上げをリクエストするには、AWS コンソール内で Service Quotas コンソールを開きます。
表9.1 ROSA に必要なサービスクォータ
| クォータ名 | サービスコード | クォータコード | デフォルト | 最小要件 | 説明 |
|---|---|---|---|---|---|
| オンデマンド標準 (A、C、D、H、I、M、R、T、Z) インスタンスの実行 | ec2 | L-1216C47A | 100 | 100 | オンデマンド標準 (A、C、D、H、I、M、R、T、Z) インスタンスの実行に割り当てられる vCPU の最大数。 デフォルト値の 5 vCPU は、ROSA クラスターを作成するには不十分です。ROSA では、クラスター作成に必要な vCPU は最低 100 個です。 |
| 汎用 SSD (gp2) ボリュームストレージのストレージ (TiB 単位) | ebs | L-D18FCD1D | 50 | 300 | このリージョンの汎用 SSD (gp2) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。 |
| 汎用 SSD (gp3) ボリュームストレージのストレージ (TiB 単位) | ebs | L-7A658B76 | 50 | 300 | このリージョンの汎用 SSD (gp3) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。 最適なパフォーマンスを得るには、300 TiB のストレージが最低限必要です。 |
| プロビジョンド IOPS SSD (io1) ボリュームのストレージ (TiB 単位) | ebs | L-FD252861 | 50 | 300 | このリージョンのプロビジョンド IOPS SSD (io1) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。 最適なパフォーマンスを得るには、300 TiB のストレージが最低限必要です。 |
表9.2 一般的な AWS サービスクォータ
| クォータ名 | サービスコード | クォータコード | デフォルト | 最小要件 | 説明 |
|---|---|---|---|---|---|
| EC2-VPC Elastic IP の数 | ec2 | L-0263D0A3 | 5 | 5 | このリージョンで EC2-VPC に割り当てることができる Elastic IP アドレスの最大数。 |
| リージョンあたりの VPC | vpc | L-F678F1CE | 5 | 5 | リージョンあたりの VPC の最大数。このクォータは、リージョンあたりのインターネットゲートウェイの最大数に直接関係しています。 |
| リージョンあたりのインターネットゲートウェイ | vpc | L-A4707A72 | 5 | 5 | リージョンあたりのインターネットゲートウェイの最大数。このクォータは、リージョンあたりの VPC の最大数に直接関係しています。このクォータを増やすには、リージョンあたりの VPC の数を増やします。 |
| リージョンあたりのネットワークインターフェイス | vpc | L-DF5E4CA3 | 5,000 | 5,000 | リージョンあたりのネットワークインターフェイスの最大数。 |
| リージョンあたりのスナップショット | ebs | L-309BACF6 | 10,000 | 10,000 | リージョンあたりのスナップショットの最大数 |
| プロビジョンド IOPS SSD (Io1) ボリュームの IOPS | ebs | L-B3A130E6 | 300,000 | 300,000 | このリージョンのプロビジョンド IOPS SSD (io1) ボリューム全体にプロビジョニングできる IOPS の最大集計数。 |
| リージョンあたりのアプリケーションロードバランサー | elasticloadbalancing | L-53DA6B97 | 50 | 50 | |
| リージョンあたりの Classic Load Balancer | elasticloadbalancing | L-E9E9831D | 20 | 20 |
9.3.1.1. 関連情報
9.3.2. 次のステップ
9.3.3. 関連情報
9.4. AWS アカウントの設定
AWS の前提条件が完了したら、AWS アカウントを設定し、Red Hat OpenShift Service on AWS (ROSA) サービスを有効にします。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.4.1. AWS アカウントの設定
AWS アカウントを ROSA サービスを使用するように設定するには、以下の手順を実行します。
前提条件
- デプロイメントの前提条件およびポリシーを確認し、完了している。
- Red Hat アカウント がない場合は作成している。次に、確認リンクについてのメールを確認する。ROSA をインストールするには認証情報が必要です。
手順
使用する Amazon Web Services (AWS) アカウントにログインします。
実稼働クラスターを実行するには、専用の AWS アカウントを使用することが推奨されます。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。
AWS Organizations を使用しており、使用する予定の AWS アカウントにサービスコントロールポリシー (SCP) を適用する必要がある場合は、最小限必要な SCP についての詳細を AWS 前提条件で確認してください。
クラスター作成プロセスの一環として、
rosaはosdCcsAdminIAM ユーザーを作成します。このユーザーは、AWS CLI の設定時に指定する IAM 認証情報を使用します。注記このユーザーは
Programmaticアクセスを有効にしており、AdministratorAccessポリシーがこれに割り当てられています。AWS コンソールで ROSA サービスを有効にします。
- AWS アカウント にサインインします。
- ROSA を有効にするには、ROSA service に移動し、Enable OpenShift を選択します。
AWS CLI をインストールし、設定します。
AWS コマンドラインインターフェイスのドキュメントを参照し、オペレーティングシステムの AWS CLI を インストール し、設定 します。
.aws/credentialsファイルで正しいaws_access_key_idおよびaws_secret_access_keyを指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。デフォルトの AWS リージョンを設定します。
注記環境変数を使用してデフォルトの AWS リージョンを設定することが推奨されます。
ROSA は以下の優先順位でリージョンを評価します。
-
--regionフラグを指定してrosaコマンドを実行する際に指定されるリージョン。 -
AWS_DEFAULT_REGION環境変数に設定されるリージョン。AWS ドキュメントの Environment variables to configure the AWS CLI を参照してください。 - AWS 設定ファイルで設定されるデフォルトのリージョン。AWS ドキュメントの Quick configuration with aws configure を参照してください。
-
オプション: AWS の名前付きプロファイルを使用して AWS CLI 設定および認証情報を設定します。
rosaは以下の優先順位で AWS の名前付きプロファイルを評価します。-
rosaコマンドを--profileフラグを指定して実行する場合に指定されるプロファイル。 -
AWS_PROFILE環境変数に設定されるプロファイル。AWS ドキュメントの Named profiles を参照してください。
-
以下のコマンドを実行して AWS API をクエリーし、AWS CLI がインストールされ、正しく設定されていることを確認します。
$ aws sts get-caller-identity
出力例
--------------------------------------------------------------------------------- | GetCallerIdentity | +-------------------------------------------------------------------------------+ |+-----------------------------------+-----------------------+-----------------+| || Account | Arn | UserID || |+-----------------------------------+-----------------------+-----------------+| || <account_name> | arn:aws:iam<string>:user:name | <userID> || |+-----------------------------------+-----------------------+-----------------+|
これらの手順を完了したら、ROSA をインストールします。
9.4.2. 次のステップ
9.4.3. 関連情報
9.5. Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) のインストール
AWS アカウントを設定したら、Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をインストールし、設定します。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.5.1. ROSA CLI のインストールと設定
Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をインストールし、設定します。OpenShift CLI (oc) をインストールし、ROSA CLI (rosa) を使用して、必要な AWS リソースクォータが利用可能かどうかを確認することもできます。
前提条件
- AWS の前提条件および ROSA ポリシーを確認し、完了している。
- Red Hat アカウント がない場合は作成している。次に、確認リンクについてのメールを確認する。ROSA をインストールするには認証情報が必要です。
- AWS アカウントを設定し、AWS アカウントに ROSA サービスを有効にしている。
手順
Red Hat OpenShift Service on AWS コマンドラインインターフェイス (CLI) の
rosaをインストールします。- お使いのオペレーティングシステム用の ROSA CLI の 最新リリース をダウンロードします。
-
オプション:
rosaにダウンロードした実行可能ファイルの名前を変更します。本書では、rosaを使用して実行可能ファイルを参照します。 オプション:
rosaをパスに追加します。例
$ mv rosa /usr/local/bin/rosa
以下のコマンドを実行して、インストールを確認します。
$ rosa
出力例
Command line tool for Red Hat OpenShift Service on AWS. For further documentation visit https://access.redhat.com/documentation/ja-jp/red_hat_openshift_service_on_aws Usage: rosa [command] Available Commands: completion Generates completion scripts create Create a resource from stdin delete Delete a specific resource describe Show details of a specific resource download Download necessary tools for using your cluster edit Edit a specific resource grant Grant role to a specific resource help Help about any command init Applies templates to support Red Hat OpenShift Service on AWS install Installs a resource into a cluster link Link a ocm/user role from stdin list List all resources of a specific type login Log in to your Red Hat account logout Log out logs Show installation or uninstallation logs for a cluster revoke Revoke role from a specific resource uninstall Uninstalls a resource from a cluster unlink UnLink a ocm/user role from stdin upgrade Upgrade a resource verify Verify resources are configured correctly for cluster install version Prints the version of the tool whoami Displays user account information Flags: --color string Surround certain characters with escape sequences to display them in color on the terminal. Allowed options are [auto never always] (default "auto") --debug Enable debug mode. -h, --help help for rosa Use "rosa [command] --help" for more information about a command.オプション: ROSA CLI のコマンド補完スクリプトを生成します。以下の例では、Linux マシン用の Bash 補完スクリプトを生成します。
$ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
オプション: 既存のターミナルから ROSA CLI のコマンド補完を有効にします。次の例では、Linux マシン上の既存のターミナルで
rosaの Bash 補完を有効にします。$ source /etc/bash_completion.d/rosa
rosaで Red Hat アカウントにログインします。以下のコマンドを入力します。
$ rosa login
<my_offline_access_token>をトークンに置き換えます。出力例
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>
出力例
I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'
以下のコマンドを実行して、AWS アカウントに必要なパーミッションがあることを確認します。
$ rosa verify permissions
出力例
I: Validating SCP policies... I: AWS SCP policies ok
注記このコマンドは、AWS Security Token Service(STS) を使用しない ROSA クラスターに対してのみパーミッションを検証します。
AWS アカウントに、Red Hat OpenShift Service on AWS クラスターにデプロイするのに必要なクォータがあることを確認します。
$ rosa verify quota --region=us-west-2
出力例
I: Validating AWS quota... I: AWS quota ok
注記AWS クォータはリージョンによって異なる場合があります。エラーが発生した場合は、別のリージョンを試してください。
クォータを増やす必要がある場合は、AWS コンソール に移動し、失敗したサービスについてクォータの増加を要求します。
パーミッションとクォータの両方のチェックにパスしたら、次のステップに進みます。
クラスターデプロイメント用に AWS アカウントを準備します。
以下のコマンドを実行して、Red Hat および AWS の認証情報が正しく設定されていることを確認します。AWS アカウント ID、デフォルトのリージョンおよび ARN が予想される内容と一致していることを確認します。現時点では、
OCMで始まる行を安全に無視できます。$ rosa whoami
出力例
AWS Account ID: 000000000000 AWS Default Region: us-east-2 AWS ARN: arn:aws:iam::000000000000:user/hello OCM API: https://api.openshift.com OCM Account ID: 1DzGIdIhqEWyt8UUXQhSoWaaaaa OCM Account Name: Your Name OCM Account Username: you@domain.com OCM Account Email: you@domain.com OCM Organization ID: 1HopHfA2hcmhup5gCr2uH5aaaaa OCM Organization Name: Red Hat OCM Organization External ID: 0000000
AWS アカウントを初期化します。この手順では、クラスターのデプロイメントおよび管理用に AWS アカウントを準備するために CloudFormation テンプレートを実行します。このステップには通常、完了までに 1 - 2 分の時間がかかります。
$ rosa init
出力例
I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com' I: Validating AWS credentials... I: AWS credentials are valid! I: Validating SCP policies... I: AWS SCP policies ok I: Validating AWS quota... I: AWS quota ok I: Ensuring cluster administrator user 'osdCcsAdmin'... I: Admin user 'osdCcsAdmin' created successfully! I: Verifying whether OpenShift command-line tool is available... E: OpenShift command-line tool is not installed. Run 'rosa download oc' to download the latest version, then add it to your PATH.
ROSA CLI から OpenShift CLI (
oc) をインストールします。以下のコマンドを入力して、最新バージョンの
ocCLI をダウンロードします。$ rosa download oc
-
ocCLI をダウンロードした後に、これを展開し、パスに追加します。 以下のコマンドを実行して、
ocCLI が正常にインストールされていることを確認します。$ rosa verify oc
ROSA のインストール後に、クラスターを作成する準備が整います。
9.5.2. 次のステップ
9.5.3. 関連情報
9.6. AWS STS を使用せずに ROSA クラスターの作成
環境を設定して Red Hat OpenShift Service on AWS (ROSA) をインストールした後に、クラスターを作成します。
本書では、ROSA クラスターを設定する方法を説明します。または、AWS PrivateLink を使用して ROSA クラスターを作成できます。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.6.1. クラスターの作成
ROSA CLI (rosa) を使用して Red Hat OpenShift Service on AWS (ROSA) クラスターを作成できます。
前提条件
Red Hat OpenShift Service on AWS がインストールされている。
現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。
手順
デフォルト設定を使用するか、対話モードでカスタム設定を指定してクラスターを作成できます。クラスターの作成時に他のオプションを表示するには、
rosa create cluster --helpコマンドを入力します。クラスターの作成には最長で 40 分かかる場合があります。
注記実稼働環境のワークロードには、複数のアベイラビリティーゾーン (AZ) の使用が推奨されます。デフォルトは単一のアベイラビリティーゾーンです。
--helpを使用してこのオプションを手動で設定する方法の例を確認するか、この設定に関するプロンプトを表示する対話モードを使用します。デフォルトのクラスター設定でクラスターを作成するには、以下を実行します。
$ rosa create cluster --cluster-name=<cluster_name>
出力例
I: Creating cluster with identifier '1de87g7c30g75qechgh7l5b2bha6r04e' and name 'rh-rosa-test-cluster1' I: To view list of clusters and their status, run `rosa list clusters` I: Cluster 'rh-rosa-test-cluster1' has been created. I: Once the cluster is 'Ready' you will need to add an Identity Provider and define the list of cluster administrators. See `rosa create idp --help` and `rosa create user --help` for more information. I: To determine when your cluster is Ready, run `rosa describe cluster rh-rosa-test-cluster1`.
対話式プロンプトを使用してクラスターを作成するには、以下を実行します。
$ rosa create cluster --interactive
ネットワーク IP 範囲を設定するには、以下のデフォルト範囲を使用できます。manual モードを使用する場合の詳細は、
rosa create cluster --help | grep cidrコマンドを使用します。対話モードでは、設定の入力を求めるプロンプトが出されます。- ノード CIDR: 10.0.0.0/16
- Service CIDR: 172.30.0.0/16
- Pod CIDR: 10.128.0.0/14
以下のコマンドを実行して Pod のステータスを確認します。クラスターの作成時に、出力の
Stateフィールドはpendingからinstallingに移行し、最終的にreadyに移行します。$ rosa describe cluster --cluster=<cluster_name>
出力例
Name: rh-rosa-test-cluster1 OpenShift Version: 4.6.8 DNS: *.example.com ID: uniqueidnumber External ID: uniqueexternalidnumber AWS Account: 123456789101 API URL: https://api.rh-rosa-test-cluster1.example.org:6443 Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.example.or Nodes: Master: 3, Infra: 2, Compute: 2 Region: us-west-2 Multi-AZ: false State: ready Channel Group: stable Private: No Created: Jan 15 2021 16:30:55 UTC Details Page: https://console.redhat.com/examplename/details/idnumber
注記インストールが失敗した場合や、40 分後に
Stateフィールドがreadyに変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。
$ rosa logs install --cluster=<cluster_name> --watch
9.6.2. 次のステップ
9.6.3. 関連情報
9.7. プライベートクラスターの設定
Red Hat OpenShift Service on AWS クラスターをプライベートにし、内部アプリケーションを企業ネットワーク内でホストできるようにします。さらに、プライベートクラスターは、セキュリティーを強化するために内部 API エンドポイントのみを持つように設定できます。
プライバシー設定は、クラスターの作成時またはクラスターの設定後に設定できます。
9.7.1. 新規クラスターでのプライベートクラスターの有効化
新規 Red Hat OpenShift Service on AWS クラスターの作成時にプライベートクラスター設定を有効にすることができます。
プライベートクラスターは AWS セキュリティートークンサービス (STS) と併用できません。ただし、STS は AWS PrivateLink クラスターをサポートします。
前提条件
AWS VPC ピアリング、VPN、DirectConnect、または TransitGateway がプライベートアクセスを許可するよう設定されている。
手順
以下のコマンドを入力して新規プライベートクラスターを作成します。
$ rosa create cluster --cluster-name=<cluster_name> --private
または、各クラスターオプションについて --interactive を使用してプロンプトを表示します。
9.7.2. 既存クラスターでのプライベートクラスターの有効化
クラスターを作成したら、後でクラスターをプライベートにすることができます。
プライベートクラスターは AWS セキュリティートークンサービス (STS) と併用できません。ただし、STS は AWS PrivateLink クラスターをサポートします。
前提条件
AWS VPC ピアリング、VPN、DirectConnect、または TransitGateway がプライベートアクセスを許可するよう設定されている。
手順
以下のコマンドを実行して、既存のクラスターで --private オプションを有効にします。
$ rosa edit cluster --cluster=<cluster_name> --private
クラスターをプライベートとパブリックの間で移行するには、完了までに数分の時間がかかる場合があります。
9.7.3. 関連情報
9.8. ROSA クラスターへのアクセスの削除
rosa コマンドラインを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターへのアクセスを削除します。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.8.1. ROSA CLI を使用した dedicated-admin アクセスの取り消し
dedicated-admin ユーザーのアクセス権を取り消すことができるのは、自分がクラスターを作成したユーザー、組織管理者ユーザー、またはスーパー管理者ユーザーの場合です。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 取り消す権限を持つユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
ユーザーの
dedicated-adminアクセスを取り消すには、次のコマンドを入力してください。$ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
以下のコマンドを実行して、ユーザーに
dedicated-adminアクセスがなくなったことを確認します。出力には、取り消したユーザーが表示されません。$ oc get groups dedicated-admins
9.8.2. ROSA CLI を使用した cluster-admin アクセス権の取り消し
クラスターを作成したユーザーのみが、cluster-admin ユーザーのアクセスを取り消すことができます。
前提条件
- アイデンティティープロバイダー (IDP) をクラスターに追加している。
- 取り消す権限を持つユーザーの IDP ユーザー名がある。
- クラスターにログインしている。
手順
ユーザーの
cluster-adminアクセスを取り消すには、次のコマンドを入力してください。$ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
次のコマンドを入力して、そのユーザーが
cluster-adminアクセス権を失ったことを確認します。出力には、取り消したユーザーが表示されません。$ oc get groups cluster-admins
9.9. ROSA クラスターの削除
rosa コマンドラインを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターを削除します。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.9.1. 前提条件
Red Hat OpenShift Service on AWS が VPC を作成した場合は、クラスターを正常に削除する前に、クラスターから次のアイテムを削除する必要があります。
- VPN 設定や VPC ピアリング接続などのネットワーク設定
- VPC に追加された追加サービス
これらの設定とサービスが残っている場合、クラスターは適切に削除されません。
9.9.2. ROSA クラスターとクラスター固有の IAM リソースの削除
ROSA CLI (rosa) または Red Hat OpenShift Cluster Manager を使用して、AWS Security Token Service (STS) クラスターを備えた Red Hat OpenShift Service on AWS (ROSA) を削除できます。
クラスターを削除した後、ROSA CLI (rosa) を使用して、AWS アカウントのクラスター固有の Identity and Access Management (IAM) リソースをクリーンアップできます。クラスター固有のリソースには、Operator ロールと OpenID Connect (OIDC) プロバイダーが含まれます。
IAM リソースは、クラスターの削除およびクリーンアップのプロセスで使用されるため、クラスターの削除は、IAM リソースを削除する前に完了する必要があります。
アドオンがインストールされている場合、クラスターの削除前にアドオンをアンインストールするため、削除により多くの時間がかかります。所要時間は、アドオンの数とサイズによって異なります。
インストール時に VPC を作成したクラスターが削除されると、関連するインストールプログラムで作成された VPC も削除され、同じ VPC を使用しているすべてのクラスターが失敗します。さらに、インストールプログラムによって作成されるリソースと同じ tagSet のキーと値のペアで作成され、owned の値でラベルが付いたリソースも削除されます。
前提条件
- ROSA クラスターをインストールしました。
-
インストールホストに、最新の ROSA CLI (
rosa) をインストールして設定している。
手順
クラスター ID、クラスター固有 Operator ロールの Amazon Resource Names (ARN)、および OIDC プロバイダーのエンドポイント URL を取得します。
$ rosa describe cluster --cluster=<cluster_name> 1- 1
<cluster_name>は、クラスター名に置き換えます。
出力例
Name: mycluster ID: 1s3v4x39lhs8sm49m90mi0822o34544a 1 ... Operator IAM Roles: 2 - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-credential-operator-cloud-crede - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-image-registry-installer-cloud-creden - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cluster-csi-drivers-ebs-cloud-credent - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-network-config-controller-cloud State: ready Private: No Created: May 13 2022 11:26:15 UTC Details Page: https://console.redhat.com/openshift/details/s/296kyEFwzoy1CREQicFRdZybrc0 OIDC Endpoint URL: https://rh-oidc.s3.us-east-1.amazonaws.com/1s5v4k39lhm8sm59m90mi0822o31844a 3
重要クラスターが削除された後、ROSA CLI (
rosa) を使用してクラスター固有の STS リソースを削除するには、クラスター ID が必要です。クラスターを削除します。
Red Hat OpenShift Cluster Manager を使用してクラスターを削除するには:
- OpenShift Cluster Manager Hybrid Cloud Console に移動します。
-
クラスターの横にあるオプションメニュー
をクリックし、Delete cluster を選択します。
- プロンプトでクラスターの名前を入力し、Delete をクリックします。
ROSA CLI (
rosa) を使用してクラスターを削除するには:以下のコマンドを実行してクラスターを削除し、ログを監視し、
<my-cluster>はクラスターの名前または ID に置き換えます。$ rosa delete cluster --cluster=<cluster_name> --watch
重要Operator ロールと OIDC プロバイダーを削除する前に、クラスターの削除が完了するのを待つ必要があります。クラスター固有の Operator ロールは、OpenShift Operator によって作成されるリソースをクリーンアップするために必要です。Operator は、OIDC プロバイダーを利用して認証を行います。
クラスター Operator が認証に使用する OIDC プロバイダーを削除します。
$ rosa delete oidc-provider -c <cluster_id> --mode auto 1- 1
<cluster_id>をクラスターの ID に置き換えてください。
注記-yオプションを使用すると、プロンプトに対して自動的にはいと答えることができます。オプション。クラスター固有の Operator IAM ロールを削除します。
重要アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。
$ rosa delete operator-roles -c <cluster_id> --mode auto 1- 1
<cluster_id>をクラスターの ID に置き換えてください。
トラブルシューティング
- IAM ロールが欠落しているためにクラスターを削除できない場合は、削除できないクラスターの修復 を参照してください。
他の理由でクラスターを削除できない場合:
- Hybrid Cloud Console で保留中のクラスターのアドオンがないことを確認します。
- Amazon Web Console で、すべての AWS リソースと依存関係が削除されていることを確認します。
9.10. クラスターおよびユーザーを作成するためのコマンドのクイックリファレンス
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.10.1. コマンドクイックリファレンスの一覧
最初のクラスターおよびユーザーがすでに作成されている場合、この一覧は追加のクラスターおよびユーザーの作成時のコマンドクイックリファレンスの一覧として機能します。
## Configures your AWS account and ensures everything is setup correctly $ rosa init ## Starts the cluster creation process (~30-40minutes) $ rosa create cluster --cluster-name=<cluster_name> ## Connect your IDP to your cluster $ rosa create idp --cluster=<cluster_name> --interactive ## Promotes a user from your IDP to dedicated-admin level $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name> ## Checks if your install is ready (look for State: Ready), ## and provides your Console URL to login to the web console. $ rosa describe cluster --cluster=<cluster_name>