ROSA Classic クラスターのインストール


Red Hat OpenShift Service on AWS 4

Red Hat OpenShift Service on AWS (ROSA) クラスターのインストール、アクセス、および削除

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、Red Hat OpenShift Service on AWS (ROSA) クラスターをインストールする方法を説明します。このドキュメントでは、クラスターへのアクセス方法、ID プロバイダーの設定方法、クラスターアクセスの取り消し方法、およびクラスターの削除方法も詳しく説明します。

第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 クラスターをデプロイする手順は、カスタマイズを使用したクラスターの作成 を参照してください。

次のステップ

注記

ROSA CLI 1.2.7 では、新しいクラスターの OIDC プロバイダーエンドポイント URL 形式に変更が導入されています。Red Hat OpenShift Service on AWS の OIDC プロバイダー URL は、リージョン別ではなくなりました。AWS CloudFront の実装により、アクセス速度と復元力が向上し、レイテンシーが短縮されます。

この変更は ROSA CLI 1.2.7 以降を使用して作成した新しいクラスターにのみ適用されるため、既存の OIDC プロバイダー設定の移行はサポートされていません。

1.1. デフォルトのクラスター仕様の概要

デフォルトのインストールオプションを使用して、Red Hat OpenShift Service on AWS (ROSA) with Hosted Control Plane (HCP) をすばやく作成できます。次の要約では、デフォルトのクラスター仕様を説明します。

Expand
表1.1 STS を使用する ROSA クラスターのデフォルトの仕様
コンポーネントデフォルトの仕様

アカウントおよびロール

  • デフォルトの IAM ロールの接頭辞: ManagedOpenShift
  • デフォルトの IAM ロールの接頭辞: HCP-ROSA

クラスター設定

  • デフォルトのクラスターバージョン: 最新
  • Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用したインストール用のデフォルトの AWS リージョン: us-east-1 (US East, North Virginia)
  • ROSA CLI (rosa) を使用したインストールのデフォルトの AWS リージョン: aws CLI 設定によって定義されます。
  • デフォルトの EC2 IMDS エンドポイント (v1 と v2 の両方) が有効になっています
  • 可用性: データプレーンの単一ゾーン
  • ユーザー定義プロジェクトの監視: 有効
  • クラスター管理者ロールは作成されない

コントロールプレーンノードの設定

  • コントロールプレーンノードのインスタンスタイプ: m5.2xlarge (8 vCPU, 32 GiB RAM)
  • コントロールプレーンノード数: 3

コンピュートノードマシンプール

  • コンピュートノードインスタンスタイプ: m5.xlarge (4 vCPU 16, GiB RAM)
  • コンピュートノード数: 2
  • 自動スケーリング: 無効
  • 追加のノードラベルなし

ネットワーク設定

  • クラスターのプライバシー: パブリック
  • 独自の Virtual Private Cloud (VPC) を設定しておく必要があります。
  • クラスター全体のプロキシーは設定されていません。

Classless Inter-Domain Routing (CIDR) の範囲

  • Machine CIDR: 10.0.0.0/16
  • Service CIDR: 172.30.0.0/16
  • Pod CIDR: 10.128.0.0/14
  • Host prefix: /23

    注記

    静的 IP アドレス 172.20.0.1 は、内部 Kubernetes API アドレス用に予約されています。マシン、Pod、およびサービスの CIDR 範囲は、この IP アドレスと競合してはなりません。

クラスターのロールおよびポリシー

  • Operator ロールおよび OpenID Connect (OIDC) プロバイダーの作成に使用されるモード: auto

    注記

    Hybrid Cloud Console で OpenShift Cluster Manager を使用してインストールする場合、auto モードには管理者権限が割り当てられた OpenShift Cluster Manager ロール (ocm-role) が必要です。

  • デフォルトの Operator ロールの接頭辞: <cluster_name>-<4_digit_random_string>

ストレージ

  • ノードボリューム:

    • タイプ: AWS EBS GP3
    • デフォルトサイズ: 300 GiB (作成時に調整可能)
  • ワークロード永続ボリューム:

    • デフォルトの StorageClass: gp3-csi
    • プロビジョナー: ebs.csi.aws.com
    • 動的永続ボリュームのプロビジョニング

クラスター更新ストラテジー

  • 個別の更新
  • 1 時間のノード drain (Pod の退避) 猶予期間

1.2. AWS アカウントの関連付けについて

Red Hat Hybrid Cloud Console で Red Hat OpenShift Cluster Manager を使用して、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 を使用したクラスターのメンテナンスが可能になります。管理パーミッションにより、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールおよび OpenID Connect (OIDC) プロバイダーの自動デプロイが可能になります。

OpenShift Cluster Manager ロールで管理パーミッションを使用して、クラスターを迅速にデプロイできます。

ユーザーロール

ユーザー IAM ロールを作成し、Red Hat ユーザーアカウントにリンクします。Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。

ユーザーロールは、OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスターと必要な STS リソースをインストールするときに、お客様の AWS アイデンティティーを検証するために Red Hat によって使用されます。

1.3. PrivateLink ROSA クラスター以外の Amazon VPC 要件

Amazon VPC を作成するには、以下が必要です。

  • インターネットゲートウェイ
  • NAT ゲートウェイ
  • 必要なコンポーネントをインストールするためにインターネット接続のあるプライベートおよびパブリックサブネット。

Single-AZ クラスターには、少なくとも 1 つのプライベートサブネットとパブリックサブネットが必要で、Multi-AZ クラスターには 3 つ以上のプライベートサブネットとパブリックサブネットが必要です。

1.3.1. トラブルシューティング

クラスターのインストールに失敗した場合は、一般的なトラブルシューティングの問題を確認してください。

  • DHCP オプションセット にドメイン名が含まれていることを確認し、ドメイン名にスペースや大文字が含まれていないことを確認します。
  • VPC でカスタム DNS リゾルバーが使用されている場合 (DHCP オプションセットの ドメインネームサーバー フィールドが AmazonProvideDNS ではない)、Route53 で設定されているプライベートホストゾーンを適切に解決できることを確認します。

ROSA クラスターのインストールのトラブルシューティングの詳細は、Red Hat OpenShift Service on AWS インストールのトラブルシューティング を参照してください。

1.3.1.1. サポートの利用

追加の サポート が必要な場合は、Red Hat カスタマーポータルにアクセスして、ナレッジベースの記事の確認、サポートケースの作成、追加の製品ドキュメントおよびリソースの確認を行ってください。

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 Hybrid Cloud Console で Red Hat OpenShift Cluster Manager を使用して、AWS Security Token Service (STS) を使用する 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 組織で組織管理者権限がある。

手順

  1. 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
    Copy to Clipboard Toggle word wrap

    ロールをすばやく作成してリンクするには、プロンプトでデフォルト値を選択します。

  2. ユーザーロールを作成し、Red Hat ユーザーアカウントにリンクします。

    $ rosa create user-role
    Copy to Clipboard Toggle word wrap

    ロールをすばやく作成してリンクするには、プロンプトでデフォルト値を選択します。

    注記

    Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。

1.4.2. アカウント全体の STS ロールおよびポリシーの作成

Red Hat Hybrid Cloud Console を使用して AWS Security Token Service (STS) を使用する ROSA (クラシック) クラスターを作成する前に、Operator ポリシーを含む、必要なアカウント全体の STS ロールとポリシーを作成します。

前提条件

  • STS を使用する ROSA の AWS の前提条件を完了している。
  • 利用可能な AWS サービスクォータがある。
  • AWS コンソールで ROSA サービスを有効にした。
  • インストールホストに最新の ROSA CLI (rosa) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。
  • ROSA CLI を使用して Red Hat アカウントにログインしている。

手順

  1. AWS アカウントで既存のロールとポリシーを確認します。

    $ rosa list account-roles
    Copy to Clipboard Toggle word wrap
  2. ロールとポリシーが AWS アカウントに存在しない場合は、必要なアカウント全体の AWS IAM STS ロールとポリシーを作成します。

    $ rosa create account-roles
    Copy to Clipboard Toggle word wrap

    プロンプトでデフォルト値を選択して、ロールとポリシーをすばやく作成します。

1.4.3. OpenID Connect 設定の作成

ROSA with HCP クラスターを作成する場合は、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。

前提条件

  • ROSA with HCP の AWS の前提条件を満たしている。
  • インストールホストに最新の ROSA CLI rosa をインストールして設定した。

手順

  1. AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。

    $ rosa create oidc-config --mode=auto --yes
    Copy to Clipboard Toggle word wrap

    このコマンドは次の情報を返します。

    出力例

    ? 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'
    Copy to Clipboard Toggle word wrap

    クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、--mode auto のこの値が提供されます。それ以外の場合は、--mode manualaws CLI 出力に基づいてこれらの値を決定する必要があります。

  2. オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。

    $ export OIDC_ID=<oidc_config_id>
    1
    Copy to Clipboard Toggle word wrap
    1
    上記の出力例では、OIDC 設定 ID は 13cdr6b です。
    • 次のコマンドを実行して、変数の値を表示します。

      $ echo $OIDC_ID
      Copy to Clipboard Toggle word wrap

      出力例

      13cdr6b
      Copy to Clipboard Toggle word wrap

検証

  • ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。

    $ rosa list oidc-config
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

1.4.4. OpenShift Cluster Manager を使用してデフォルトオプションでクラスターを作成する

Red Hat Hybrid Cloud Console で Red Hat OpenShift Cluster Manager を使用して、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 CLI のバージョンを確認するには、rosa version を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。
  • AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
  • AWS アカウントを Red Hat 組織に関連付けている。アカウントを関連付けたときに、管理パーミッションを OpenShift Cluster Manager ロールに適用している。詳細な手順は、AWS アカウントを Red Hat 組織に関連付ける を参照してください。
  • 必要なアカウント全体の STS ロールとポリシーを作成している。詳細な手順は、アカウント全体の STS ロールおよびポリシーの作成 を参照してください。

手順

  1. OpenShift Cluster Manager に移動し、Create cluster を選択します。
  2. Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
  3. AWS アカウント ID が Associated AWS accounts ドロップダウンメニューに表示されていること、およびインストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントロールの Amazon Resource Names (ARN) が Accounts and roles ページに表示されていることを確認します。

    注記

    AWS アカウント ID が表示されていない場合は、AWS アカウントが Red Hat 組織に正常に関連付けられていることを確認してください。アカウントロール ARN が表示されていない場合は、必要なアカウント全体の STS ロールが AWS アカウントに存在することを確認してください。

  4. Next をクリックします。
  5. Cluster details ページで、Cluster name フィールドにクラスターの名前を入力します。残りのフィールドはデフォルト値のままにして、Next をクリックします。

    注記

    クラスターを作成すると、openshiftapps.com にプロビジョニングされたクラスターのサブドメインとしてドメイン接頭辞が生成されます。クラスター名が 15 文字以下の場合は、その名前がドメイン接頭辞に使用されます。クラスター名が 15 文字を超える場合、ドメイン接頭辞は 15 文字の文字列としてランダムに生成されます。サブドメインをカスタマイズするには、Create custom domain prefix チェックボックスをオンにし、Domain prefix フィールドにドメイン接頭辞名を入力します。

  6. クラスターをすばやくデプロイするには、Cluster settingsNetworkingCluster roles and policies、および Cluster updates ページのデフォルトのオプションをそのままにして、各ページで Next をクリックします。
  7. Review your ROSA cluster 確認ページで、選択内容の概要を確認し、Create cluster をクリックしてインストールを開始します。
  8. オプション: Overview タブで、Delete Protection: Disabled のすぐ下にある Enable を選択して、削除保護機能を有効にできます。これにより、クラスターが削除されなくなります。削除保護を無効にするには、Disable を選択します。デフォルトでは、クラスターは削除保護機能が無効になった状態で作成されます。

    検証

    • クラスターの 概要 ページでインストールの進行状況を確認できます。同じページでインストールのログを表示できます。そのページの Details セクションの StatusReady として表示されると、クラスターは準備が完了した状態になります。

      注記

      インストールが失敗するか、約 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 CLI のバージョンを確認するには、rosa version を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。
  • ROSA CLI を使用して Red Hat アカウントにログインしている。
  • AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。

手順

  1. Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。

    $ rosa create account-roles --mode auto
    Copy to Clipboard Toggle word wrap
    注記

    auto モードを使用する場合は、任意で -y 引数を指定して対話式プロンプトを回避し、操作を自動的にチェックできます。

  2. デフォルト設定を使用して、STS を使用するクラスターを作成します。デフォルトを使用する場合は、最新の安定した OpenShift バージョンがインストールされます。

    $ rosa create cluster --cluster-name <cluster_name> \ 
    1
    
    --sts --mode auto 
    2
    Copy to Clipboard Toggle word wrap
    1
    <cluster_name> は、クラスター名に置き換えます。
    2
    --mode auto を指定すると、rosa create cluster コマンドは、クラスター固有の Operator IAM ロールおよび OIDC プロバイダーを自動的に作成します。Operator は、OIDC プロバイダーを利用して認証を行います。
    注記

    クラスター名が 15 文字を超える場合、*.openshiftapps.com にプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。

    サブドメインをカスタマイズするには、--domain-prefix フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。

  3. クラスターのステータスを確認します。

    $ rosa describe cluster --cluster <cluster_name|cluster_id>
    Copy to Clipboard Toggle word wrap

    以下の 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 のサポートを受ける を参照してください。

  4. OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。

    $ rosa logs install --cluster <cluster_name|cluster_id> --watch 
    1
    Copy to Clipboard Toggle word wrap
    1
    --watch フラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。

1.6. 次のステップ

第2章 カスタマイズを使用した STS を使用する ROSA クラスターの作成

カスタマイズを使用して、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 モードを使用することを選択した場合、クラスターのインストールは、クラスター固有の Operator のロールと 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 を使用すると、提供されるコマンドを実行して、クラスターの Operator ロールと OIDC プロバイダーを作成できます。

auto モードを使用する場合、OpenShift Cluster Manager は、OpenShift Cluster Manager IAM ロールを通じて提供されるパーミッションを使用して、Operator ロールと OIDC プロバイダーを自動的に作成します。この機能を使用するには、ロールに管理者権限を適用する必要があります。

2.2. AWS アカウントの関連付けについて

Red Hat Hybrid Cloud Console で Red Hat OpenShift Cluster Manager を使用して、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 を使用したクラスターのメンテナンスが可能になります。管理パーミッションにより、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールおよび OpenID Connect (OIDC) プロバイダーの自動デプロイが可能になります。

OpenShift Cluster Manager ロールで管理パーミッションを使用して、クラスターを迅速にデプロイできます。

ユーザーロール

ユーザー IAM ロールを作成し、Red Hat ユーザーアカウントにリンクします。Red Hat ユーザーアカウントは、OpenShift Cluster Manager ロールにリンクされている Red Hat 組織に存在する必要があります。

ユーザーロールは、OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスターと必要な STS リソースをインストールするときに、お客様の AWS アイデンティティーを検証するために Red Hat によって使用されます。

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) を参照してください。

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 つ以上のプライベートサブネットとパブリックサブネットが必要です。

2.5.1. トラブルシューティング

クラスターのインストールに失敗した場合は、一般的なトラブルシューティングの問題を確認してください。

  • DHCP オプションセット にドメイン名が含まれていることを確認し、ドメイン名にスペースや大文字が含まれていないことを確認します。
  • VPC でカスタム DNS リゾルバーが使用されている場合 (DHCP オプションセットの ドメインネームサーバー フィールドが AmazonProvideDNS ではない)、Route53 で設定されているプライベートホストゾーンを適切に解決できることを確認します。

ROSA クラスターのインストールのトラブルシューティングの詳細は、Red Hat OpenShift Service on AWS インストールのトラブルシューティング を参照してください。

2.5.1.1. サポートの利用

追加の サポート が必要な場合は、Red Hat カスタマーポータルにアクセスして、ナレッジベースの記事の確認、サポートケースの作成、追加の製品ドキュメントおよびリソースの確認を行ってください。

2.6. OpenID Connect 設定の作成

ROSA with HCP クラスターを作成する場合は、クラスターを作成する前に OpenID Connect (OIDC) 設定を作成できます。この設定は、OpenShift Cluster Manager で使用するために登録されています。

前提条件

  • ROSA with HCP の AWS の前提条件を満たしている。
  • インストールホストに最新の ROSA CLI rosa をインストールして設定した。

手順

  1. AWS リソースと一緒に OIDC 設定を作成するには、次のコマンドを実行します。

    $ rosa create oidc-config --mode=auto --yes
    Copy to Clipboard Toggle word wrap

    このコマンドは次の情報を返します。

    出力例

    ? 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'
    Copy to Clipboard Toggle word wrap

    クラスターを作成するときは、OIDC 設定 ID を指定する必要があります。CLI 出力では、--mode auto のこの値が提供されます。それ以外の場合は、--mode manualaws CLI 出力に基づいてこれらの値を決定する必要があります。

  2. オプション: OIDC 設定 ID を変数として保存して、後で使用できます。次のコマンドを実行して変数を保存します。

    $ export OIDC_ID=<oidc_config_id>
    1
    Copy to Clipboard Toggle word wrap
    1
    上記の出力例では、OIDC 設定 ID は 13cdr6b です。
    • 次のコマンドを実行して、変数の値を表示します。

      $ echo $OIDC_ID
      Copy to Clipboard Toggle word wrap

      出力例

      13cdr6b
      Copy to Clipboard Toggle word wrap

検証

  • ユーザー組織に関連付けられているクラスターで使用できる可能な OIDC 設定をリストできます。以下のコマンドを実行します。

    $ rosa list oidc-config
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

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 では使用できません。

前提条件

  • STS を使用する ROSA の AWS の前提条件を完了している。
  • 利用可能な AWS サービスクォータがある。
  • AWS コンソールで ROSA サービスを有効にした。
  • インストールホストに最新の ROSA CLI (rosa) をインストールして設定した。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。
  • AWS Elastic Load Balancing (ELB) サービスロールが AWS アカウントに存在することを確認した。
  • クラスター全体のプロキシーを設定する場合は、クラスターがインストールされている VPC からプロキシーにアクセスできることを確認している。プロキシーは VPC のプライベートサブネットからもアクセスできる必要があります。

手順

  1. OpenShift Cluster Manager に移動し、Create cluster を選択します。
  2. Create an OpenShift cluster ページの Red Hat OpenShift Service on AWS (ROSA) 行で Create cluster を選択します。
  3. AWS アカウントが自動的に検出されると、アカウント ID は 関連付けられた AWS アカウント ドロップダウンメニューに表示されます。AWS アカウントが自動的に検出されない場合は、Select an accountAssociate AWS account をクリックして、次の手順に従います。

    1. Authenticate ページで、rosa login コマンドの横にあるコピーボタンをクリックします。このコマンドには、OpenShift Cluster Manager API ログイントークンが含まれます。

      注記

      OpenShift Cluster Manager の OpenShift Cluster Manager API Token ページで API トークンをロードすることもできます。

    2. CLI でコピーしたコマンドを実行して、ROSA アカウントにログインします。

      $ rosa login --token=<api_login_token> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <api_login_token> を、コピーされたコマンドで提供されるトークンに置き換えます。

      出力例

      I: Logged in as '<username>' on 'https://api.openshift.com'
      Copy to Clipboard Toggle word wrap

    3. OpenShift Cluster Manager の Authenticate ページで、Next をクリックします。
    4. OCM role ページで、Basic OCM role または Admin OCM role コマンドの横にあるコピーボタンをクリックします。

      基本ロールにより、OpenShift Cluster Manager は ROSA に必要な AWS IAM ロールとポリシーを検出できます。管理者ロールは、ロールとポリシーの検出も可能にします。さらに、管理者ロールを使用すると、OpenShift Cluster Manager を使用して、クラスター固有の Operator ロールと OpenID Connect (OIDC) プロバイダーを自動的にデプロイできます。

    5. コピーしたコマンドを CLI で実行し、プロンプトに従って OpenShift Cluster Manager IAM ロールを作成します。次の例では、デフォルトのオプションを使用して基本的な OpenShift Cluster Manager IAM ロールを作成します。

      $ rosa create ocm-role
      Copy to Clipboard Toggle word wrap

      出力例

      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>'
      Copy to Clipboard Toggle word wrap

      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 組織アカウントにリンクします。
    6. 上記のコマンドで OpenShift Cluster Manager IAM ロールを Red Hat 組織アカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager OCM role ページから rosa link コマンドをコピーして実行します。

      $ rosa link ocm-role <arn> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <arn> を、前のコマンドの出力に含まれている OpenShift Cluster Manager IAM の ARN に置き換えます。
    7. OpenShift Cluster Manager OCM role ページで Next を選択します。
    8. User role ページで、User role コマンドのコピーボタンをクリックし、CLI でコマンドを実行します。OpenShift Cluster Manager でクラスターおよび必要なリソースをインストールすると、Red Hat はユーザーロールを使用して AWS Identity を確認します。

      プロンプトに従って、ユーザーロールを作成します。

      $ rosa create user-role
      Copy to Clipboard Toggle word wrap

      出力例

      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>'
      Copy to Clipboard Toggle word wrap

      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 ユーザーアカウントにリンクします。
    9. 上記のコマンドでユーザーロールを OpenShift Cluster Manager ユーザーアカウントにリンクしないことを選択した場合は、OpenShift Cluster Manager User role ページから rosa link コマンドをコピーして実行します。

      $ rosa link user-role <arn> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <arn> を、前のコマンドの出力に含まれているユーザーロールの ARN に置き換えます。
    10. OpenShift Cluster Manager User role ページで、Ok をクリックします。
    11. Accounts and roles ページの Associated AWS accounts ドロップダウンメニューに AWS アカウント ID が表示されていることを確認します。
    12. 必要なアカウントロールが存在しない場合は、Some account roles ARNs were not detected という通知が表示されます。rosa create account-roles コマンドの横にあるコピーバッファーをクリックし、CLI でコマンドを実行することにより、Operator ポリシーを含む AWS アカウント全体のロールおよびポリシーを作成できます。

      $ rosa create account-roles
      Copy to Clipboard Toggle word wrap

      出力例

      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.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
      Copy to Clipboard Toggle word wrap

      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 ロールとポリシーのリファレンス を参照してください。

    13. Accounts and roles ページで、Refresh ARNs をクリックし、インストーラー、サポート、ワーカー、およびコントロールプレーンのアカウントのロール ARN が表示されていることを確認します。

      クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、インストーラーロール ARN のドロップダウンリストが表示されます。クラスターで使用するインストーラーロールの ARN を選択します。クラスターは、選択したインストーラーロールに関連するアカウント全体のロールとポリシーを使用します。

  4. Next をクリックします。

    注記

    Accounts and roles ページが更新された場合は、すべての前提条件を読んで完了したことを確認するために、チェックボックスの再選択が求められる場合があります。

  5. Cluster details ページで、クラスターの名前を指定し、クラスターの詳細を指定します。

    1. Cluster name を追加します。
    2. オプション: クラスターを作成すると、openshiftapps.com にプロビジョニングされたクラスターのサブドメインとしてドメイン接頭辞が生成されます。クラスター名が 15 文字以下の場合は、その名前がドメイン接頭辞に使用されます。クラスター名が 15 文字を超えると、ドメイン接頭辞が 15 文字の文字列にランダムに生成されます。

      サブドメインをカスタマイズするには、Create custom domain prefix チェックボックスをオンにし、Domain prefix フィールドにドメイン接頭辞名を入力します。ドメイン接頭辞は 15 文字を超えてはならず、組織内で一意である必要があり、クラスターの作成後に変更できません。

    3. Version ドロップダウンメニューからクラスターバージョンを選択します。
    4. Region ドロップダウンメニューからクラウドプロバイダーのリージョンを選択します。
    5. Single zone または Multi-zone 設定を選択します。
    6. Enable user workload monitoring を選択したままにして、Red Hat Site Reliability Engineer (SRE) プラットフォームメトリックから切り離して独自のプロジェクトをモニターします。このオプションはデフォルトで有効になっています。
    7. オプション: Advanced Encryption を展開して、暗号化設定を変更します。

      1. デフォルトの AWS KMS キーを使用するには、デフォルト設定の Use default KMS Keys をそのまま使用します。または、カスタム KMS キーを使用するには、Use Custom KMS keys を選択します。

        1. Use Custom KMS keys を選択した場合は、Key ARN フィールドに AWS Key Management Service (KMS) カスタムキーの Amazon Resource Name (ARN) ARN を入力します。このキーは、クラスター内のすべてのコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および永続ボリュームを暗号化するために使用されます。
        2. オプション: 顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。

          重要

          クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。

          このロールは、ROSA が Container Storage Interface (CSI) を通じてバックエンドストレージを管理するために必要な IAM ポリシーである ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials ポリシーに割り当てる必要があります。

          クラスター Operator に必要なポリシーと権限の詳細は、アカウント全体のロールを作成する方法 を参照してください。

          EBS Operator のロールの例

          "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"

          Operator のロールを作成したら、AWS コンソールの Key Management Service (KMS) ページキーポリシー を編集して、ロールを追加する必要があります。

      2. オプション: クラスターで FIPS 検証を必須にする場合は、Enable FIPS cryptography を選択します。

        注記

        Enable FIPS cryptography を選択すると、Enable additional etcd encryption がデフォルトで有効になり、無効にできなくなります。Enable FIPS cryptography を選択しなくても、Enable additional etcd encryption は選択できます。

      3. オプション: etcd キー値の暗号化が必要な場合は、Enable additional etcd encryption を選択します。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。このオプションは、デフォルトで Red Hat OpenShift Service on AWS クラスター内の etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に追加されます。

        注記

        etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。お客様のユースケースで特に etcd 暗号化が必要な場合にのみ、暗号化を有効にすることを検討してください。

    8. Next をクリックします。
  6. Default machine pool ページで、Compute node instance type を選択します。

    注記

    クラスターの作成後、クラスター内のコンピュートノードの数を変更できますが、デフォルトのマシンプールのコンピュートノードインスタンスタイプは変更できません。使用可能なノードの数とタイプは、単一または複数のアベイラビリティーゾーンを使用するかどうかによって異なります。また、AWS アカウントと選択したリージョンで何が有効で利用可能かによっても異なります。

  7. オプション: デフォルトのマシンプールの自動スケーリングを設定します。

    1. Enable autoscaling を選択し、デプロイメントのニーズを満たすためにデフォルトのマシンプール内のマシン数を自動的にスケーリングします。
    2. 自動スケーリングの最小および最大のノード数制限を設定します。クラスターオートスケーラーが、指定された制限を超えてデフォルトのマシンプールのノード数を増減することはありません。

      • 1 つのアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、Minimum node countMaximum node count を設定します。これは、アベイラビリティーゾーンのコンピュートノードの最小および最大の制限を定義します。
      • 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、Minimum nodes per zone および Maximum nodes per zone を設定します。これは、ゾーンごとの最小および最大のコンピュート制限を定義します。
      注記

      または、デフォルトのマシンプールの作成後にマシンプールの自動スケーリングを設定できます。

  8. 自動スケーリングを有効にしなかった場合は、デフォルトのマシンプールのコンピュートノード数を選択します。

    • 単一アベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノード数 を選択します。これは、ゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
    • 複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合は、ドロップダウンメニューから コンピュートノードの数 (ゾーンごと) を選択します。これは、ゾーンごとにマシンプールにプロビジョニングするコンピュートノードの数を定義します。
  9. オプション: IMDSv2 の使用を強制するには、EC2 Instance Metadata Service (IMDS) 設定 (optional (デフォルト) または required) を選択します。IMDS の詳細は、AWS ドキュメントの Instance metadata and user data を参照してください。

    重要

    クラスターの作成後に Instance Metadata Service の設定を変更することはできません。

  10. オプション: Edit node labels を展開してラベルをノードに追加します。Add label をクリックしてさらにノードラベルを追加し、Next を選択します。
  11. Network configuration ページの Cluster privacy セクションで、Public または Private を選択して、クラスターのパブリックまたはプライベート API エンドポイントとアプリケーションルートを使用します。

    重要

    クラスターの作成後、API エンドポイントをパブリックとプライベートの間で変更することはできません。

    パブリック API エンドポイント
    クラスターへのアクセスを制限しない場合は、パブリック を選択します。インターネットから Kubernetes API エンドポイントとアプリケーションルートにアクセスできます。
    プライベート API エンドポイント

    クラスターへのネットワークアクセスを制限する場合は、Private を選択します。Kubernetes API エンドポイントとアプリケーションルートには、直接のプライベート接続からのみアクセスできます。

    重要

    プライベート API エンドポイントを使用している場合は、クラウドプロバイダーアカウントのネットワーク設定を更新するまでクラスターにアクセスできません。

  12. オプション: パブリック API エンドポイントを使用することを選択した場合は、デフォルトでクラスター用に新しい VPC が作成されます。代わりに既存の VPC にクラスターをインストールする場合は、Install into an existing VPC を選択します。

    警告

    OpenShift インストーラーによって作成された既存の VPC に ROSA クラスターをインストールすることはできません。このような VPC は、クラスターのデプロイ中に作成されたものであり、クラスターのプロビジョニング操作と削除操作が正しく機能するように、単一のクラスターにのみ関連付けられている必要があります。

    VPC が OpenShift インストーラーによって作成されたものかどうかを確認するには、kubernetes.io/cluster/<infra-id> タグの owned 値を確認します。たとえば、mycluster-12abc-34def という名前の VPC のタグを確認したところ、kubernetes.io/cluster/mycluster-12abc-34def タグの値が owned であったとします。この VPC はインストーラーによって作成されたものであるため、管理者の方は変更しないでください。

    注記

    プライベート API エンドポイントの使用を選択した場合は、既存の VPC と PrivateLink を使用する必要があり、Install into an existing VPC オプションと Use a PrivateLink オプションが自動的に選択されます。これらのオプションが選択されると、Red Hat Site Reliability Engineering (SRE) チームが、AWS PrivateLink エンドポイントのみを使用してクラスターに接続し、サポートを提供できるようになります。

  13. オプション: クラスターを既存の VPC にインストールする場合は、Configure a cluster-wide proxy を選択して、HTTP または HTTPS プロキシーがクラスターからインターネットへの直接アクセスを拒否できるようにします。
  14. Next をクリックします。
  15. クラスターを既存の AWS VPC にインストールする場合、Virtual Private Cloud (VPC) サブネット設定 を指定します。

    注記

    クラスターをインストールするアベイラビリティーゾーンごとに、VPC がパブリックおよびプライベートサブネットで設定されるようにする必要があります。PrivateLink を使用する場合は、プライベートサブネットのみが必要になります。

    1. オプション: Additional security groups を展開し、デフォルトで作成されるマシンプール内のノードに適用する追加のカスタムセキュリティーグループを選択します。すでにセキュリティーグループを作成し、このクラスター用に選択した VPC にそのグループを関連付けている必要があります。クラスターの作成後に、デフォルトのマシンプールにセキュリティーグループを追加または編集することはできません。

      デフォルトでは、指定したセキュリティーグループがすべてのノードタイプに追加されます。ノードタイプごとに異なるセキュリティーグループを選択するには、Apply the same security groups to all node types (control plane, infrastructure and worker) チェックボックスをオフにします。

      詳細は、関連情報セキュリティーグループ の要件を参照してください。

  16. クラスター全体のプロキシーを設定することを選択した場合は、Cluster-wide proxy ページでプロキシー設定の詳細を指定します。

    1. 次のフィールドの少なくとも 1 つに値を入力します。

      • 有効な HTTP proxy URL を指定します。
      • 有効な HTTPS proxy URL を指定します。
      • Additional trust bundle フィールドに、PEM でエンコードされた X.509 証明書バンドルを指定します。このバンドルはクラスターノードの信頼済み証明書ストアに追加されます。TLS 検査プロキシーを使用する場合は、プロキシーのアイデンティティー証明書が Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルからの認証局によって署名されない限り、追加の信頼バンドルファイルが必要です。この要件は、プロキシーが透過的であるか、http-proxy 引数および https-proxy 引数を使用して明示的な設定を必要とするかに関係なく適用されます。
    2. Next をクリックします。

      Red Hat OpenShift Service on AWS を使用したプロキシーの設定に関する詳細は、クラスター全体のプロキシーの設定 を参照してください。

  17. CIDR ranges ダイアログで、カスタムの Classless Inter-Domain Routing (CIDR) 範囲を設定するか、提供されるデフォルトを使用して、Next を、クリックします。

    注記

    VPC にインストールする場合は、Machine CIDR 範囲を VPC サブネットに一致させる必要があります。

    重要

    CIDR 設定は後で変更することはできません。続行する前に、ネットワーク管理者と選択内容を確認してください。

  18. Cluster roles and policies ページで、優先するクラスター固有の Operator の IAM ロールと OIDC プロバイダーの作成モードを選択します。

    Manual モードでは、rosa CLI コマンドまたは aws CLI コマンドのいずれかを使用して、クラスターに必要な Operator ロールと OIDC プロバイダーを生成できます。手動 モードでは、優先オプションを使用して IAM リソースを手動で作成し、クラスターのインストールを完了する前に、詳細を確認できます。

    または、Auto モードを使用して、Operator のロールと OIDC プロバイダーを自動的に作成することもできます。Auto モードを有効にするには、OpenShift Cluster Manager IAM ロールに管理者機能が必要です。

    注記

    関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。カスタム ARN パスは、Manual モードまたは Auto モードのいずれかを使用して Operator ロールが作成されるときに適用されます。

  19. オプション: クラスター固有の Operator IAM ロールの カスタム Operator ロール接頭辞 を指定します。

    注記

    デフォルトでは、クラスター固有の Operator のロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の <cluster_name>-<hash> を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。

  20. Next を選択します。
  21. Cluster update strategy ページで、更新設定を行います。

    1. クラスターの更新方法を選択します。

      • 各更新を個別にスケジュールする場合は、Individual updates を選択します。以下はデフォルトのオプションになります。
      • Recurring updates を選択して、更新が利用可能な場合に、希望の曜日と開始時刻にクラスターを更新します。

        重要

        定期的な更新を選択した場合でも、マイナーリリース間でクラスターをアップグレードする前に、アカウント全体およびクラスター固有の IAM リソースを更新する必要があります。

        注記

        保守終了日は、Red Hat OpenShift Service on AWS の更新ライフサイクルドキュメントで確認できます。詳細は、Red Hat OpenShift Service on AWS 更新ライフサイクル を参照してください。

    2. 繰り返し更新を選択した場合は、ドロップダウンメニューから希望の曜日およびアップグレード開始時刻 (UTC) を選択します。
    3. オプション: クラスターのアップグレード時における ノード drain (Pod の退避) の猶予期間を設定できます。デフォルトで 1 時間 の猶予期間が設定されています。
    4. Next をクリックします。

      注記

      クラスターのセキュリティーまたは安定性に大きく影響する重大なセキュリティー問題がある場合、Red Hat Site Reliability Engineering (SRE) が、影響を受けない最新の z-stream バージョンへの自動更新をスケジュールすることがあります。更新は、お客様に通知された後、48 時間以内に適用されます。重大な影響を及ぼすセキュリティー評価の説明は、Red Hat セキュリティー評価について を参照してください。

  22. 選択の概要を確認し、Create cluster をクリックしてクラスターのインストールを開始します。
  23. 手動 モードを使用することを選択した場合は、クラスター固有の Operator のロールと OIDC プロバイダーを手動で作成して、インストールを続行します。

    1. 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 のロールを作成すると、カスタムパスが自動的に検出され、Operator のロールに適用されます。

    2. Action required to continue installation ダイアログで、x をクリックしてクラスターの Overview ページに戻ります。
    3. Overview ページの Details セクションで、クラスターの StatusWaiting から Installing に変更されていることを確認します。ステータスが変わるまでに約 2 分の短い遅延が発生する場合があります。
    注記

    自動 モードの使用を選択した場合、OpenShift Cluster Manager は Operator ロールと OIDC プロバイダーを自動的に作成します。

    重要

    クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。

    このロールは、ROSA が Container Storage Interface (CSI) を通じてバックエンドストレージを管理するために必要な IAM ポリシーである ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials ポリシーに割り当てる必要があります。

    クラスター Operator に必要なポリシーと権限の詳細は、アカウント全体のロールを作成する方法 を参照してください。

    EBS Operator のロールの例

    "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"

    Operator のロールを作成したら、AWS コンソールの Key Management Service (KMS) ページキーポリシー を編集して、ロールを追加する必要があります。

検証

  • クラスターの Overview ページで、インストールの進捗をモニターできます。同じページでインストールのログを表示できます。そのページの Details セクションの StatusReady として表示されると、クラスターは準備が完了した状態になります。

    注記

    インストールが失敗するか、約 40 分経ってもクラスターの 状態Ready に変わらない場合は、インストールのトラブルシューティングのドキュメントで詳細を確認してください。詳細は、インストールのトラブルシューティング を参照してください。Red Hat サポートにサポートを依頼する手順は、Red Hat OpenShift Service on AWS のサポートを受ける を参照してください。

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 では使用できません。

前提条件

  • STS を使用する ROSA の AWS の前提条件を完了している。
  • 利用可能な AWS サービスクォータがある。
  • AWS コンソールで ROSA サービスを有効にした。
  • インストールホストに、最新の ROSA CLI (rosa) をインストールして設定している。現在インストールされている ROSA CLI のバージョンを確認するには、rosa version を実行します。新しいバージョンが利用可能な場合、CLI はこのアップグレードをダウンロードするためのリンクを提供します。
  • 顧客管理の AWS Key Management Service (KMS) キーを暗号化に使用する場合は、対称 KMS キーを作成する必要があります。クラスターを作成するときに、Amazon Resource Name (ARN) を指定する必要があります。顧客管理の KMS キーを作成するには、対称暗号化 KMS キーの作成 の手順に従います。

    重要

    クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。

    このロールは、ROSA が Container Storage Interface (CSI) を通じてバックエンドストレージを管理するために必要な IAM ポリシーである ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials ポリシーに割り当てる必要があります。

    クラスター Operator に必要なポリシーと権限の詳細は、アカウント全体のロールを作成する方法 を参照してください。

    EBS Operator のロールの例

    "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"

    Operator のロールを作成したら、AWS コンソールの Key Management Service (KMS) ページキーポリシー を編集して、ロールを追加する必要があります。

手順

  1. Operator ポリシーを含む、必要なアカウント全体のロールおよびポリシーを作成します。

    1. 現在の作業ディレクトリーに IAM ポリシー JSON ファイルを作成し、確認用に aws CLI コマンドを実行します。

      $ rosa create account-roles --interactive \ 
      1
      
                                  --mode manual 
      2
      Copy to Clipboard Toggle word wrap
      1
      interactive モードでは、インタラクティブプロンプトで設定オプションを指定できます。詳細は、対話式クラスター作成モードリファレンス を参照してください。
      2
      manual モードは、アカウント全体のロールおよびポリシーの作成に必要な aws CLI コマンドおよび JSON ファイルを生成します。確認後、手動でコマンドを実行してリソースを作成する必要があります。

      出力例

      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.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
      Copy to Clipboard Toggle word wrap

      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 ロールとポリシーのリファレンス を参照してください。

      1. 確認後は、aws コマンドを手動で実行し、ロールおよびポリシーを作成します。または、--mode auto を使用して前述のコマンドを実行して、aws コマンドを即座に実行できます。
  2. オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および永続ボリューム (PV) を暗号化する場合は、アカウント全体のインストーラーロールの ARN を KMS キーポリシーに追加します。

    重要

    デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。

    他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。

    1. 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
      Copy to Clipboard Toggle word wrap
      1
      <key_id_or_arn> を KMS キーの ID または ARN に置き換えます。
    2. 前述の手順で作成したアカウント全体のインストーラーロールの 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"
                      }
                  }
              }
          ]
      }
      Copy to Clipboard Toggle word wrap
      1 3
      ROSA クラスターの作成時に使用されるアカウント全体のロールの ARN を指定する必要があります。セクションにリスト表示される ARN はコンマで区切る必要があります。
      2 4
      ROSA クラスターの作成時に使用する Operator ロールの ARN を指定する必要があります。セクションにリスト表示される ARN はコンマで区切る必要があります。
    3. KMS キーポリシーに変更を適用します。

      $ aws kms put-key-policy --key-id <key_id_or_arn> \ 
      1
      
          --policy file://kms-key-policy.json \ 
      2
      
          --policy-name default
      Copy to Clipboard Toggle word wrap
      1
      <key_id_or_arn> を KMS キーの ID または ARN に置き換えます。
      2
      ローカルファイルでキーポリシーを参照する場合は、file:// 接頭辞を含める必要があります。

      次の手順でクラスターを作成すると、KMS キーの ARN を参照できます。

  3. カスタムインストールオプションを使用して、STS を使用するクラスターを作成します。--interactive モードを使用して、カスタム設定を対話的に指定できます。

    警告

    OpenShift インストーラーによって作成された既存の VPC に ROSA クラスターをインストールすることはできません。このような VPC は、クラスターのデプロイ中に作成されたものであり、クラスターのプロビジョニング操作と削除操作が正しく機能するように、単一のクラスターにのみ関連付けられている必要があります。

    VPC が OpenShift インストーラーによって作成されたものかどうかを確認するには、kubernetes.io/cluster/<infra-id> タグの owned 値を確認します。たとえば、mycluster-12abc-34def という名前の VPC のタグを確認したところ、kubernetes.io/cluster/mycluster-12abc-34def タグの値が owned であったとします。この VPC はインストーラーによって作成されたものであるため、管理者の方は変更しないでください。

    $ rosa create cluster --interactive --sts
    Copy to Clipboard Toggle word wrap

    出力例

    I: Interactive mode enabled.
    Any optional fields can be left empty and a default will be selected.
    ? Cluster name: <cluster_name>
    ? Domain prefix: <domain_prefix> 
    1
    
    ? Deploy cluster with Hosted Control Plane (optional): No
    ? Create cluster admin user: Yes 
    2
    
    ? Create custom password for cluster admin: No 
    3
    
    I: cluster admin user is cluster-admin
    I: cluster admin password is password
    ? OpenShift version: <openshift_version> 
    4
    
    ? Configure the use of IMDSv2 for ec2 instances optional/required (optional): 
    5
    
    I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role for the Installer role 
    6
    
    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): 
    7
    
    ? Operator roles prefix: <cluster_name>-<random_string> 
    8
    
    ? Deploy cluster using pre registered OIDC Configuration ID:
    ? Tags (optional) 
    9
    
    ? Multiple availability zones (optional): No 
    10
    
    ? AWS region: us-east-1
    ? PrivateLink cluster (optional): No
    ? Machine CIDR: 10.0.0.0/16
    ? Service CIDR: 172.30.0.0/16
    ? Pod CIDR: 10.128.0.0/14
    ? Install into an existing VPC (optional): Yes 
    11
    
    ? Subnet IDs (optional):
    ? Select availability zones (optional): No
    ? Enable Customer Managed key (optional): No 
    12
    
    ? Compute nodes instance type (optional):
    ? Enable autoscaling (optional): No
    ? Compute nodes: 2
    ? Worker machine pool labels (optional):
    ? Host prefix: 23
    ? Additional Security Group IDs (optional): 
    13
    
    ? > [*]  sg-0e375ff0ec4a6cfa2 ('sg-1')
    ? > [ ]  sg-0e525ef0ec4b2ada7 ('sg-2')
    ? Enable FIPS support: No 
    14
    
    ? Encrypt etcd data: No 
    15
    
    ? 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.19.0 --additional-compute-security-group-ids sg-0e375ff0ec4a6cfa2 --additional-infra-security-group-ids sg-0e375ff0ec4a6cfa2 --additional-control-plane-security-group-ids sg-0e375ff0ec4a6cfa2 --replicas 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 
    16
    
    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.
    ...
    Copy to Clipboard Toggle word wrap

    1
    オプション: クラスターを作成するときに、--domain-prefix フラグを使用して *.openshiftapps.com 上のクラスターのサブドメインをカスタマイズできます。このフラグの値は組織内で一意である必要があり、15 文字を超えてはならず、クラスターの作成後に変更できません。フラグが指定されていない場合は、クラスター名の長さに応じて自動生成された値が作成されます。クラスター名が 15 文字以下の場合、その名前がドメイン接頭辞に使用されます。クラスター名が 15 文字を超えると、ドメイン接頭辞が 15 文字の文字列にランダムに生成されます。
    2
    クラスターを作成するときに、クラスターのローカル管理者ユーザー (cluster-admin) を作成できます。これにより、cluster-admin ユーザーの htpasswd アイデンティティープロバイダーが自動的に設定されます。
    3
    cluster-admin ユーザーのカスタムパスワードを作成することも、システムにパスワードを生成させることもできます。カスタムパスワードを作成しない場合は、生成されたパスワードがコマンドライン出力に表示されます。カスタムパスワードを指定する場合、空白を含めずに 14 文字以上 (ASCII 標準) で指定する必要があります。定義すると、パスワードはハッシュ化され、セキュアに転送されます。
    4
    クラスターの作成時にリストされる OpenShift version オプションには、メジャー、マイナー、およびパッチバージョン (例: 4.19.0) が含まれます。
    5
    オプション: EC2 Instance Metadata Service (IMDS) の v1 エンドポイントと v2 エンドポイントの両方を使用するようにすべての EC2 インスタンスを設定するには、optional を指定します。これはデフォルト値です。IMDSv2 のみを使用するようにすべての EC2 インスタンスを設定するには、required を指定します。
    重要

    クラスターの作成後に Instance Metadata Service の設定を変更することはできません。

    6
    Amazon Web Services (AWS) アカウントに、お使いのクラスターバージョン用のアカウントロールセットが複数ある場合は、インタラクティブなオプションリストが表示されます。
    7
    オプション: アカウントのロールが引き受けられるときに、Red Hat OpenShift Service on AWS および OpenShift インストーラーによって渡される一意の識別子を指定します。このオプションは、外部 ID を予想されるカスタムアカウントロールにのみ必要です。
    8
    デフォルトでは、クラスター固有の Operator のロール名には、クラスター名とランダムな 4 桁のハッシュが接頭辞として付けられます。オプションで、ロール名の <cluster_name>-<hash> を置き換えるカスタム接頭辞を指定できます。接頭辞は、クラスター固有の Operator IAM ロールを作成するときに適用されます。接頭辞の詳細は、カスタム Operator IAM ロール接頭辞について を参照してください。
    注記

    関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスは自動的に検出されます。カスタムパスは、後のステップで作成するときに、クラスター固有の Operator ロールに適用されます。

    9
    オプション: Red Hat OpenShift Service on AWS が作成した AWS 内のすべてのリソースで使用するタグを指定します。タグは、AWS 内のリソースの管理、識別、整理、検索、フィルタリングに使用できます。タグはコンマで区切ります (例: key value, data input)。
    重要

    Red Hat OpenShift Service on AWS は、クラスター作成時に Red Hat OpenShift リソースへのカスタムタグのみをサポートします。タグを追加すると、削除したり編集したりすることはできません。Red Hat が追加したタグは、クラスターが Red Hat の実稼働サービスレベルアグリーメント (SLA) への準拠を維持するために必要です。これらのタグは削除してはいけません。

    Red Hat OpenShift Service on AWS では、ROSA クラスターマネージドリソース以外へのタグの追加はサポートされていません。AWS リソースが ROSA クラスターによって管理されている場合、これらのタグが失われる可能性があります。このような場合、タグを調整してそのままの状態に保つためのカスタムソリューションまたはツールが必要になる可能性があります。

    10
    オプション: 実稼働環境のワークロードには、複数のアベイラビリティーゾーンの使用が推奨されます。デフォルトは単一のアベイラビリティーゾーンです。
    11
    オプション: 既存の VPC にクラスターを作成することも、使用する新しい VPC を ROSA で作成することもできます。
    警告

    OpenShift インストーラーによって作成された既存の VPC に ROSA クラスターをインストールすることはできません。このような VPC は、クラスターのデプロイ中に作成されたものであり、クラスターのプロビジョニング操作と削除操作が正しく機能するように、単一のクラスターにのみ関連付けられている必要があります。

    VPC が OpenShift インストーラーによって作成されたものかどうかを確認するには、kubernetes.io/cluster/<infra-id> タグの owned 値を確認します。たとえば、mycluster-12abc-34def という名前の VPC のタグを確認したところ、kubernetes.io/cluster/mycluster-12abc-34def タグの値が owned であったとします。この VPC はインストーラーによって作成されたものであるため、管理者の方は変更しないでください。

    12
    オプション: 独自の AWS KMS キーを使用してコントロールプレーン、インフラストラクチャー、ワーカーノードのルートボリューム、および PV を暗号化する場合は、このオプションを有効にします。前述の手順でアカウント全体のロール ARN を追加した KMS キーの ARN を指定します。
    重要

    デフォルトのストレージクラスから作成された永続ボリューム (PV) のみが、この特定のキーで暗号化されます。

    他のストレージクラスを使用して作成された PV は引き続き暗号化されますが、ストレージクラスがこのキーを使用するように特別に設定されていない限り、PV はこのキーで暗号化されません。

    13
    オプション: クラスターで使用する追加のカスタムセキュリティーグループを選択できます。すでにセキュリティーグループを作成し、このクラスター用に選択した VPC にそのグループを関連付けている必要があります。マシンプールを作成した後に、デフォルトのマシンプールのセキュリティーグループを追加または編集することはできません。詳細は、関連情報セキュリティーグループ の要件を参照してください。
    14
    オプション: クラスターで FIPS 検証を必須にする場合は、このオプションを有効にします。このオプションを選択すると、etcd データの暗号化オプションがデフォルトで有効になり、無効にできなくなります。etcd データの暗号化は、FIPS サポートを有効にしなくても可能です。
    15
    オプション: デフォルトで etcd ボリュームを暗号化するコントロールプレーンストレージ暗号化に加えて、etcd キー値の暗号化のみが必要な場合、このオプションを有効にします。このオプションを使用すると、etcd キーの値は暗号化されますが、キーは暗号化されません。
    重要

    etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。Red Hat は、お客様のユースケースで特に etcd 暗号化が必要な場合にのみ有効にすることを推奨します。

    16
    出力には、同じ設定のクラスターをもう 1 つ作成するために実行できるカスタムコマンドが含まれます。

    --interactive モードを使用する代わりに、rosa create cluster コマンドの実行時にカスタマイズオプションを直接指定できます。rosa create cluster --help コマンドを実行して利用可能な CLI オプションのリストを表示するか、ROSA CLI を使用したオブジェクトの管理クラスターの作成 を参照してください。

    重要

    Operator IAM ロールおよび OpenID Connect (OIDC) プロバイダーを作成し、クラスターの状態を ready に移行するには、以下の手順を実行する必要があります。

  4. クラスター固有の Operator IAM ロールを作成します。

    1. 現在の作業ディレクトリーに Operator IAM ポリシー JSON ファイルを作成し、確認用に aws CLI コマンドを実行します。

      $ rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id> 
      1
      Copy to Clipboard Toggle word wrap
      1
      manual モードは、Operator ロールの作成に必要な aws CLI コマンドおよび JSON ファイルを生成します。確認後、手動でコマンドを実行してリソースを作成する必要があります。
    2. 確認後は、aws コマンドを手動で実行し、Operator IAM ロールを作成し、マネージド Operator ポリシーをそれらに割り当てます。または、--mode auto を使用して前述のコマンドを実行して、aws コマンドを即座に実行できます。

      注記

      前の手順で接頭辞を指定した場合、カスタム接頭辞が Operator ロール名に適用されます。

      関連するアカウント全体のロールを作成したときにカスタム ARN パスを指定した場合、カスタムパスが自動的に検出され、Operator ロールに適用されます。

      重要

      クラスターを正常に作成するには、アカウントのロールに加えて EBS Operator のロールが必要です。

      このロールは、ROSA が Container Storage Interface (CSI) を通じてバックエンドストレージを管理するために必要な IAM ポリシーである ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials ポリシーに割り当てる必要があります。

      クラスター Operator に必要なポリシーと権限の詳細は、アカウント全体のロールを作成する方法 の EBS Operator ロールの例 "arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent" を参照してください。

      Operator のロールを作成したら、AWS コンソールの Key Management Service (KMS) ページキーポリシー を編集して、ロールを追加する必要があります。

  5. クラスター Operator が認証に使用する OpenID Connect (OIDC) プロバイダーを作成します。

    $ rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id> 
    1
    Copy to Clipboard Toggle word wrap
    1
    auto モードは、OIDC プロバイダーを作成する aws CLI コマンドを即時実行します。
  6. クラスターのステータスを確認します。

    $ rosa describe cluster --cluster <cluster_name|cluster_id>
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Ec2 Metadata Http Tokens:   optional
    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://oidc.op1.openshiftapps.com/<cluster_id>|<oidc_config_id> \ 
    1
    Copy to Clipboard Toggle word wrap

    1. エンドポイント URL は、BYO OIDC 設定によって異なります。OIDC 設定を事前に作成している場合、URL の末尾が <oidc_config_id> 値になります。それ以外の場合、URL の末尾は <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 のサポートを受ける を参照してください。

  7. OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。

    $ rosa logs install --cluster <cluster_name|cluster_id> --watch 
    1
    Copy to Clipboard Toggle word wrap
    1 1
    --watch フラグを指定して、新規ログメッセージをインストールの進捗として監視します。この引数は任意です。

2.8. 次のステップ

第3章 Terraform を使用した ROSA (クラシックアーキテクチャー) クラスターの作成

3.1. Terraform を使用したデフォルトの ROSA (クラシックアーキテクチャー) クラスターの作成

デフォルトのクラスターオプションで設定された Terraform クラスターテンプレートを使用して、{rosa-classic-first} クラスターをすばやく作成します。

以下で説明するクラスター作成プロセスでは、次のリソースを備えた {rosa-classic} AWS Security Token Service (STS) クラスターを準備する Terraform 設定を使用します。

  • マネージド oidc-config 設定を使用する OIDC プロバイダー
  • 関連する AWS Managed ROSA ポリシーを備えた IAM Operator ロールの前提条件
  • 関連する AWS Managed ROSA ポリシーを含む IAM アカウントロール
  • STS を使用する ROSA クラスターの作成に必要な他のすべての AWS リソース

3.1.1. Terraform の概要

Terraform は、リソースを設定すると必要に応じてそれらのリソースをレプリケートできる infrastructure-as-code ツールです。Terraform は、宣言的言語を使用して作成タスクを実行します。インフラストラクチャーリソースの任意の最終状態を宣言すると、Terraform は仕様に合わせてリソースを作成します。

前提条件

Terraform 設定内で Red Hat Cloud Services プロバイダー を使用するには、次の前提条件を満たす必要があります。

  • Red Hat OpenShift Service on AWS (ROSA) コマンドラインインターフェイス (CLI) ツールをインストールした。
  • オフラインの Red Hat OpenShift Cluster Manager トークン がある。
  • Terraform バージョン 1.4.6 以降をインストールした。
  • AWS アカウント全体の IAM ロールを作成した。

    特定のアカウント全体の IAM ロールとポリシーが ROSA のサポート、インストール、コントロールプレーン、コンピューティング機能に必要な STS 権限を提供する。これには、アカウント全体の Operator ポリシーが含まれます。AWS アカウントロールの詳細は、関連情報を参照してください。

  • リソースを作成できる AWS アカウント関連する認証情報 がある。この認証情報は AWS プロバイダー用に設定されているものです。AWS Terraform プロバイダーのドキュメントで、Authentication and Configuration セクションを参照してください。
  • Terraform を操作する AWS IAM ロールポリシーに、少なくとも以下の権限がある。権限は、AWS コンソールで確認してください。

    例3.1 Terraform の最小限の AWS 権限

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "VisualEditor0",
          "Effect": "Allow",
          "Action": [
            "iam:GetPolicyVersion",
            "iam:DeletePolicyVersion",
            "iam:CreatePolicyVersion",
            "iam:UpdateAssumeRolePolicy",
            "secretsmanager:DescribeSecret",
            "iam:ListRoleTags",
            "secretsmanager:PutSecretValue",
            "secretsmanager:CreateSecret",
            "iam:TagRole",
            "secretsmanager:DeleteSecret",
            "iam:UpdateOpenIDConnectProviderThumbprint",
            "iam:DeletePolicy",
            "iam:CreateRole",
            "iam:AttachRolePolicy",
            "iam:ListInstanceProfilesForRole",
            "secretsmanager:GetSecretValue",
            "iam:DetachRolePolicy",
            "iam:ListAttachedRolePolicies",
            "iam:ListPolicyTags",
            "iam:ListRolePolicies",
            "iam:DeleteOpenIDConnectProvider",
            "iam:DeleteInstanceProfile",
            "iam:GetRole",
            "iam:GetPolicy",
            "iam:ListEntitiesForPolicy",
            "iam:DeleteRole",
            "iam:TagPolicy",
            "iam:CreateOpenIDConnectProvider",
            "iam:CreatePolicy",
            "secretsmanager:GetResourcePolicy",
            "iam:ListPolicyVersions",
            "iam:UpdateRole",
            "iam:GetOpenIDConnectProvider",
            "iam:TagOpenIDConnectProvider",
            "secretsmanager:TagResource",
            "sts:AssumeRoleWithWebIdentity",
            "iam:ListRoles"
          ],
          "Resource": [
            "arn:aws:secretsmanager:*:<ACCOUNT_ID>:secret:*",
            "arn:aws:iam::<ACCOUNT_ID>:instance-profile/*",
            "arn:aws:iam::<ACCOUNT_ID>:role/*",
            "arn:aws:iam::<ACCOUNT_ID>:oidc-provider/*",
            "arn:aws:iam::<ACCOUNT_ID>:policy/*"
          ]
        },
        {
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": [
            "s3:*"
            ],
          "Resource": "*"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
Terraform を使用する場合の考慮事項

一般に、Terraform を使用してクラウドリソースを管理する場合は、すべての変更が Terraform 方法論を使用して実行されることを前提として行う必要があります。AWS コンソールや Red Hat コンソールなど、Terraform 外部のツールを使用して Terraform によって作成されたクラウドリソースを変更する場合は注意してください。Terraform によってすでに管理されているクラウドリソースを管理するために Terraform 外部のツールを使用すると、宣言した Terraform 設定から設定のドリフトが発生します。

たとえば、Red Hat Hybrid Cloud Console を使用して Terraform で作成されたクラスターをアップグレードする場合は、今後の設定変更を適用する前に Terraform の状態を調整する必要があります。詳細は、HashiCorp Developer ドキュメントの Manage resources in Terraform state を参照してください。

3.1.2. デフォルトのクラスター仕様の概要

Expand
表3.1 STS を使用する ROSA クラスターのデフォルトの仕様
コンポーネントデフォルトの仕様

アカウントおよびロール

  • デフォルトの IAM ロールの接頭辞: rosa-<6-digit-alphanumeric-string>

クラスター設定

  • デフォルトのクラスターバージョン: 4.14
  • クラスター名: rosa-<6-digit-alphanumeric-string>
  • Red Hat OpenShift Cluster Manager Hybrid Cloud Console を使用したインストール用のデフォルトの AWS リージョン: us-east-2 (US East, Ohio)
  • 可用性: データプレーンのマルチゾーン
  • EC2 インスタンスメタデータサービス (IMDS) が有効になっており、IMDSv1 または IMDSv2 の使用が許可されています (トークンはオプション)
  • 可用性: データプレーンの単一ゾーン
  • ユーザー定義プロジェクトの監視: 有効
  • クラスター管理者ロールは作成されない

コントロールプレーンノードの設定

  • コントロールプレーンノードのインスタンスタイプ: m5.2xlarge (8 vCPU, 32 GiB RAM)
  • コントロールプレーンノード数: 3

コンピュートノードマシンプール

  • コンピュートノードインスタンスタイプ: m5.xlarge (4 vCPU 16, GiB RAM)
  • Compute node count: 3
  • 自動スケーリング: 無効
  • 追加のノードラベルなし

ネットワーク設定

  • クラスターのプライバシー: パブリックまたはプライベート
  • Terraform クラスターの作成プロセス中に、新しい VPC を作成することを選択できます。
  • 独自の Virtual Private Cloud (VPC) を設定しておく必要があります。
  • クラスター全体のプロキシーは設定されていません。

Classless Inter-Domain Routing (CIDR) の範囲

  • Machine CIDR: 10.0.0.0/16
  • Service CIDR: 172.30.0.0/16
  • Pod CIDR: 10.128.0.0/14
  • Host prefix: /23

    注記

    静的 IP アドレス 172.20.0.1 は、内部 Kubernetes API アドレス用に予約されています。マシン、Pod、およびサービスの CIDR 範囲は、この IP アドレスと競合してはなりません。

クラスターのロールおよびポリシー

  • Operator ロールおよび OpenID Connect (OIDC) プロバイダーの作成に使用されるモード: auto

    注記

    Hybrid Cloud Console で OpenShift Cluster Manager を使用してインストールする場合、auto モードには管理者権限が割り当てられた OpenShift Cluster Manager ロール (ocm-role) が必要です。

  • デフォルトの Operator ロールの接頭辞: rosa-<6-digit-alphanumeric-string>

ストレージ

  • ノードボリューム:

    • タイプ: AWS EBS GP3
    • デフォルトサイズ: 300 GiB (作成時に調整可能)
  • ワークロード永続ボリューム:

    • デフォルトの StorageClass: gp3-csi
    • プロビジョナー: ebs.csi.aws.com
    • 動的永続ボリュームのプロビジョニング

クラスター更新ストラテジー

  • 個別の更新
  • 1 時間のノード drain (Pod の退避) 猶予期間

3.1.3. Terraform を使用したデフォルトの {rosa-classic} クラスターの作成

以下に概説するクラスター作成プロセスでは、Terraform を使用して、アカウント全体の IAM ロールとマネージド OIDC 設定を使用する {rosa-classic} クラスターを作成する方法を示します。

3.1.3.1. Terraform 用の環境の準備

Terraform を使用して ROSA (クラシック) クラスターを作成するには、オフラインの Red Hat OpenShift Cluster Manager トークン をエクスポートする必要があります。

手順

  1. オプション: この手順の実行中、現在のディレクトリーに Terraform ファイルが作成されます。次のコマンドを実行すると、これらのファイルを保存する新しいディレクトリーを作成してそこに移動できます。

    $ mkdir terraform-cluster && cd terraform-cluster
    Copy to Clipboard Toggle word wrap
  2. オフラインの Red Hat OpenShift Cluster Manager トークン を使用して、アカウントに権限を付与します。
  3. オフライントークンをコピーし、次のコマンドを実行してトークンを環境変数として設定します。

    $ export RHCS_TOKEN=<your_offline_token>
    Copy to Clipboard Toggle word wrap
    注記

    この環境変数は、マシンの再起動やターミナルの終了など、各セッションの終了時にリセットされます。

検証

  • トークンをエクスポートしたら、次のコマンドを実行して値を確認します。

    $ echo $RHCS_TOKEN
    Copy to Clipboard Toggle word wrap
3.1.3.2. ローカルでの Terraform ファイルの作成

オフラインの Red Hat OpenShift Cluster Manager トークン を設定した後、クラスターを構築するために Terraform ファイルをローカルで作成する必要があります。このファイルは、次のコードテンプレートを使用して作成できます。

手順

  1. 次のコマンドを実行して、main.tf ファイルを作成します。

    $ cat<<-EOF>main.tf
    #
    # Copyright (c) 2023 Red Hat, Inc.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #   http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    
    terraform {
      required_providers {
        aws = {
          source  = "hashicorp/aws"
          version = ">= 4.20.0"
        }
        rhcs = {
          version = ">= 1.6.2"
          source  = "terraform-redhat/rhcs"
        }
      }
    }
    
    # Export token using the RHCS_TOKEN environment variable
    provider "rhcs" {}
    
    provider "aws" {
      region = var.aws_region
      ignore_tags {
        key_prefixes = ["kubernetes.io/"]
      }
      default_tags {
        tags = var.default_aws_tags
      }
    }
    
    data "aws_availability_zones" "available" {}
    
    locals {
      # The default setting creates 3 availability zones. Set to "false" to create a single availability zones.
      region_azs = var.multi_az ? slice([for zone in data.aws_availability_zones.available.names : format("%s", zone)], 0, 3) : slice([for zone in data.aws_availability_zones.available.names : format("%s", zone)], 0, 1)
    }
    
    resource "random_string" "random_name" {
      length  = 6
      special = false
      upper   = false
    }
    
    locals {
      path                 = coalesce(var.path, "/")
      worker_node_replicas = try(var.worker_node_replicas, var.multi_az ? 3 : 2)
      # If cluster_name is not null, use that, otherwise generate a random cluster name
      cluster_name = coalesce(var.cluster_name, "rosa-\${random_string.random_name.result}")
    }
    
    # The network validator requires an additional 60 seconds to validate Terraform clusters.
    resource "time_sleep" "wait_60_seconds" {
      count = var.create_vpc ? 1 : 0
      depends_on = [module.vpc]
      create_duration = "60s"
    }
    
    module "rosa-classic" {
      source                 = "terraform-redhat/rosa-classic/rhcs"
      version                = "1.5.0"
      cluster_name           = local.cluster_name
      openshift_version      = var.openshift_version
      account_role_prefix    = local.cluster_name
      operator_role_prefix   = local.cluster_name
      replicas               = local.worker_node_replicas
      aws_availability_zones = local.region_azs
      create_oidc            = true
      private                = var.private_cluster
      aws_private_link       = var.private_cluster
      aws_subnet_ids         = var.create_vpc ? var.private_cluster ? module.vpc[0].private_subnets : concat(module.vpc[0].public_subnets, module.vpc[0].private_subnets) : var.aws_subnet_ids
      multi_az               = var.multi_az
      create_account_roles   = true
      create_operator_roles  = true
    # Optional: Configure a cluster administrator user \ 
    1
    
    #
    # Option 1: Default cluster-admin user
    # Create an administrator user (cluster-admin) and automatically
    # generate a password by uncommenting the following parameter:
    #  create_admin_user = true
    # Generated administrator credentials are displayed in terminal output.
    #
    # Option 2: Specify administrator username and password
    # Create an administrator user and define your own password
    # by uncommenting and editing the values of the following parameters:
    #  admin_credentials_username = <username>
    #  admin_credentials_password = <password>
    
      depends_on = [time_sleep.wait_60_seconds]
    }
    EOF
    Copy to Clipboard Toggle word wrap
    1
    オプション: 適切なパラメーターのコメントを解除し、値を編集して、クラスターの作成中に管理者ユーザーを作成します。
  2. 次のコマンドを実行して、variables.tf ファイルを作成します。

    注記

    クラスターを構築するコマンドを実行する に、このファイルをコピーして編集します。

    $ cat<<-EOF>variables.tf
    #
    # Copyright (c) 2023 Red Hat, Inc.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #   http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    variable "openshift_version" {
      type        = string
      default     = "4.14.20"
      description = "Desired version of OpenShift for the cluster, for example '4.14.20'. If version is greater than the currently running version, an upgrade will be scheduled."
    }
    
    variable "create_vpc" {
      type        = bool
      description = "If you would like to create a new VPC, set this value to 'true'. If you do not want to create a new VPC, set this value to 'false'."
    }
    
    # ROSA Cluster info
    variable "cluster_name" {
      default     = null
      type        = string
      description = "The name of the ROSA cluster to create"
    }
    
    variable "additional_tags" {
      default = {
        Terraform   = "true"
        Environment = "dev"
      }
      description = "Additional AWS resource tags"
      type        = map(string)
    }
    
    variable "path" {
      description = "(Optional) The arn path for the account/operator roles as well as their policies."
      type        = string
      default     = null
    }
    
    variable "multi_az" {
      type        = bool
      description = "Multi AZ Cluster for High Availability"
      default     = true
    }
    
    variable "worker_node_replicas" {
      default     = 3
      description = "Number of worker nodes to provision. Single zone clusters need at least 2 nodes, multizone clusters need at least 3 nodes"
      type        = number
    }
    
    variable "aws_subnet_ids" {
      type        = list(any)
      description = "A list of either the public or public + private subnet IDs to use for the cluster blocks to use for the cluster"
      default     = ["subnet-01234567890abcdef", "subnet-01234567890abcdef", "subnet-01234567890abcdef"]
    }
    
    variable "private_cluster" {
      type        = bool
      description = "If you want to create a private cluster, set this value to 'true'. If you want a publicly available cluster, set this value to 'false'."
    }
    
    #VPC Info
    variable "vpc_name" {
      type        = string
      description = "VPC Name"
      default     = "tf-qs-vpc"
    }
    
    variable "vpc_cidr_block" {
      type        = string
      description = "value of the CIDR block to use for the VPC"
      default     = "10.0.0.0/16"
    }
    
    variable "private_subnet_cidrs" {
      type        = list(any)
      description = "The CIDR blocks to use for the private subnets"
      default     = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
    }
    
    variable "public_subnet_cidrs" {
      type        = list(any)
      description = "The CIDR blocks to use for the public subnets"
      default     = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
    }
    
    variable "single_nat_gateway" {
      type        = bool
      description = "Single NAT or per NAT for subnet"
      default     = false
    }
    
    #AWS Info
    variable "aws_region" {
      type    = string
      default = "us-east-2"
    }
    
    variable "default_aws_tags" {
      type        = map(string)
      description = "Default tags for AWS"
      default     = {}
    }
    EOF
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを実行して vpc.tf ファイルを作成します。

    $ cat<<-EOF>vpc.tf
    #
    # Copyright (c) 2023 Red Hat, Inc.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #   http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    module "vpc" {
      source  = "terraform-aws-modules/vpc/aws"
      version = "5.1.2"
    
      count = var.create_vpc ? 1 : 0
      name  = var.vpc_name
      cidr  = var.vpc_cidr_block
    
      azs             = local.region_azs
      private_subnets = var.private_subnet_cidrs
      public_subnets  = var.public_subnet_cidrs
    
      enable_nat_gateway   = true
      single_nat_gateway   = var.single_nat_gateway
      enable_dns_hostnames = true
      enable_dns_support   = true
    
      tags = var.additional_tags
    }
    EOF
    Copy to Clipboard Toggle word wrap

    これで Terraform を起動する準備ができました。

3.1.3.3. Terraform を使用した ROSA クラスターの作成

Terraform ファイルを作成した後、Terraform を起動して、必要な依存関係をすべて提供する必要があります。その後、Terraform プランを適用します。

重要

Terraform の状態ファイルは変更しないでください。詳細は、Terraform 使用時の考慮事項 を参照してください。

手順

  1. Terraform ファイルに基づいてリソースを作成するように Terraform を設定し、次のコマンドを実行します。

    $ terraform init
    Copy to Clipboard Toggle word wrap
  2. オプション: 次のコマンドを実行して、コピーした Terraform が正しいことを確認します。

    $ terraform validate
    Copy to Clipboard Toggle word wrap

    出力例

    Success! The configuration is valid.
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを実行して、Terraform を使用してクラスターを作成します。

    $ terraform apply
    Copy to Clipboard Toggle word wrap

    Terraform インターフェイスでは、クラスターを作成するために次のような 2 つの質問が表示されます。

    出力例

    var.create_vpc
      If you would like to create a new VPC, set this value to 'true'. If you do not want to create a new VPC, set this value to 'false'.
    
      Enter a value:
    
    var.private_cluster
      If you want to create a private cluster, set this value to 'true'. If you want a publicly available cluster, set this value to 'false'.
    
      Enter a value:
    Copy to Clipboard Toggle word wrap

  4. Terraform インターフェイスに作成または変更するリソースがリストされ、確認を求めるプロンプトが表示されたら、続行するには yes を、キャンセルするには no を入力します。

    出力例

    Plan: 74 to add, 0 to change, 0 to destroy.
    
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    Copy to Clipboard Toggle word wrap

    yes と入力すると、Terraform プランが開始され、AWS アカウントロール、Operator ロール、ROSA Classic クラスターが作成されます。

検証

  1. 次のコマンドを実行して、クラスターが作成されたことを確認します。

    $ rosa list clusters
    Copy to Clipboard Toggle word wrap

    クラスターの ID、名前、ステータスを示す出力例

    ID                                NAME          STATE  TOPOLOGY
    27c3snjsupa9obua74ba8se5kcj11269  rosa-tf-demo  ready  Classic (STS)
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、アカウントロールが作成されたことを確認します。

    $ rosa list account-roles
    Copy to Clipboard Toggle word wrap

    出力例

    I: Fetching account roles
    ROLE NAME                                   ROLE TYPE      ROLE ARN                                                           OPENSHIFT VERSION  AWS Managed
    ROSA-demo-ControlPlane-Role                 Control plane  arn:aws:iam::<ID>:role/ROSA-demo-ControlPlane-Role                 4.14               No
    ROSA-demo-Installer-Role                    Installer      arn:aws:iam::<ID>:role/ROSA-demo-Installer-Role                    4.14               No
    ROSA-demo-Support-Role                      Support        arn:aws:iam::<ID>:role/ROSA-demo-Support-Role                      4.14               No
    ROSA-demo-Worker-Role                       Worker         arn:aws:iam::<ID>:role/ROSA-demo-Worker-Role                       4.14               No
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを実行して、Operator ロールが作成されたことを確認します。

    $ rosa list operator-roles
    Copy to Clipboard Toggle word wrap

    Terraform で作成された Operator ロールを示す出力例

    I: Fetching operator roles
    ROLE PREFIX    AMOUNT IN BUNDLE
    rosa-demo      6
    Copy to Clipboard Toggle word wrap

3.1.3.4. Terraform を使用した ROSA クラスターの削除

terraform destroy コマンドを使用して、terraform apply コマンドで作成したすべてのリソースを削除します。

注記

リソースを破棄する前に、Terraform の .tf ファイルを変更しないでください。これらの変数は削除対象のリソースと照合されます。

手順

  1. terraform apply コマンドを実行してクラスターを作成したディレクトリーで、次のコマンドを実行してクラスターを削除します。

    $ terraform destroy
    Copy to Clipboard Toggle word wrap

    Terraform インターフェイスでは、2 つの変数の入力を求められます。これらは、クラスターの作成時に指定した回答と一致する必要があります。

    var.create_vpc
      If you would like to create a new VPC, set this value to 'true.' If you do not want to create a new VPC, set this value to 'false.'
    
      Enter a value:
    
    var.private_cluster
      If you want to create a private cluster, set this value to 'true.' If you want a publicly available cluster, set this value to 'false.'
    
      Enter a value:
    Copy to Clipboard Toggle word wrap
  2. yes と入力して、ロールとクラスターの削除を開始します。

    出力例

    Plan: 0 to add, 0 to change, 74 to destroy.
    
    Do you really want to destroy all resources?
      Terraform will destroy all your managed infrastructure, as shown above.
      There is no undo. Only 'yes' will be accepted to confirm.
    
      Enter a value: yes
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、クラスターが破棄されたことを確認します。

    $ rosa list clusters
    Copy to Clipboard Toggle word wrap

    クラスターがないことを示す出力例

    I: No clusters available
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、アカウントロールが破棄されたことを確認します。

    $ rosa list account-roles
    Copy to Clipboard Toggle word wrap

    Terraform で作成されたアカウントロールがないことを示す出力例

    I: Fetching account roles
    I: No account roles available
    Copy to Clipboard Toggle word wrap

  3. 次のコマンドを実行して、Operator ロールが破棄されたことを確認します。

    $ rosa list operator-roles
    Copy to Clipboard Toggle word wrap

    Terraform で作成された Operator ロールがないことを示す出力例

    I: Fetching operator roles
    I: No operator roles available
    Copy to Clipboard Toggle word wrap

第4章 インタラクティブなクラスター作成モードリファレンス

このセクションでは、インタラクティブモードで、ROSA CLI (rosa) を使用して OCM ロール、ユーザーロール、および Red Hat OpenShift Service on AWS (ROSA) クラスターを作成するときに表示されるオプションの概要を説明します。

4.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 ロール作成モードのオプションを示します。

Expand
表4.1 --interactive OCM ロール作成モードオプション
フィールド説明

Role prefix

OCM IAM ロール名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。Red Hat 組織の AWS アカウントごとに OCM ロールを 1 つだけ作成できます。

OCM ロールの管理者機能の有効化 (オプション)

admin OCM IAM ロールの有効化 (--admin 引数を指定するのと同等)auto モードで、OpenShift Cluster Manager を使用してクラスター固有の Operator ロールと OIDC プロバイダーを自動的にプロビジョニングする場合は、管理者ロールが必要です。

パーミッション境界 ARN (オプション)

OCM ロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。

ロールのパス (オプション)

OCM ロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、/ で開始および終了する必要があります (例: /test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。

ロール作成モード

ロール作成モードを選択します。auto モードを使用して OCM ロールを自動的に作成し、それを Red Hat 組織アカウントにリンクできます。manual モードでは、rosa CLI はロールの作成とリンクに必要な aws コマンドを生成します。manual モードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。

'<ocm_role_name>' ロールを作成しますか?

OCM ロールを作成するかどうかを確認します。

'<ocm_role_arn>' ロールを組織 '<red_hat_organization_id>' にリンクしますか?

OCM ロールを Red Hat 組織にリンクするかどうかを確認します。

次の表では、インタラクティブなユーザーロール作成モードのオプションを説明します。

Expand
表4.2 --interactive ユーザーロール作成モードオプション
フィールド説明

Role prefix

ユーザーロール名に含める接頭辞を指定します。デフォルトは ManagedOpenShift です。

パーミッション境界 ARN (オプション)

ユーザーロールのパーミッション境界 Amazon Resource Name (ARN) を指定します。詳細は、AWS ドキュメントの IAM エンティティーのアクセス許可の境界 を参照してください。

ロールのパス (オプション)

ユーザーロールのカスタム ARN パスを指定します。パスには英数字のみを使用し、/ で開始および終了する必要があります (例: /test/path/dev/)。詳細は、IAM ロールとポリシーの ARN パスのカスタマイズ を参照してください。

ロール作成モード

ロール作成モードを選択します。auto モードを使用して、ユーザーロールを自動的に作成し、OpenShift Cluster Manager ユーザーアカウントにリンクすることができます。manual モードでは、ROSA CLI はロールの作成とリンクに必要な aws コマンドを生成します。manual モードでは、対応するポリシー JSON ファイルも現在のディレクトリーに保存されます。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。

'<user_role_name>' ロールを作成しますか?

ユーザーロールを作成するかどうかを確認します。

'<user_role_arn>' ロールを '<red_hat_user_account_id>' アカウントにリンクしますか?

ユーザーロールを Red Hat ユーザーアカウントにリンクするかどうかを確認します。

4.2. 対話型クラスター作成モードのオプション

インタラクティブモードを使用して AWS Security Token Service (STS) で Red Hat OpenShift Service on AWS クラスターを作成できます。rosa create cluster コマンドの実行時に --interactive オプションを指定することで、モードを有効にできます。

次の表では、対話型クラスター作成モードのオプションを説明します。

Expand
表4.3 --interactive クラスター作成モードオプション
フィールド説明

Cluster name

クラスターの名前を入力します (例: my-rosa-cluster)。

Domain prefix

クラスターのサブドメインのドメイン接頭辞の名前を入力します (例: my-rosa-cluster)

Deploy cluster with Hosted Control Plane (optional)

Hosted Control Plane の使用を有効にします。

Create cluster admin user

クラスターのローカル管理者ユーザー (cluster-admin) を作成します。これにより、cluster-admin ユーザーの htpasswd アイデンティティープロバイダーが自動的に設定されます。

Create custom password for cluster admin

cluster-admin ユーザーのカスタムパスワードを作成するか、システムによって生成されたパスワードを使用します。カスタムパスワードを作成する場合、空白を含めずに 14 文字以上 (ASCII 標準) でパスワードを指定する必要があります。カスタムパスワードを作成しない場合は、システムによってパスワードが生成され、コマンドライン出力に表示されます。

Deploy cluster using AWS STS

AWS Security Token Service (STS) を使用して、コンポーネント固有の AWS Identity and Access Management (IAM) ロールに一時的な制限付き権限の認証情報を割り当てる OpenShift クラスターを作成します。サービスを使用すると、クラスターコンポーネントはセキュアなクラウドリソース管理プラクティスを使用して AWS API 呼び出しを実行できます。デフォルトは Yes です。

OpenShift version

インストールする OpenShift のバージョンを選択します (例: 4)。デフォルトは最新のバージョンです。

Configure the use of IMDSv2 for ec2 instances optional/required (optional)

すべての EC2 インスタンスが EC2 Instance Metadata Service (IMDS) の v1 と v2 エンドポイントの両方を使用する (オプション) か、IMDSv2 のみを使用する (必須) かを指定します。

Installer role ARN

クラスターバージョンの AWS アカウントに複数のアカウントロールセットがある場合は、インストーラーロール ARN のリストが表示されます。クラスターで使用するインストーラーロールの ARN を選択します。クラスターは、選択したインストーラーロールに関連するアカウント全体のロールとポリシーを使用します。

External ID (optional)

アカウントロールが仮定される際に OpenShift Cluster Manager および OpenShift インストーラーによって渡される一意の識別子を指定します。このオプションは、外部 ID を予想されるカスタムアカウントロールにのみ必要です。

Operator roles prefix

クラスター固有の Operator IAM ロールに割り当てる接頭辞を入力します。デフォルトはクラスターの名前であり、4 桁のランダムな文字列です (例: my-rosa-cluster-a0b1)。

Deploy cluster using pre registered OIDC Configuration ID

事前設定された OIDC 設定を使用するか、クラスター作成プロセスの一部として新しい OIDC 設定を作成するかを指定します。

Tags (optional)

Red Hat OpenShift Service on AWS が作成した AWS 内のすべてのリソースで使用するタグを指定します。タグは、AWS 内のリソースの管理、識別、整理、検索、フィルタリングに使用できます。タグはコンマで区切られます (例: "key value、foo bar")。

重要

Red Hat OpenShift Service on AWS は、クラスター作成時に Red Hat OpenShift リソースへのカスタムタグのみをサポートします。タグを追加すると、削除したり編集したりすることはできません。Red Hat が追加したタグは、クラスターが Red Hat の実稼働サービスレベルアグリーメント (SLA) への準拠を維持するために必要です。これらのタグは削除してはいけません。

Red Hat OpenShift Service on AWS では、ROSA クラスターマネージドリソース以外へのタグの追加はサポートされていません。AWS リソースが ROSA クラスターによって管理されている場合、これらのタグが失われる可能性があります。このような場合、タグを調整してそのままの状態に保つためのカスタムソリューションまたはツールが必要になる可能性があります。

Multiple availability zones (optional)

クラスターを AWS リージョンの複数のアベイラビリティーゾーンにデプロイします。デフォルトは No で、クラスターは単一のアベイラビリティーゾーンにデプロイされます。クラスターを複数のアベイラビリティーゾーンにデプロイする場合、AWS リージョンには少なくとも 3 つのアベイラビリティーゾーンが必要です。実稼働環境のワークロードには、複数のアベイラビリティーゾーンの使用が推奨されます。

AWS region

クラスターをデプロイする AWS リージョンを指定します。これにより、AWS_REGION 環境変数が上書きされます。

PrivateLink cluster (optional)

AWS PrivateLink を使用してクラスターを作成します。このオプションは、トラフィックをパブリックインターネットに公開することなく、Virtual Private Cloud (VPC)、AWS サービス、およびオンプレミスネットワーク間のプライベート接続を提供します。サポートを提供するために、Red Hat Site Reliability Engineering (SRE) は AWS PrivateLink Virtual Private Cloud (VPC) エンドポイントを使用してクラスターに接続できます。このオプションは、クラスターの作成後に変更できません。デフォルトは No です。

Machine CIDR

マシン (クラスターノード) の IP アドレス範囲を指定します。この IP アドレス範囲は、VPC サブネットのすべての CIDR アドレス範囲を包含する必要があります。サブネットは連続している必要があります。単一のアベイラビリティーゾーンデプロイメントでは、サブネット接頭辞 /25 を使用した 128 アドレスの最小 IP アドレス範囲がサポートされます。サブネット接頭辞 /24 を使用する最小アドレス範囲 256 アドレスの範囲は、複数のアベイラビリティーゾーンを使用するデプロイメントでサポートされます。デフォルトは 10.0.0.0/16 です。この範囲は、接続されているネットワークと競合しないようにする必要があります。

Service CIDR

サービスの IP アドレス範囲を指定します。必須ではありませんが、クラスター間でアドレスブロックを同じにすることが推奨されます。これにより、IP アドレスの競合が発生することはありません。範囲は、ワークロードに対応するのに十分な大きさである必要があります。アドレスブロックは、クラスター内からアクセスする外部サービスと重複してはいけません。デフォルトは 172.30.0.0/16 です。

Pod CIDR

Pod の IP アドレス範囲を指定します。必須ではありませんが、クラスター間でアドレスブロックを同じにすることが推奨されます。これにより、IP アドレスの競合が発生することはありません。範囲は、ワークロードに対応するのに十分な大きさである必要があります。アドレスブロックは、クラスター内からアクセスする外部サービスと重複してはいけません。デフォルトは 10.128.0.0/14 です。

Install into an existing VPC (optional)

クラスターを既存の AWS VPC にインストールします。このオプションを使用するには、VPC にはクラスターをインストールする各アベイラビリティーゾーンの 2 つのサブネットが必要です。デフォルトは No です。

Select availability zones (optional)

既存の AWS VPC にインストールするときに使用するアベイラビリティーゾーンを指定します。コンマ区切りのリストを使用して、可用性ゾーンを提供します。No を指定すると、インストーラーは可用性ゾーンを自動的に選択します。

Enable customer managed key (optional)

このオプションを有効にすると、特定の AWS Key Management Service (KMS) キーを永続データの暗号化キーとして使用できます。このキーは、コントロールプレーン、インフラストラクチャー、およびワーカーノードのルートボリュームの暗号化キーとして使用されます。キーは、デフォルトのストレージクラスで作成された永続ボリュームが特定の KMS キーで暗号化されるように、デフォルトのストレージクラスでも設定されます。これを無効にすると、永続データが常に暗号化されるように、指定されたリージョンのアカウント KMS キーがデフォルトで使用されます。デフォルトは No です。

Compute nodes instance type

コンピュートノードのインスタンスタイプを選択します。デフォルトは m5.xlarge です。

Enable autoscaling (optional)

コンピュートノードの自動スケーリングを有効にします。オートスケーラーがデプロイメントの需要に合わせてクラスターのサイズを調整します。デフォルトは No です。

Additional Compute Security Group IDs (optional)

クラスターと一緒に作成される標準マシンプールで使用する追加のカスタムセキュリティーグループの ID を選択します。デフォルトでは何も選択されていません。選択した VPC に関連付けられたセキュリティーグループのみが表示されます。追加のセキュリティーグループを最大 5 つ選択できます。

Additional Infra Security Group IDs (optional)

クラスターと一緒に作成されるインフラノードで使用する追加のカスタムセキュリティーグループの ID を選択します。デフォルトでは何も選択されていません。選択した VPC に関連付けられたセキュリティーグループのみが表示されます。追加のセキュリティーグループを最大 5 つ選択できます。

Additional Control Plane Security Group IDs (optional)

クラスターと一緒に作成されるコントロールプレーンノードで使用する追加のカスタムセキュリティーグループの ID を選択します。デフォルトでは何も選択されていません。選択した VPC に関連付けられたセキュリティーグループのみが表示されます。追加のセキュリティーグループを最大 5 つ選択できます。

Compute nodes

各アベイラビリティーゾーンにプロビジョニングするコンピュートノードの数を指定します。単一アベイラビリティーゾーンにデプロイされたクラスターには、2 つ以上のノードが必要です。複数のゾーンにデプロイされるクラスターには 3 つ以上のノードが必要です。ワーカーノードの最大数は 249 ノードです。デフォルト値は 2 です。

Default machine pool labels (optional)

デフォルトのマシンプールのラベルを指定します。ラベルの形式は、キーと値のペアのコンマ区切りリストにする必要があります。このリストは、ノードのラベルに継続的に加えられた変更を上書きします。

Host prefix

個々のマシンにスケジューリングされた Pod に割り当てるサブネット接頭辞の長さを指定します。ホスト接頭辞は、各マシンの Pod IP アドレスプールを決定します。例えば、ホスト接頭辞を /23 に設定した場合、各マシンには Pod CIDR アドレス範囲から /23 のサブネットが割り当てられます。デフォルトは /23 で、クラスターノード数は 512、ノードあたりの Pod 数は 512 となっていますが、いずれも当社がサポートする最大値を超えています。サポートされている最大値は、以下の関連情報のセクションを参照してください。

Machine pool root disk size (GiB or TiB)

マシンプールのルートディスクのサイズを指定します。この値には、GiB や TiB などの単位接尾辞を含める必要があります (デフォルト値の 300GiB など)。

Enable FIPS support (optional)

FIPS モードを有効または無効にします。デフォルトは false (無効) です。FIPS モードが有効になっている場合、Red Hat OpenShift Service on AWS が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンは、デフォルトの Kubernetes 暗号化スイートをバイパスし、代わりに RHCOS で提供される暗号化モジュールを使用します。

重要

クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された {op-system-base-full} コンピューターからインストールプログラムを実行する必要があります。{op-system-base} で FIPS モードを設定する方法の詳細は、{op-system-base} から FIPS モードへの切り替え を参照してください。

FIPS モードでブートされた {op-system-base-full} または Red Hat Enterprise Linux CoreOS (RHCOS) を実行する場合、Red Hat OpenShift Service on AWS コアコンポーネントは、x86_64、ppc64le、および s390x アーキテクチャーのみで、FIPS 140-2/140-3 検証のために NIST に提出された {op-system-base} 暗号化ライブラリーを使用します。

Encrypt etcd data (optional)

Red Hat OpenShift Service on AWS では、コントロールプレーンストレージはデフォルトで静止時に暗号化され、これには etcd ボリュームの暗号化も含まれます。さらに、Encrypt etcd data オプションを有効にすると、鍵ではなく、etcd 内の一部のリソースの鍵の値を暗号化することができます。

重要

etcd のキー値の etcd 暗号化を有効にすると、約 20% のパフォーマンスのオーバーヘッドが発生します。このオーバーヘッドは、etcd ボリュームを暗号化するデフォルトのコントロールプレーンのストレージ暗号化に加えて、この 2 つ目の暗号化レイヤーの導入により生じます。Red Hat は、お客様のユースケースで特に etcd 暗号化が必要な場合にのみ有効にすることを推奨します。

ワークロードの監視を無効にする (オプション)

ユーザー定義プロジェクトの監視を無効にします。ユーザー定義プロジェクトの監視はデフォルトで有効にされます。

Route Selector for ingress (optional)

Ingress のルートセレクターを指定します。形式は、キーと値のペアのコンマ区切りリストにする必要があります。ラベルを指定しない場合、すべてのルートは両方のルーターで公開されます。従来の Ingress サポートの場合、これらのラベルは包含ラベルです。それ以外の場合は、除外ラベルとして扱われます。

Excluded namespaces for ingress (optional)

Ingress の除外された namespace を指定します。形式はコンマ区切りのリスト value1、value2… である必要があります。値を指定しない場合、すべての namespace が公開されます。

Wildcard Policy (任意: 'Skip' で選択を省略します。デフォルト値は入力されています)

Ingress のワイルドカードポリシーを選択します。オプションは WildcardsDisallowed および WildcardsAllowed です。デフォルトは WildcardsDisallowed です。

Namespace Ownership Policy (任意: 'Skip' で選択を省略します。デフォルト値は入力されています)

Ingress の namespace 所有権ポリシーを選択します。オプションは Strict および InterNamespaceAllowed です。デフォルトは Strict です。

第6章 ROSA クラスターの共有 VPC の設定

一元管理された共有 AWS Virtual Private Cloud (VPC) 内に Red Hat OpenShift Service on AWS (ROSA) クラスターを作成できます。

重要

複数の AWS アカウント間での VPC の共有 は、現在、認証に STS を使用する ROSA Classic クラスターでのみサポートされています。

注記

このプロセスには、同じ AWS 組織に属する 2 つの別々 の AWS アカウントが必要です。1 つのアカウントは VPC 所有の AWS アカウント (VPC Owner) として機能し、もう 1 つのアカウントはクラスターを作成する AWS アカウント (Cluster Creator) でクラスターを作成します。

VPC Owner の前提条件

  • ロールを作成し、リソースを共有するための適切な権限を持つ AWS アカウントがある。
  • Cluster Creator の AWS アカウントは、VPC Owner の AWS アカウントとは別である。
  • どちらの AWS アカウントも、同じ AWS 組織に属している。
  • 組織の管理アカウントからのリソース共有を有効にしている。
  • AWS console にアクセスできる。

Cluster Creator の前提条件

  • ROSA CLI (rosa) 1.2.26 以降がインストールされている。
  • クラスターの作成に必要な アカウント全体のロールとポリシー がすべて作成されている。
  • Cluster Creator の AWS アカウントは、VPC Owner の AWS アカウントとは別である。
  • どちらの AWS アカウントも、同じ AWS 組織に属している。
注記

共有 VPC へのクラスターのインストールは、OpenShift 4.12.34 以降、4.13.10 以降、および今後の全 4.y ストリームでのみサポートされます。

6.1. ステップ 1: VPC Owner: AWS 組織内で共有するための VPC の設定

アカウントが現在の AWS 組織内にある場合、設定済みの VPC 内のサブネットを別の AWS ユーザーアカウントで共有できます。

手順

  1. AWS コンソールの VPC セクション で、仕様に合わせて VPC を作成または変更します。
  2. SharedVPCPolicy という 名前を使用する必要な共有 VPC 権限を許可するカスタムポリシーファイルを作成します。

    $ cat <<EOF > /tmp/shared-vpc-policy.json
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "route53:ChangeResourceRecordSets",
                    "route53:ListHostedZones",
                    "route53:ListHostedZonesByName",
                    "route53:ListResourceRecordSets",
                    "route53:ChangeTagsForResource",
                    "route53:GetAccountLimit",
                    "route53:GetChange",
                    "route53:GetHostedZone",
                    "route53:ListTagsForResource",
                    "route53:UpdateHostedZoneComment",
                    "tag:GetResources",
                    "tag:UntagResources"
                ],
                "Resource": "*"
            }
        ]
    }
    EOF
    Copy to Clipboard Toggle word wrap
  3. AWS でポリシーを作成します。

    $ aws iam create-policy \
        --policy-name SharedVPCPolicy \
        --policy-document file:///tmp/shared-vpc-policy.json
    Copy to Clipboard Toggle word wrap

    このポリシーを、共有 VPC 権限に必要なロールに割り当てます。

  4. ロールを引き受ける権限を付与するカスタム信頼ポリシーファイルを作成します。

    $ cat <<EOF > /tmp/shared-vpc-role.json
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::<Account-ID>:root"  
    1
    
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    EOF
    Copy to Clipboard Toggle word wrap
    1
    Cluster Creator が必要なクラスターロールを作成した後、プリンシパルのスコープを減らして設定されます。作成時に、クラスター作成者 の AWS アカウント ID を arn:aws:iam::{Account}:root として使用して、root ユーザープレースホルダーを作成する必要があります。
  5. IAM ロールを作成します。

    $ aws iam create-role --role-name <role_name> \  
    1
    
        --assume-role-policy-document file:///tmp/shared-vpc-role.json
    Copy to Clipboard Toggle word wrap
    1
    <role_name> は、作成するロールの名前に置き換えます。
  6. カスタムの SharedVPCPolicy パーミッションポリシーを割り当てます。

    $ aws iam attach-role-policy --role-name <role_name> --policy-arn \  
    1
    
        arn:aws:iam::<AWS_account_ID>:policy/SharedVPCPolicy  
    2
    Copy to Clipboard Toggle word wrap
    1
    <role_name> は、作成したロールの名前に置き換えます。
    2
    <AWS_account_ID> は、VPC Owner の AWS アカウント ID に置き換えます。
  7. SharedVPCRole ARN を Cluster Creator に指定して、設定を続行します。
関連情報

6.2. ステップ 2: Cluster Creator: DNS の予約およびクラスター Operator ロールの作成

VPC Owner が VPC リソースを共有するための仮想プライベートクラウド、サブネット、および IAM ロールを作成した後、openshiftapps.com DNS ドメインを予約し、VPC Owner に通信するための Operator ロールを作成します。

注記

共有 VPC クラスターの場合は、クラスター作成手順の後に Operator ロールを作成することもできます。クラスターは、Ingress Operator のロール ARN が共有 VPC ロールの信頼関係に追加されるまで waiting 状態になります。

前提条件

  • VPC Owner から IAM ロールの SharedVPCRole ARN を取得している。

手順

  1. 以下のコマンドを使用して openshiftapps.com DNS ドメインを予約します。

    $ rosa create dns-domain
    Copy to Clipboard Toggle word wrap

    このコマンドは、予約済みの openshiftapps.com DNS ドメインを作成します。

    I: DNS domain '14eo.p1.openshiftapps.com' has been created.
    I: To view all DNS domains, run 'rosa list dns-domains'
    Copy to Clipboard Toggle word wrap
  2. OIDC 設定を作成します。

    OIDC 設定プロセス の詳細は、この記事を確認してください。次のコマンドは、必要な OIDC 設定 ID を生成します。

    $ rosa create oidc-config
    Copy to Clipboard Toggle word wrap

    コマンドが OIDC 設定を作成したことを確認します。

    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 25tu67hq45rto1am3slpf5lq6jargg
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを入力して、Operator ロールを作成します。

    $ rosa create operator-roles --oidc-config-id <oidc-config-ID> 
    1
    
        --installer-role-arn <Installer_Role> 
    2
    
        --shared-vpc-role-arn <Created_VPC_Role_Arn> 
    3
    
        --prefix <operator-prefix> 
    4
    Copy to Clipboard Toggle word wrap
    1
    前の手順で作成した OIDC 設定 ID を指定します。
    2
    rosa create account-roles プロセスの一部として作成されたインストーラー ARN を指定します。
    3
    VPC Owner が作成したロールの ARN を指定します。
    4
    Operator ロールの接頭辞を指定します。
    注記

    インストーラーアカウントのロールと共有 VPC ロールには 1 対 1 の関係が必要です。複数の共有 VPC ロールを作成する場合は、共有 VPC ロールごとに 1 セットのアカウントロールを作成する必要があります。

  4. Operator ロールを作成したら、次の情報を VPC Owner と共有して設定を続行します。

    • 完全なドメイン名、<intended_cluster_domain_prefix>.<reserved_dns_domain>
    • Ingress Operator Cloud Credentials ロールの ARN
    • お使いのインストーラーロールの ARN

共有する情報は、たとえば次のようなものです。

  • my-rosa-cluster.14eo.p1.openshiftapps.com
  • arn:aws:iam::111122223333:role/ManagedOpenShift-Installer-Role
  • arn:aws:iam::111122223333:role/my-rosa-cluster-openshift-ingress-operator-cloud-credentials

6.3. ステップ 3: VPC Owner: 共有 VPC ロールの更新とホストゾーンの作成

Cluster Creator が DNS ドメインと IAM ロールを指定した後に、プライベートホストゾーンを作成し、VPC を共有するために作成された IAM ロールの信頼ポリシーを更新します。

前提条件

  • Cluster Creator からの完全なドメイン名を取得している。
  • Ingress Operator Cloud Credentials ロールの ARN を Cluster Creator から取得している。
  • インストーラー ロールの ARN を Cluster Creator から取得している。

手順

  1. AWS console の Resource Access Manager で、Cluster Creator の AWS アカウント ID を使用して、以前に作成したパブリックおよびプライベートサブネットを共有するリソース共有を作成します。
  2. VPC 共有 IAM ロールを更新し、Installer および Ingress Operator Cloud Credentials ロールを信頼ポリシーの principal セクションに追加します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
    	  "Sid": "Statement1",
    	  "Effect": "Allow",
    	  "Principal": {
    	  	"AWS": [
              "arn:aws:iam::<Cluster-Creator's-AWS-Account-ID>:role/<prefix>-ingress-operator-cloud-credentials",
              "arn:aws:iam::<Cluster-Creator's-AWS-Account-ID>:role/<prefix>-Installer-Role"
            ]
    	  },
    	  "Action": "sts:AssumeRole"
    	}
      ]
    }
    Copy to Clipboard Toggle word wrap
  3. AWS console の Route 53 セクション でプライベートホストゾーンを作成します。次のガイドラインに従ってホストゾーンを設定します。

    • ドメイン名は <cluster_domain_prefix>.<reserved_dns_domain> の形式で指定します。
    • 作成した VPC にプライベートホストゾーンを関連付けます。
  4. ホストゾーンが作成され、VPC に関連付けられたら、Cluster Creator に以下を提供して設定を続行します。

    • ホストゾーン ID
    • AWS リージョン
    • サブネット ID

6.4. ステップ 4: Cluster Creator: 共有 VPC でのクラスターの作成

共有 VPC にクラスターを作成するには、次の手順を実行します。

注記

共有 VPC へのクラスターのインストールは、OpenShift 4.12.34 以降、4.13.10 以降、および今後の全 4.y ストリームでのみサポートされます。

前提条件

  • VPC Owner からホストゾーン ID を取得している。
  • VPC Owner から AWS リージョンを取得している。
  • VPC Owner からサブネット ID を取得している。
  • VPC Owner から SharedVPCRole ARN を取得している。

手順

  • ターミナルで次のコマンドを入力して、共有 VPC を作成します。

    rosa create cluster --cluster-name <cluster_name> --sts --operator-roles-prefix <prefix> --oidc-config-id <oidc_config_id> --region us-east-1 --subnet-ids <subnet_ids> --private-hosted-zone-id <hosted_zone_ID> --shared-vpc-role-arn <vpc-role-arn> --base-domain <dns-domain>
    Copy to Clipboard Toggle word wrap
注記

クラスター名が 15 文字を超える場合、*.openshiftapps.com にプロビジョニングされたクラスターのサブドメインとして自動生成されたドメイン接頭辞が含まれます。

サブドメインをカスタマイズするには、--domain-prefix フラグを使用します。ドメイン接頭辞は 15 文字を超えてはならず、一意である必要があり、クラスターの作成後に変更できません。

第7章 ROSA クラスターへのアクセス

アイデンティティープロバイダー (IDP) アカウントを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターにアクセスすることが推奨されます。ただし、クラスターを作成したクラスター管理者は、クイックアクセス手順を使用してこれにアクセスできます。

このドキュメントでは、クラスターにアクセスし、ROSA CLI (rosa) を使用して IDP を設定する方法を説明します。または、OpenShift Cluster Manager コンソールを使用して IDP アカウントを作成できます。

7.1. クラスターへの迅速なアクセス

この迅速なクイックアクセスを実行する手順を使用してクラスターにログインできます。

注記

ベストプラクティスとして、IDP アカウントを代わりに使用してクラスターにアクセスできます。

手順

  1. 以下のコマンドを実行します。

    $ rosa create admin --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    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.organization.org:6443 \
    1
    
    --username cluster-admin \
    --password FWGYL-2mkJI-3ZTTZ-rINns
    Copy to Clipboard Toggle word wrap

    1
    Hosted Control Plane (HCP) クラスターを使用する Red Hat OpenShift Service on AWS (ROSA) の場合、ポート番号は 443 である必要があります。
  2. 直前のコマンドの出力の oc login コマンド、ユーザー名、およびパスワードを入力します。

    出力例

    $ oc login https://api.cluster_name.t6k4.i1.organization.org:6443 \
    1
    
    >  --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'
    Copy to Clipboard Toggle word wrap

    1
    ROSA with HCP クラスターの場合、ポート番号は 443 である必要があります。
  3. デフォルトプロジェクトを使用して、この oc コマンドを実行してクラスター管理者のアクセスが作成されていることを確認します。

    $ oc whoami
    Copy to Clipboard Toggle word wrap

    出力例

    cluster-admin
    Copy to Clipboard Toggle word wrap

7.2. IDP アカウントでのクラスターへのアクセス

クラスターにログインするには、アイデンティティープロバイダー (IDP) を設定できます。この手順では、IDP の例として GitHub を使用します。サポートされている他の IDP を表示するには、rosa create idp --help コマンドを実行します。

注記

または、クラスターを作成したユーザーとして、クイックアクセス手順を使用できます。

手順

IDP アカウントを使用してクラスターにアクセスするには、以下を実行します。

  1. IDP を追加します。

    1. 以下のコマンドは、GitHub がサポートする IDP を作成します。コマンドを実行後に、出力の対話式プロンプトに従って GitHub 開発者の設定 にアクセスし、新しい OAuth アプリケーションを設定します。

      $ rosa create idp --cluster=<cluster_name> --interactive
      Copy to Clipboard Toggle word wrap
    2. 以下の値を設定します。

      • アイデンティティープロバイダーのタイプ: github
      • メンバーの制限: organizations (GitHub Organization がない場合は作成可能)
      • GitHub の組織: 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'
      ...
      Copy to Clipboard Toggle word wrap

    3. 出力された URL に従い、Register application を選択すると、GitHub の組織に新しい OAuth アプリケーションが登録されます。アプリケーションを登録することで、ROSA に内蔵されている OAuth サーバーが GitHub 組織のメンバーをクラスターに認証することができるようになります。

      注記

      Register a new OAuth application GitHub フォームのフィールドには、Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) で定義される URL を介して、必要な値が自動的に入力されます。

    4. 作成した 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
      Copy to Clipboard Toggle word wrap

      IDP は、クラスター内で設定するのに 1 - 2 分かかる場合があります。

    5. 以下のコマンドを実行して、IDP が正しく設定されていることを確認します。

      $ rosa list idps --cluster=<cluster_name>
      Copy to Clipboard Toggle word wrap

      出力例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1
      Copy to Clipboard Toggle word wrap

  2. クラスターにログインします。

    1. 以下のコマンドを実行して、クラスターの Console URL を取得します。

      $ rosa describe cluster --cluster=<cluster_name>
      Copy to Clipboard Toggle word wrap

      出力例

      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 
      1
      
      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
      Copy to Clipboard Toggle word wrap

      1
      Hosted Control Plane (HCP) クラスターを使用する Red Hat OpenShift Service on AWS (ROSA) の場合、ポート番号は 443 である必要があります。
    2. Console URL に移動し、Github 認証情報を使用してログインします。
    3. OpenShift コンソールの右上で、名前をクリックして Copy Login Command をクリックします。
    4. 追加した IDP の名前 (この場合は github-1) を選択し、Display Token をクリックします。
    5. oc ログインコマンドをコピーし、これをターミナルに貼り付けます。

      $ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443 
      1
      Copy to Clipboard Toggle word wrap
      1
      ROSA with HCP クラスターの場合は、ポート番号 443 を使用します。

      出力例

      Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided. 
      1
      
      
      You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects'
      
      Using project "default".
      Copy to Clipboard Toggle word wrap

      1
      ROSA with HCP クラスターの場合、ポート番号は 443 である必要があります。
    6. 単純な oc コマンドを実行して、すべての設定が適切でログインしていることを確認します。

      $ oc version
      Copy to Clipboard Toggle word wrap

      出力例

      Client Version: 4.4.0-202005231254-4a4cd75
      Server Version: 4.3.18
      Kubernetes Version: v1.16.2
      Copy to Clipboard Toggle word wrap

7.3. cluster-admin アクセス権限の付与

クラスターを作成したユーザーは、cluster-admin ユーザーロールをアカウントに追加して、最大管理者権限を割り当てます。これらの権限は、クラスターの作成時に自動的にユーザーアカウントに割り当てられることはありません。

さらに、クラスターを作成したユーザーのみが、他の cluster-admin または dedicated-admin ユーザーにクラスターアクセスを付与できます。dedicated-admin アクセスを持つユーザーの権限は少なくなります。ベストプラクティスとして、cluster-admin ユーザーの数をできるだけ少なく制限できます。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 作成するユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. ユーザーに cluster-admin 権限を付与します。

    $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap
  2. ユーザーがクラスター管理者としてリスト表示されていることを確認します。

    $ rosa list users --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    GROUP             NAME
    cluster-admins    rh-rosa-test-user
    dedicated-admins  rh-rosa-test-user
    Copy to Clipboard Toggle word wrap

  3. 以下のコマンドを実行して、ユーザーが cluster-admin アクセスを持つことを確認します。クラスター管理者はエラーを出さずにこのコマンドを実行できますが、専用の管理者は実行できません。

    $ oc get all -n openshift-apiserver
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

7.4. dedicated-admin アクセスの取り消し

クラスターを作成したユーザーのみが、他の cluster-admin または dedicated-admin ユーザーにクラスターアクセスを付与できます。dedicated-admin アクセスを持つユーザーの権限は少なくなります。ベストプラクティスとして、dedicated-admin アクセスをほとんどの管理者に付与することができます。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 作成するユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. 以下のコマンドを実行して、ユーザーを dedicated-admin にプロモートします。

    $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して、ユーザーに dedicated-admin アクセスがあることを確認します。

    $ oc get groups dedicated-admins
    Copy to Clipboard Toggle word wrap

    出力例

    NAME               USERS
    dedicated-admins   rh-rosa-test-user
    Copy to Clipboard Toggle word wrap

    注記

    Forbidden エラーは、dedicated-admin 権限を持たないユーザーがこのコマンドを実行する場合に表示されます。

第8章 STS のアイデンティティープロバイダーの設定

Red Hat OpenShift Service on AWS (ROSA) クラスターの作成後に、アイデンティティープロバイダーを設定して、ユーザーがクラスターにアクセスする方法を判別する必要があります。

以下のトピックでは、OpenShift Cluster Manager コンソールを使用してアイデンティティープロバイダーを設定する方法を説明します。または、ROSA CLI (rosa) を使用してアイデンティティープロバイダーを設定し、クラスターにアクセスできます。

8.1. アイデンティティープロバイダーについて

Red Hat OpenShift Service on AWS には、ビルトイン OAuth サーバーが含まれます。開発者および管理者は OAuth アクセストークンを取得して、API に対して認証します。管理者は、クラスターのインストール後に、OAuth をアイデンティティープロバイダーを指定するように設定できます。アイデンティティープロバイダーを設定すると、ユーザーはログインし、クラスターにアクセスできます。

8.1.1. サポートされるアイデンティティープロバイダー

以下の種類のアイデンティティープロバイダーを設定できます。

Expand
アイデンティティープロバイダー説明

GitHub または GitHub Enterprise

GitHub または GitHub Enterprise の OAuth 認証サーバーに対して、ユーザー名とパスワードを検証するように GitHub アイデンティティープロバイダーを設定します。

GitLab

GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するように GitLab アイデンティティープロバイダーを設定します。

Google

Google の OpenID Connect 統合機能 を使用して Google アイデンティティープロバイダーを設定します。

LDAP

単純なバインド認証を使用して、LDAPv3 サーバーに対してユーザー名とパスワードを検証するように LDAP アイデンティティープロバイダーを設定します。

OpenID Connect

Authorization Code Flow を使用して OpenID Connect (OIDC) アイデンティティープロバイダーと統合するように OIDC アイデンティティープロバイダーを設定します。

htpasswd

単一の静的管理ユーザー用に htpasswd アイデンティティープロバイダーを設定します。問題のトラブルシューティングを行うには、ユーザーとしてクラスターにログインできます。

重要

htpasswd ID プロバイダーオプションは、単一の静的管理ユーザーを作成できるようにするためだけに含まれています。htpasswd は、Red Hat OpenShift Service on AWS の汎用 ID プロバイダーとしてはサポートされていません。単一ユーザーを設定する手順は、htpasswd アイデンティティープロバイダーの設定 を参照してください。

8.1.2. アイデンティティープロバイダーパラメーター

以下のパラメーターは、すべてのアイデンティティープロバイダーに共通するパラメーターです。

Expand
パラメーター説明

name

プロバイダー名は、プロバイダーのユーザー名に接頭辞として付加され、アイデンティティー名が作成されます。

mappingMethod

新規アイデンティティーがログイン時にユーザーにマップされる方法を定義します。以下の値のいずれかを入力します。

claim
デフォルトの値です。アイデンティティーの推奨ユーザー名を持つユーザーをプロビジョニングします。そのユーザー名を持つユーザーがすでに別のアイデンティティーにマッピングされている場合は失敗します。
lookup
既存のアイデンティティー、ユーザーアイデンティティーマッピング、およびユーザーを検索しますが、ユーザーまたはアイデンティティーの自動プロビジョニングは行いません。これにより、クラスター管理者は手動で、または外部のプロセスを使用してアイデンティティーとユーザーを設定できます。この方法を使用する場合は、ユーザーを手動でプロビジョニングする必要があります。
add
アイデンティティーの推奨ユーザー名を持つユーザーをプロビジョニングします。推奨ユーザー名を持つユーザーがすでに存在する場合、アイデンティティーは既存のユーザーにマッピングされ、そのユーザーの既存のアイデンティティーマッピングに追加されます。これは、同じユーザーセットを識別して同じユーザー名にマッピングするアイデンティティープロバイダーが複数設定されている場合に必要です。
注記

mappingMethod パラメーターを add に設定すると、アイデンティティープロバイダーの追加または変更時に新規プロバイダーのアイデンティティーを既存ユーザーにマッピングできます。

8.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 組織のユーザーに制限する必要があります。

前提条件

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
  2. Access control タブをクリックします。
  3. Add identity provider をクリックします。

    注記

    クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。

  4. ドロップダウンメニューから GitHub を選択します。
  5. アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。

    • OAuth callback URL が指定のフィールドに自動的に生成されます。これを使用して GitHub アプリケーションを登録します。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
      Copy to Clipboard Toggle word wrap

      以下に例を示します。

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
      Copy to Clipboard Toggle word wrap
  6. アプリケーションを GitHub に登録します
  7. Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
  8. GitHub から提供される Client ID および Client secret を入力します。
  9. hostname を入力します。GitHub Enterprise のホステッドインスタンスを使用する場合は、ホスト名を入力する必要があります。
  10. オプション: 認証局 (CA) ファイルを使用して、設定された GitHub Enterprise URL のサーバー証明書を検証できます。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
  11. Use organizations または Use teams を選択し、アクセスを特定の GitHub 組織または GitHub チームに制限します。
  12. アクセスを制限する組織またはチームの名前を入力します。Add more をクリックして、ユーザーが所属できる複数の組織またはチームを指定します。
  13. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。

8.3. GitLab アイデンティティープロバイダーの設定

GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するように GitLab アイデンティティープロバイダーを設定します。

前提条件

  • GitLab バージョン 7.7.0 から 11.0 を使用する場合は、OAuth 統合 を使用して接続します。GitLab バージョン 11.1 以降の場合は、OAuth ではなく OpenID Connect (OIDC) を使用して接続します。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
  2. Access control タブをクリックします。
  3. Add identity provider をクリックします。

    注記

    クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。

  4. ドロップダウンメニューから GitLab を選択します。
  5. アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。

    • OAuth callback URL が指定のフィールドに自動的に生成されます。この URL を GitLab に指定します。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
      Copy to Clipboard Toggle word wrap

      以下に例を示します。

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
      Copy to Clipboard Toggle word wrap
  6. GitLab に新規アプリケーションを追加します
  7. Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
  8. GitLab から提供される Client ID および Client secret を入力します。
  9. GitLab プロバイダーの URL を入力します。
  10. オプション: 認証局 (CA) ファイルを使用して、設定された GitLab URL のサーバー証明書を検証できます。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
  11. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。

8.4. Google アイデンティティープロバイダーの設定

ユーザーが Google 認証情報で認証できるように Google アイデンティティープロバイダーを設定します。

警告

Google をアイデンティティープロバイダーとして使用することで、Google ユーザーはサーバーに対して認証されます。hostedDomain 設定属性を使用して、特定のホストドメインのメンバーに認証を限定することができます。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
  2. Access control タブをクリックします。
  3. Add identity provider をクリックします。

    注記

    クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。

  4. ドロップダウンメニューから Google を選択します。
  5. アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。

    • OAuth callback URL が指定のフィールドに自動的に生成されます。この URL を Google に指定します。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
      Copy to Clipboard Toggle word wrap

      以下に例を示します。

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
      Copy to Clipboard Toggle word wrap
  6. Google の OpenID Connect 統合機能 を使用して Google アイデンティティープロバイダーを設定します。
  7. Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
  8. 登録済みの Google プロジェクトの Client ID と、Google が発行する Client secret を入力します。
  9. ホストされたドメインを入力して、ユーザーを Google Apps ドメインに制限します。
  10. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。

8.5. LDAP アイデンティティープロバイダーの設定

単純なバインド認証を使用して LDAPv3 サーバーに対してユーザー名とパスワードを検証するように LDAP アイデンティティープロバイダーを設定します。

前提条件

  • LDAP アイデンティティープロバイダーを設定する場合は、設定済みの LDAP URL を入力する必要があります。設定される URL は、LDAP ホストと使用する検索パラメーターを指定する RFC 2255 URL です。URL の構文は以下のようになります。

    ldap://host:port/basedn?attribute?scope?filter
    Copy to Clipboard Toggle word wrap
    Expand
    URL コンポーネント説明

    ldap

    通常の LDAP の場合は、文字列 ldap を使用します。セキュアな LDAP (LDAPS) の場合は、代わりに ldaps を使用します。

    host:port

    LDAP サーバーの名前とポートです。デフォルトは、ldap の場合は localhost:389、LDAPS の場合は localhost:636 です。

    basedn

    すべての検索が開始されるディレクトリーのブランチの DN です。これは少なくともディレクトリーツリーの最上位である必要がありますが、ディレクトリーのサブツリーを指定することもできます。

    attribute

    検索対象の属性です。RFC 2255 はコンマ区切りの属性のリストを許可しますが、属性をどれだけ指定しても最初の属性のみが使用されます。属性を指定しない場合は、デフォルトで uid が使用されます。使用しているサブツリーのすべてのエントリー間で一意の属性を選択することを推奨します。

    scope

    検索の範囲です。one または sub のいずれかを指定できます。範囲を指定しない場合は、デフォルトの範囲として sub が使用されます。

    filter

    有効な LDAP 検索フィルターです。指定しない場合のデフォルトは (objectClass=*) です。

    検索の実行時に属性、フィルター、指定したユーザー名が組み合わされて以下のような検索フィルターが作成されます。

    (&(<filter>)(<attribute>=<username>))
    Copy to Clipboard Toggle word wrap
    重要

    LDAP ディレクトリーの検索に認証が必要な場合は、エントリー検索の実行に使用する bindDNbindPassword を指定します。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
  2. Access control タブをクリックします。
  3. Add identity provider をクリックします。

    注記

    クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。

  4. ドロップダウンメニューから LDAP を選択します。
  5. アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
  6. ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
  7. LDAP URL を入力して、使用する LDAP 検索パラメーターを指定します。
  8. オプション: Bind DN および Bind password を入力します。
  9. LDAP 属性をアイデンティティーにマップする属性を入力します。

    • 値をユーザー ID として使用する ID 属性を入力します。Add more をクリックして、複数の ID 属性を追加します。
    • オプション: 表示名の値として使用する Preferred username 属性を入力します。Add more をクリックして、優先する複数のユーザー名属性を追加します。
    • オプション: メールアドレスの値として使用する Email 属性を入力します。Add more をクリックして、複数のメール属性を追加します。
  10. オプション: Show advanced Options をクリックし、認証局 (CA) ファイルを LDAP アイデンティティープロバイダーに追加し、設定された URL のサーバー証明書を検証します。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
  11. オプション: 高度なオプションで、LDAP プロバイダーを 非セキュア にするよう選択できます。このオプションを選択すると、CA ファイルは使用できません。

    重要

    非セキュアな LDAP 接続 (ldap:// またはポート 389) を使用している場合は、設定ウィザードで Insecure オプションを確認する必要があります。

  12. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。

8.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 つ以上の要求をユーザーのアイデンティティーを使用するように設定される必要があります。

また、どの要求をユーザーの推奨ユーザー名、表示名およびメールアドレスとして使用するか指定することができます。複数の要求が指定されている場合は、値が入力されている最初の要求が使用されます。標準の要求は以下の通りです。

Expand
要求説明

preferred_username

ユーザーのプロビジョニング時に優先されるユーザー名です。janedoe などのユーザーを参照する際に使用する省略形の名前です。通常は、ユーザー名またはメールなどの、認証システムのユーザーのログインまたはユーザー名に対応する値です。

email

メールアドレス。

name

表示名。

詳細は、OpenID クレームのドキュメント を参照してください。

前提条件

  • OpenID Connect を設定する前に、Red Hat OpenShift Service on AWS クラスターで使用する Red Hat 製品またはサービスのインストール前提条件を確認してください。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
  2. Access control タブをクリックします。
  3. Add identity provider をクリックします。

    注記

    クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。

  4. ドロップダウンメニューから OpenID を選択します。
  5. アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。

    • OAuth callback URL が指定のフィールドに自動的に生成されます。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
      Copy to Clipboard Toggle word wrap

      以下に例を示します。

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
      Copy to Clipboard Toggle word wrap
  6. 認可リクエストを作成する 手順に従って、新しい OpenID Connect クライアントを OpenID ID プロバイダーに登録します。
  7. Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
  8. OpenID から提供される Client ID および Client secret を入力します。
  9. Issuer URL を入力します。これは、OpenID プロバイダーが発行者 ID としてアサートする URL です。URL クエリーパラメーターまたはフラグメントのない https スキームを使用する必要があります。
  10. メールアドレスの値として使用する Email 属性を入力します。Add more をクリックして、複数のメール属性を追加します。
  11. 優先するユーザー名の値として使用する Name 属性を入力します。Add more をクリックして、優先する複数のユーザー名を追加します。
  12. 表示名の値として使用する Preferred username 属性を入力します。Add more をクリックして、複数の表示名を追加します。
  13. オプション: Show advanced Options をクリックし、認証局 (CA) ファイルを OpenID アイデンティティープロバイダーに追加します。
  14. オプション: 高度なオプションから、追加のスコープ を追加できます。デフォルトでは、OpenID の範囲が要求されます。
  15. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。

8.7. htpasswd アイデンティティープロバイダーの設定

クラスター管理者権限で単一の静的ユーザーを作成するように htpasswd アイデンティティープロバイダーを設定します。問題のトラブルシューティングを行うには、ユーザーとしてクラスターにログインできます。

重要

htpasswd ID プロバイダーオプションは、単一の静的管理ユーザーを作成できるようにするためだけに含まれています。htpasswd は、Red Hat OpenShift Service on AWS の汎用 ID プロバイダーとしてはサポートされていません。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、クラスターを選択します。
  2. Access controlIdentity providers の順に選択します。
  3. Add identity provider をクリックします。
  4. Identity Provider ドロップダウンメニューから HTPasswd を選択します。
  5. アイデンティティープロバイダーの Name フィールドに一意の名前を追加します。
  6. 静的ユーザーに推奨されるユーザー名およびパスワードを使用するか、独自のユーザー名およびパスワードを作成します。

    注記

    この手順で定義した認証情報は、以下の手順で Add を選択した後に表示されません。認証情報を失った場合は、アイデンティティープロバイダーを再作成し、認証情報を再度定義する必要があります。

  7. Add を選択して htpasswd アイデンティティープロバイダーおよび単一の静的ユーザーを作成します。
  8. クラスターを管理する静的ユーザーにパーミッションを付与します。

    1. Access controlCluster Roles and Access で、Add user を選択します。
    2. 前のステップで作成した静的ユーザーの User ID を入力します。
    3. グループ を選択します。dedicated-admins グループのユーザーには、Red Hat OpenShift Service on AWS の標準の管理者権限があります。cluster-admins グループのユーザーには、クラスターへの完全な管理アクセス権限があります。
    4. Add user を選択して、管理者権限をユーザーに付与します。

検証

  • 設定された htpasswd アイデンティティープロバイダーは、Access controlIdentity providers ページに表示されます。

    注記

    アイデンティティープロバイダーの作成後に、同期は通常 2 分以内に完了します。htpasswd アイデンティティープロバイダーが利用可能になると、ユーザーとしてクラスターにログインできます。

  • 管理ユーザーは、Access controlCluster Roles and Access ページで確認できます。ユーザーの管理グループメンバーシップも表示されます。

第9章 ROSA クラスターへのアクセスの取り消し

IDP (アイデンティティプロバイダー) は、Red Hat OpenShift Service on AWS (ROSA) クラスターへのアクセスを制御します。ユーザーのクラスターへのアクセスを取り消すには、認証用に設定された IDP 内で設定する必要があります。

9.1. ROSA CLI を使用した管理者アクセスの取り消し

ユーザーの管理者権限を取り消して、管理者権限がなくてもクラスターにアクセスできるようにすることができます。ユーザーの管理者アクセスを削除するには、dedicated-admin または cluster-admin の権限を取り消す必要があります。Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) または OpenShift Cluster Manager コンソールを使用して管理者権限を取り消すことができます。

9.1.1. ROSA CLI を使用した dedicated-admin アクセスの取り消し

dedicated-admin ユーザーのアクセス権を取り消すことができるのは、自分がクラスターを作成したユーザー、組織管理者ユーザー、またはスーパー管理者ユーザーの場合です。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 取り消す権限を持つユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. ユーザーの dedicated-admin アクセスを取り消すには、次のコマンドを入力してください。

    $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して、ユーザーに dedicated-admin アクセスがなくなったことを確認します。出力には、取り消したユーザーが表示されません。

    $ oc get groups dedicated-admins
    Copy to Clipboard Toggle word wrap

9.1.2. ROSA CLI を使用した cluster-admin アクセス権の取り消し

クラスターを作成したユーザーのみが、cluster-admin ユーザーのアクセスを取り消すことができます。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 取り消す権限を持つユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. ユーザーの cluster-admin アクセスを取り消すには、次のコマンドを入力してください。

    $ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、そのユーザーが cluster-admin アクセス権を失ったことを確認します。出力には、取り消したユーザーが表示されません。

    $ oc get groups cluster-admins
    Copy to Clipboard Toggle word wrap

9.2. OpenShift Cluster Manager コンソールを使用した管理者アクセスの取り消し

OpenShift Cluster Manager のコンソールから、ユーザーの dedicated-admin または cluster-admin アクセスを取り消すことができます。ユーザーは、管理者権限がなくてもクラスターにアクセスできるようになります。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 取り消す権限を持つユーザーの IDP ユーザー名がある。
  • クラスターの作成に使用した OpenShift Cluster Manager アカウント、組織の管理者ユーザー、またはスーパーユーザーを使用して OpenShift Cluster Manager コンソールにログインしている。

手順

  1. OpenShift Cluster Manager の Cluster List タブで、クラスターの名前を選択してクラスターの詳細を表示します。
  2. Access control > Cluster Roles and Access を選択します。
  3. 削除するユーザーについて、ユーザーとグループの組み合わせの右にある Options メニュー kebab をクリックし、Delete をクリックします。

第10章 ROSA クラスターの削除

このドキュメントでは、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを削除する手順を説明します。クラスターを削除した後、クラスターで使用されている AWS Identity and Access Management (IAM) リソースを削除することもできます。

10.1. 前提条件

  • Red Hat OpenShift Service on AWS が VPC を作成した場合は、クラスターを正常に削除する前に、クラスターから次のアイテムを削除する必要があります。

    • VPN 設定や VPC ピアリング接続などのネットワーク設定
    • VPC に追加された追加サービス

これらの設定とサービスが残っている場合、クラスターは適切に削除されません。

10.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) をインストールして設定している。

手順

  1. クラスター ID、クラスター固有 Operator ロールの Amazon Resource Names (ARN)、および OIDC プロバイダーのエンドポイント URL を取得します。

    $ rosa describe cluster --cluster=<cluster_name> 
    1
    Copy to Clipboard Toggle word wrap
    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://oidc.op1.openshiftapps.com/<oidc_config_id> 
    3
    Copy to Clipboard Toggle word wrap

    1
    クラスター ID をリスト表示します。
    2
    クラスター固有の Operator ロールの ARN を指定します。たとえば、サンプル出力では、Machine Config Operator に必要なロールの ARN は arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials です。
    3
    クラスター固有の OIDC プロバイダーのエンドポイント URL が表示されます。
    重要

    クラスターが削除された後、ROSA CLI (rosa) を使用してクラスター固有の STS リソースを削除するには、クラスター ID が必要です。

  2. クラスターを削除します。

    • Red Hat OpenShift Cluster Manager を使用してクラスターを削除するには:

      1. OpenShift Cluster Manager に移動します。
      2. クラスターの横にあるオプションメニュー kebab をクリックし、Delete cluster を選択します。
      3. プロンプトでクラスターの名前を入力し、Delete をクリックします。
    • ROSA CLI (rosa) を使用してクラスターを削除するには:

      1. 次のコマンドを入力し、クラスターを削除してログを監視します。<cluster_name> は、クラスターの名前または ID に置き換えます。

        $ rosa delete cluster --cluster=<cluster_name> --watch
        Copy to Clipboard Toggle word wrap
        重要

        Operator ロールと OIDC プロバイダーを削除する前に、クラスターの削除が完了するのを待つ必要があります。クラスター固有の Operator ロールは、OpenShift Operator によって作成されるリソースをクリーンアップするために必要です。Operator は、OIDC プロバイダーを利用して認証を行います。

  3. クラスター Operator が認証に使用する OIDC プロバイダーを削除します。

    $ rosa delete oidc-provider -c <cluster_id> --mode auto 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_id> をクラスターの ID に置き換えてください。
    注記

    -y オプションを使用すると、プロンプトに対して自動的にはいと答えることができます。

  4. オプション: クラスター固有の Operator IAM ロールを削除します。

    重要

    アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。

    $ rosa delete operator-roles -c <cluster_id> --mode auto 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_id> をクラスターの ID に置き換えてください。

トラブルシューティング

  • IAM ロールが欠落しているためにクラスターを削除できない場合は、削除できないクラスターの修復 を参照してください。
  • 他の理由でクラスターを削除できない場合:

    • Hybrid Cloud Console で保留中のクラスターのアドオンがないことを確認します。
    • Amazon Web Console で、すべての AWS リソースと依存関係が削除されていることを確認します。

10.3. アカウント全体の IAM リソースの削除

アカウント全体の AWS Identity and Access Management (IAM) リソースに依存するすべての ROSA with HCP クラスターを削除したら、アカウント全体のリソースを削除できます。

Red Hat OpenShift Cluster Manager を使用して HCP クラスターで ROSA をインストールする必要がなくなった場合は、OpenShift Cluster Manager とユーザー IAM ロールを削除することもできます。

重要

アカウント全体の IAM ロールおよびポリシーは、同じ AWS アカウントの他の ROSA with HCP クラスターによって使用される可能性があります。他のクラスターで必要でない場合にのみリソースを削除します。

OpenShift Cluster Manager を使用して同じ AWS アカウント内の他の ROSA with HCP クラスターをインストール、管理、削除する場合は、OpenShift Cluster Manager とユーザー IAM ロールが必要です。ロールの削除は、OpenShift Cluster Manager を使用してアカウントに ROSA with HCP クラスターをインストールする必要がなくなった場合にのみ行ってください。削除前にこれらのロールが削除された場合にクラスターを修復する方法は、クラスターのデプロイメントのトラブルシューティング の「削除できないクラスターの修復」を参照してください。

10.3.1. アカウント全体の IAM ロールとポリシーの削除

このセクションでは、STS ROSA with HCP のデプロイ用に作成したアカウント全体の IAM ロールとポリシーを、アカウント全体の Operator ポリシーとともに削除する手順を説明します。アカウント全体の AWS Identity and Access Management (IAM) ロールとポリシーは、それらに依存する、AWS Security Token Services (STS) を使用する ROSA (クラシック) クラスターをすべて削除した後にのみ削除できます。

重要

アカウント全体の IAM ロールとポリシーは、同じ AWS アカウント内の他の ROSA (クラシック) クラスターによって使用される可能性があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。

前提条件

  • 削除するアカウント全体の IAM ロールがある。
  • インストールホストに最新の ROSA CLI (rosa) をインストールして設定した。

手順

  1. アカウント全体のロールを削除します。

    1. ROSA CLI (rosa) を使用して、AWS アカウントのアカウント全体のロールをリスト表示します。

      $ rosa list account-roles
      Copy to Clipboard Toggle word wrap

      出力例

      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.19
      ManagedOpenShift-Installer-Role     Installer      arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role     4.19
      ManagedOpenShift-Support-Role       Support        arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role       4.19
      ManagedOpenShift-Worker-Role        Worker         arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role        4.19
      Copy to Clipboard Toggle word wrap

I: Fetching account roles
ROLE NAME                                 ROLE TYPE      ROLE ARN                                                                 OPENSHIFT VERSION  AWS Managed
ManagedOpenShift-HCP-ROSA-Installer-Role  Installer      arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role  4.19               Yes
ManagedOpenShift-HCP-ROSA-Support-Role    Support        arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role    4.19               Yes
ManagedOpenShift-HCP-ROSA-Worker-Role     Worker         arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role     4.19               Yes
Copy to Clipboard Toggle word wrap
  1. アカウント全体のロールを削除します。

    $ rosa delete account-roles --prefix <prefix> --mode auto 
    1
    Copy to Clipboard Toggle word wrap
    1
    その際、--<prefix> 引数を含める必要があります。<prefix> を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である ManagedOpenShift を指定します。
    重要

    アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。

    出力例

    W: There are no classic account roles to be deleted
    I: Deleting hosted CP account roles
    ? Delete the account role 'delete-rosa-HCP-ROSA-Installer-Role'? Yes
    I: Deleting account role 'delete-rosa-HCP-ROSA-Installer-Role'
    ? Delete the account role 'delete-rosa-HCP-ROSA-Support-Role'? Yes
    I: Deleting account role 'delete-rosa-HCP-ROSA-Support-Role'
    ? Delete the account role 'delete-rosa-HCP-ROSA-Worker-Role'? Yes
    I: Deleting account role 'delete-rosa-HCP-ROSA-Worker-Role'
    I: Successfully deleted the hosted CP account roles
    Copy to Clipboard Toggle word wrap

    1. アカウント全体のポリシーと Operator ポリシーを削除します。
  2. AWS IAM ConsolePolicies ページで、アカウント全体のロールとポリシーを作成したときに指定した接頭辞でポリシーのリストをフィルタリングします。

    注記

    アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である ManagedOpenShift を検索します。

  3. AWS IAM コンソール を使用して、アカウント全体のポリシーと Operator ポリシーを削除します。AWS IAM コンソールを使用して IAM ポリシーを削除する方法の詳細は、AWS ドキュメントの IAM ポリシーの削除 を参照してください。

    重要

    アカウント全体の IAM ポリシーと Operator IAM ポリシーは、同じ AWS アカウント内の他の ROSA (クラシック) クラスターで使用される可能性があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。

10.3.2. OpenShift Cluster Manager およびユーザー IAM ロールのリンク解除と削除

Red Hat OpenShift Cluster Manager を使用して ROSA with HCP クラスターをインストールすると、OpenShift Cluster Manager と、Red Hat 組織にリンクするユーザーアイデンティティーおよびアクセス管理 (IAM) ロールも作成されます。クラスターを削除した後、ROSA CLI (rosa) を使用して、ロールのリンクを解除して削除できます。

重要

OpenShift Cluster Manager を使用して同じ AWS アカウントに他の ROSA クラスターをインストールおよび管理する場合は、OpenShift Cluster Manager とユーザー IAM ロールが必要です。OpenShift Cluster Manager を使用して ROSA with HCP クラスターをインストールする必要がなくなった場合にのみ、ロールを削除してください。

前提条件

  • OpenShift Cluster Manager とユーザー IAM ロールを作成し、それらを Red Hat 組織にリンクした。
  • インストールホストに最新の ROSA CLI (rosa) をインストールして設定した。
  • Red Hat 組織で組織管理者権限がある。

手順

  1. Red Hat 組織から OpenShift Cluster Manager IAM ロールのリンクを解除し、ロールを削除します。

    1. AWS アカウントで OpenShift Cluster Manager IAM ロールをリスト表示します。

      $ rosa list ocm-roles
      Copy to Clipboard Toggle word wrap

      出力例

      I: Fetching ocm roles
      ROLE NAME                                                     ROLE ARN                                                                                         LINKED  ADMIN  AWS Managed
      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     Yes
      Copy to Clipboard Toggle word wrap

    2. 上記のコマンドの出力で OpenShift Cluster Manager IAM ロールがリンク済みとしてリストされている場合は、次のコマンドを実行して、Red Hat 組織からロールのリンクを解除します。

      $ rosa unlink ocm-role --role-arn <arn> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <arn> を OpenShift Cluster Manager IAM ロールの Amazon Resource Name (ARN) に置き換えます。ARN は、前のコマンドの出力で指定されます。上記の例では、ARN の形式は arn:aws:iam::<aws_account_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>'
      Copy to Clipboard Toggle word wrap

    3. OpenShift Cluster Manager IAM のロールとポリシーを削除します。

      $ rosa delete ocm-role --role-arn <arn>
      Copy to Clipboard Toggle word wrap

      出力例

      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
      Copy to Clipboard Toggle word wrap

      1
      削除モードを指定します。auto モードを使用して、OpenShift Cluster Manager IAM ロールとポリシーを自動的に削除できます。manual モードでは、ROSA CLI はロールとポリシーを削除するために必要な aws コマンドを生成します。manual モードでは、aws コマンドを手動で実行する前に詳細を確認することができます。
  2. Red Hat 組織からユーザー IAM ロールのリンクを解除し、ロールを削除します。

    1. AWS アカウントのユーザー IAM ロールをリスト表示します。

      $ rosa list user-roles
      Copy to Clipboard Toggle word wrap

      出力例

      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
      Copy to Clipboard Toggle word wrap

    2. 上記のコマンドの出力にユーザー IAM ロールがリンクされていると表示されている場合は、Red Hat 組織からロールのリンクを解除します。

      $ rosa unlink user-role --role-arn <arn> 
      1
      Copy to Clipboard Toggle word wrap
      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>'
      Copy to Clipboard Toggle word wrap

    3. ユーザー IAM ロールを削除します。

      $ rosa delete user-role --role-arn <arn>
      Copy to Clipboard Toggle word wrap

      出力例

      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
      Copy to Clipboard Toggle word wrap

      1
      削除モードを指定します。auto モードを使用して、ユーザー IAM ロールを自動的に削除できます。manual モードでは、ROSA CLI はロールを削除するために必要な aws コマンドを生成します。manual モードでは、aws コマンドを手動で実行する前に詳細を確認できます。

第11章 AWS STS を使用しない ROSA のデプロイ

11.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) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.1.1. お客様の要件

Red Hat OpenShift Service on AWS (ROSA) クラスターは、デプロイする前に複数の前提条件を満たす必要があります。

注記

クラスターを作成するには、ユーザーは予想されるロールまたは STS ユーザーとしてではなく、IAM ユーザーとしてログインする必要があります。

11.1.1.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) でリソースをデプロイすることが推奨されますが、これは義務ではありません。

11.1.1.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 コンソールで利用可能なアクションは、お客様の AWS アカウントで直接実行しないでください。
11.1.1.3. サポート要件
  • Red Hat では、お客様が少なくとも AWS の ビジネスサポート を用意することを推奨します。
  • Red Hat は、AWS サポートを代行してリクエストする権限をお客様から受けます。
  • Red Hat は、お客様のアカウントで AWS リソース制限の引き上げをリクエストする権限をお客様から受けます。
  • Red Hat は、この要件に関するセクションで指定されていない場合に、すべての Red Hat OpenShift Service on AWS クラスターに関する制約、制限、予想される内容およびデフォルトの内容を管理します。
11.1.1.4. セキュリティー要件
  • ボリュームスナップショットは、お客様の AWS アカウントおよびお客様が指定するリージョン内に残ります。
  • Red Hat には、許可リストにある IP アドレスから EC2 ホストおよび API サーバーへの ingress アクセスが必要です。
  • Red Hat では、Red Hat が管理する中央ロギングスタックにシステムおよび監査ログを転送できるようにするために egress が必要です。

11.1.2. 必要なお客様の手順

Red Hat OpenShift Service on AWS (ROSA) をデプロイする前に、以下の手順を実行します。

手順

  1. お客様が AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、新規アカウントを作成 する必要があります。
  2. Red Hat が必要なアクションを実行できるようにするには、Service Control Policy (SCP) を作成するか、AWS アカウントに適用されているものがないことを確認する必要があります。
  3. SCP を AWS アカウントに 割り当て ます。
  4. 環境を設定するには、ROSA の手順に従います。
11.1.2.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) がこれらの必要なパーミッションを制限していないことを確認します。

Expand
 Serviceアクション効果

必須

Amazon EC2

すべて

許可

Amazon EC2 Auto Scaling

すべて

許可

Amazon S3

すべて

許可

アイデンティティーおよびアクセス管理

すべて

許可

Elastic Load Balancing

すべて

許可

Elastic Load Balancing V2

すべて

許可

Amazon CloudWatch

すべて

許可

Amazon CloudWatch Events

すべて

許可

Amazon CloudWatch Logs

すべて

許可

AWS EC2 Instance Connect

SendSerialConsoleSSHPublicKey

許可

AWS Support

すべて

許可

AWS Key Management Service

すべて

許可

AWS Security Token Service

すべて

許可

AWS Tiro

CreateQuery

GetQueryAnswer

GetQueryExplanation

許可

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

すべて

許可

11.1.3. AWS の Red Hat 管理 IAM リファレンス

Red Hat は、IAM ポリシー、IAM ユーザー、および IAM ロールなどの以下の Amazon Web Services (AWS) リソースを作成し、管理します。

11.1.3.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"
            }
        ]
    }
    Copy to Clipboard Toggle word wrap
11.1.3.2. IAM ユーザー

osdManagedAdmin ユーザーは、ROSA をお客様の AWS アカウントにインストール後すぐに作成されます。

11.1.4. プロビジョニングされる AWS インフラストラクチャー

これは、デプロイされた ROSA (クラシック) クラスターにプロビジョニングされる Amazon Web Services (AWS) コンポーネントの概要です。

11.1.4.1. EC2 インスタンス

ROSA (クラシック) のコントロールプレーンおよびデータプレーン機能をデプロイするには、AWS EC2 インスタンスが必要です。

インスタンスタイプは、ワーカーノードの数に応じてコントロールプレーンおよびインフラストラクチャーノードによって異なる場合があります。

少なくとも、次の EC2 インスタンスがデプロイされます。

  • 3 つの m5.2xlarge コントロールプレーンノード
  • 2 つの r5.xlarge インフラストラクチャーノード
  • 2 つの m5.xlarge ワーカーノード

ワーカーノードに表示されるインスタンスタイプはデフォルト値ですが、ワークロードの要件に応じてワーカーノードのインスタンスタイプをカスタマイズできます。

11.1.4.2. Amazon Elastic Block Store ストレージ

Amazon Elastic Block Store (Amazon EBS) ブロックストレージは、ローカルノードストレージと永続ボリュームストレージの両方に使用されます。デフォルトでは、各 EC2 インスタンスに対して次のストレージがプロビジョニングされます。

  • コントロールプレーンボリューム

    • サイズ: 350GB
    • タイプ: gp3
    • 1 秒あたりの I/O 処理数: 1000
  • インフラストラクチャーボリューム

    • サイズ: 300GB
    • タイプ: gp3
    • 1 秒あたりの入出力操作: 900
  • ワーカーボリューム

    • デフォルトサイズ: 300 GiB (作成時に調整可能)
    • 最小サイズ: 128GB
    • タイプ: gp3
    • 1 秒あたりの入出力操作: 900
注記

OpenShift Container Platform 4.11 のリリースより前にデプロイされたクラスターは、デフォルトで gp2 タイプのストレージを使用します。

11.1.4.3. Elastic Load Balancing

各クラスターでは、アプリケーションルーター用に最大 2 つの Classic Load Balancer と、API 用に最大 2 つの Network Load Balancer を使用できます。

詳細は、AWS に関する ELB ドキュメント を参照してください。

11.1.4.4. S3 ストレージ

イメージレジストリーは、AWS S3 ストレージによって支えられています。S3 の使用量とクラスターのパフォーマンスを最適化するために、リソースのプルーニングを定期的に実行します。

注記

通常のサイズがそれぞれ 2TB の 2 つのバケットが必要です。

11.1.4.5. VPC

次の要件に従って VPC を設定します。

  • サブネット: すべてのクラスターに、アベイラビリティーゾーンごとに少なくとも 1 つのプライベートサブネットが必要です。たとえば、単一ゾーンのクラスターには 1 つのプライベートサブネットが必要であり、3 つのアベイラビリティーゾーンを持つクラスターには 3 つのプライベートサブネットが必要です。

    クラスターがパブリックインターネットを含むクラスター外部のネットワークに直接アクセスする必要がある場合は、少なくとも 1 つのパブリックサブネットが必要です。

    Red Hat では、クラスターごとに一意のサブネットを使用することを強く推奨しています。複数のクラスター間でサブネットを共有することは推奨しません。

    注記

    パブリックサブネット は、インターネットゲートウェイを介してインターネットに直接接続します。

    プライベートサブネット は、ネットワークアドレス変換 (NAT) ゲートウェイを介してインターネットに接続します。

  • ルートテーブル: プライベートサブネットごとに 1 つのルートテーブルと、クラスターごとに 1 つの追加テーブル。
  • インターネットゲートウェイ: クラスターごとに 1 つのインターネットゲートウェイ。
  • NAT ゲートウェイ: パブリックサブネットごとに 1 つの NAT ゲートウェイ。

図11.1 サンプル VPC アーキテクチャー

11.1.4.6. セキュリティーグループ

AWS セキュリティーグループは、プロトコルおよびポートアクセスレベルでセキュリティーを提供します。これらは EC2 インスタンスおよび Elastic Load Balancing (ELB) ロードバランサーに関連付けられます。各セキュリティーグループには、1 つ以上の EC2 インスタンスの送受信トラフィックをフィルタリングする一連のルールが含まれます。

クラスターのインストールと操作に必要なポートがネットワーク上で開いており、ホスト間のアクセスを許可するように設定されていることを確認します。デフォルトのセキュリティーグループの要件は デフォルトのセキュリティーグループに必要なポート に記載されています。

Expand
表11.1 デフォルトのセキュリティーグループに必要なポート
グループIP プロトコルポート範囲

MasterSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

tcp

6443

tcp

22623

WorkerSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

BootstrapSecurityGroup

AWS::EC2::SecurityGroup

tcp

22

tcp

19531

11.1.4.6.1. 追加のカスタムセキュリティーグループ

既存の管理対象外の VPC を使用してクラスターを作成する場合、クラスターの作成中に追加のカスタムセキュリティーグループを追加できます。カスタムセキュリティーグループには次の制限があります。

  • クラスターを作成する前に、AWS でカスタムセキュリティーグループを作成する必要があります。詳細は、Amazon EC2 security groups for Linux instances を参照してください。
  • カスタムセキュリティーグループを、クラスターのインストール先の VPC に関連付ける必要があります。カスタムセキュリティーグループを別の VPC に関連付けることはできません。
  • カスタムセキュリティーグループを追加する場合は、VPC の追加クォータをリクエストする必要がある場合があります。ROSA (クラシック) の AWS クォータ要件の詳細は、環境の準備必要な AWS サービスクォータ を参照してください。AWS クォータ引き上げのリクエストは、Requesting a quota increase を参照してください。

11.1.5. ネットワークの前提条件

11.1.5.1. 最小帯域幅

ROSA (クラシック) では、クラスターのデプロイ時に、クラスターのインフラストラクチャーと、デプロイ用のアーティファクトおよびリソースを提供するパブリックインターネットまたはプライベートネットワーク上の拠点との間で、最低 120 Mbps の帯域幅が必要です。ネットワーク接続が 120 Mbps より遅い場合 (たとえば、プロキシー経由で接続している場合)、クラスターのインストールプロセスがタイムアウトし、デプロイメントが失敗します。

クラスターのデプロイ後のネットワーク要件はワークロードに基づきます。ただし、最小帯域幅 120 Mbps は、クラスターと Operator を適切なタイミングで確実にアップグレードするために役立ちます。

11.1.5.2. STS を使用する ROSA (クラシック) クラスターのファイアウォールの前提条件
重要

ファイアウォールを使用して Egress トラフィックを制御できるのは、PrivateLink を使用してデプロイされた ROSA クラスターだけです。

前提条件

  • AWS Virtual Private Cloud (VPC) に Amazon S3 ゲートウェイエンドポイントを設定した。このエンドポイントは、クラスターから Amazon S3 サービスへのリクエストを完了するために必要です。

手順

  1. パッケージとツールのインストールおよびダウンロードに使用される以下の URL を許可リストに指定します。

    Expand
    ドメインポート機能

    registry.redhat.io

    443

    コアコンテナーイメージを指定します。

    quay.io

    443

    コアコンテナーイメージを指定します。

    cdn01.quay.io

    443

    コアコンテナーイメージを指定します。

    cdn02.quay.io

    443

    コアコンテナーイメージを指定します。

    cdn03.quay.io

    443

    コアコンテナーイメージを指定します。

    cdn04.quay.io

    443

    コアコンテナーイメージを指定します。

    cdn05.quay.io

    443

    コアコンテナーイメージを指定します。

    cdn06.quay.io

    443

    コアコンテナーイメージを指定します。

    sso.redhat.com

    443

    必須。https://console.redhat.com/openshift サイトでは、sso.redhat.com からの認証を使用してプルシークレットをダウンロードし、Red Hat SaaS ソリューションを使用してサブスクリプション、クラスターインベントリー、チャージバックレポートなどのモニタリングを行います。

    quay-registry.s3.amazonaws.com

    443

    コアコンテナーイメージを指定します。

    quayio-production-s3.s3.amazonaws.com

    443

    コアコンテナーイメージを指定します。

    registry.access.redhat.com

    443

    Red Hat Ecosytem Catalog に保存されているすべてのコンテナーイメージをホストします。さらに、レジストリーは、開発者が OpenShift および Kubernetes 上で構築するのに役立つ odo CLI ツールへのアクセスを提供します。

    access.redhat.com

    443

    必須。コンテナークライアントが registry.access.redhat.com からイメージを取得するときにイメージを検証するために必要な署名ストアをホストします。

    registry.connect.redhat.com

    443

    すべてのサードパーティーのイメージと認定 Operator に必要です。

    console.redhat.com

    443

    必須。クラスターと OpenShift Cluster Manager 間の対話を可能にし、アップグレードのスケジューリングなどの機能を有効にします。

    sso.redhat.com

    443

    https://console.redhat.com/openshift サイトは、sso.redhat.com からの認証を使用します。

    pull.q1w2.quay.rhcloud.com

    443

    quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。

    catalog.redhat.com

    443

    registry.access.redhat.com および https://registry.redhat.io サイトは catalog.redhat.com にリダイレクトされます。

    oidc.op1.openshiftapps.com

    443

    マネージド OIDC 設定を使用した STS 実装で、ROSA が使用します。

  2. 次のテレメトリー URL を許可リストに追加します。

    Expand
    ドメインポート機能

    cert-api.access.redhat.com

    443

    テレメトリーに必要です。

    api.access.redhat.com

    443

    テレメトリーに必要です。

    infogw.api.openshift.com

    443

    テレメトリーに必要です。

    console.redhat.com

    443

    テレメトリーと Red Hat Insights に必要です。

    observatorium-mst.api.openshift.com

    443

    マネージド OpenShift 固有のテレメトリーに使用されます。

    observatorium.api.openshift.com

    443

    マネージド OpenShift 固有のテレメトリーに使用されます。

    マネージドクラスターでは、テレメトリーを有効にする必要があります。これは、Red Hat が問題に迅速に対応し、お客様をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにするためです。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は 関連情報 セクションの リモートヘルスモニタリングについて を参照してください。

  3. 次の Amazon Web Services (AWS) API の URL を許可リストに追加します。

    Expand
    ドメインポート機能

    .amazonaws.com

    443

    AWS サービスおよびリソースへのアクセスに必要です。

    または、Amazon Web Services (AWS) API にワイルドカードを使用しない場合は、次の URL を許可リストに追加する必要があります。

    Expand
    ドメインポート機能

    ec2.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    events.<aws_region>.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    iam.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    route53.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    sts.amazonaws.com

    443

    AWS STS のグローバルエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。

    sts.<aws_region>.amazonaws.com

    443

    AWS STS の地域化されたエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。詳細は、AWS STS の地域化されたエンドポイント を参照してください。

    tagging.us-east-1.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。このエンドポイントは、クラスターがデプロイメントされているリージョンに関係なく、常に us-east-1 です。

    ec2.<aws_region>.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    elasticloadbalancing.<aws_region>.amazonaws.com

    443

    AWS 環境でのクラスターのインストールおよび管理に使用されます。

    tagging.<aws_region>.amazonaws.com

    443

    タグの形式で AWS リソースに関するメタデータを割り当てることができます。

  4. 次の OpenShift URL を許可リストに追加します。

    Expand
    ドメインポート機能

    mirror.openshift.com

    443

    ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。このサイトはリリースイメージ署名のソースでもあります。

    api.openshift.com

    443

    クラスターに更新が利用可能かどうかを確認するのに使用されます。

  5. 次の Site Reliability Engineering (SRE) および管理 URL を許可リストに追加します。

    Expand
    ドメインポート機能

    api.pagerduty.com

    443

    このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知に関するアラートが送信されます。

    events.pagerduty.com

    443

    このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知に関するアラートが送信されます。

    api.deadmanssnitch.com

    443

    Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。

    nosnch.in

    443

    Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。

    http-inputs-osdsecuritylogs.splunkcloud.com

    443

    必須。splunk-forwarder-operator によって使用され、ログベースのアラートに Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。

    sftp.access.redhat.com (推奨)

    22

    must-gather-operator が、クラスターに関する問題のトラブルシューティングに役立つ診断ログをアップロードするのに使用される SFTP サーバー。

11.1.6. 次のステップ

11.2. ROSA デプロイメントワークフローを理解する

Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、AWS の前提条件を満たし、必要な AWS サービスクォータが利用可能であることを確認し、環境をセットアップする必要があります。

このドキュメントでは、ROSA のワークフローステージの概要と、各ステージの詳細なリソースを説明します。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.2.1. ROSA デプロイメントワークフローの概要

このセクションで説明されているワークフローステージに従い、Red Hat OpenShift Service on AWS (ROSA) クラスターを設定し、アクセスできます。

  1. AWS の前提条件の実行。ROSA クラスターをデプロイするには、AWS アカウントが前提条件を満たしている必要があります。
  2. 必要な AWS サービスクォータの確認。クラスターのデプロイメントを準備するには、ROSA クラスターの実行に必要な AWS サービスクォータを確認します。
  3. AWS アカウントの設定。ROSA クラスターを作成する前に、AWS アカウントで ROSA を有効にし、AWS CLI (aws) ツールをインストールして設定し、AWS CLI ツールの設定を確認する必要があります。
  4. ROSA および OpenShift CLI ツールのインストールと、AWS サービスクォータの確認。ROSA CLI (rosa)、OpenShift CLI (oc) をインストールし、設定します。ROSA CLI を使用して、必要な AWS リソースクォータが利用可能かどうかを確認できます。
  5. ROSA クラスターの作成AWS PrivateLink を使用した ROSA クラスターの作成。ROSA CLI (rosa) を使用してクラスターを作成します。オプションで、AWS PrivateLink を使用して ROSA クラスターを作成できます。
  6. クラスターへのアクセス。アイデンティティープロバイダーを設定し、必要に応じてクラスター管理者権限をアイデンティティープロバイダーユーザーに付与できます。cluster-admin ユーザーを設定して、新たにデプロイされたクラスターにすばやくアクセスすることもできます。
  7. ユーザーの ROSA クラスターへのアクセスを取り消す。ROSA CLI または Web コンソールを使用して、ROSA クラスターへのアクセス権をユーザーから取り消すことができます。
  8. ROSA クラスターを削除します。ROSA CLI (rosa) を使用して、ROSA クラスターを削除できます。

11.3. 必要な AWS サービスクォータ

Red Hat OpenShift Service on AWS クラスターの実行に必要な Amazon Web Service (AWS) サービスクォータのリストを確認します。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.3.1. 必要な AWS サービスクォータ

以下の表は、1 つの ROSA (クラシック) クラスターを作成して実行するために必要な AWS サービスのクォータとレベルを示しています。ほとんどのデフォルト値は大抵のワークロードに適していますが、次の場合には追加クォータのリクエストが必要になることがあります。

  • ROSA クラスターでは、クラスターの作成、可用性、アップグレードを提供するために、最低 100 仮想 CPU の AWS EC2 サービスクォータが必要です。実行中のオンデマンド標準 Amazon EC2 インスタンスに割り当てられる vCPU のデフォルトの最大値は 5 です。したがって、以前に同じ AWS アカウントを使用して ROSA クラスターを作成したことがない場合は、Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances を実行するための追加の EC2 クォータをリクエストする必要があります。
  • カスタムセキュリティーグループなど、一部のオプションのクラスター設定機能により、追加クォータのリクエストが必要になることがあります。たとえば、ROSA はデフォルトで 1 つのセキュリティーグループをワーカーマシンプールのネットワークインターフェイスに関連付けますが、Security groups per network interface のデフォルトのクォータは 5 であるため、5 つのカスタムセキュリティーグループを追加するには、追加のクォータをリクエストする必要があります。セキュリティーグループを追加すると、ワーカーのネットワークインターフェイス上のセキュリティーグループが、合計 6 つになるためです。
注記

AWS SDK を使用すると、ROSA はクォータをチェックできますが、AWS SDK の計算では、既存の使用量が考慮されません。したがって、AWS SDK のクォータチェックに合格しても、使用可能なクォータが不足しているためにクラスターの作成が失敗する可能性があります。この問題を修正するには、クォータを増やします。

特定の AWS クォータを変更または増やす必要がある場合は、クォータ引き上げのリクエスト に関する Amazon のドキュメントを参照してください。クォータリクエストが大きい場合、審査のために Amazon サポートに送信され、承認されるまでに時間がかかる場合があります。クォータリクエストが緊急の場合は、AWS サポートにお問い合わせください。

Expand
表11.2 ROSA に必要なサービスクォータ
クォータ名サービスコードクォータコードAWS のデフォルト最小要件説明

Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances

ec2

L-1216C47A

5

100

オンデマンド標準 (A、C、D、H、I、M、R、T、Z) インスタンスの実行に割り当てられる vCPU の最大数。デフォルト値の 5 vCPU は、ROSA クラスターを作成するには不十分です。

Storage for General Purpose SSD (gp2) volume storage in TiB

ebs

L-D18FCD1D

50

300

このリージョンの汎用 SSD (gp2) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。

Storage for General Purpose SSD (gp3) volume storage in TiB

ebs

L-7A658B76

50

300

このリージョンの汎用 SSD (gp3) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。最適なパフォーマンスを得るには、300 TiB のストレージが最低限必要です。

Storage for Provisioned IOPS SSD (io1) volumes in TiB

ebs

L-FD252861

50

300

このリージョンのプロビジョンド IOPS SSD (io1) ボリューム全体にプロビジョニングできるストレージの最大集計量 (TiB 単位)。

最適なパフォーマンスを得るには、300 TiB のストレージが最低限必要です。

Expand
表11.3 一般的な AWS サービスクォータ
クォータ名サービスコードクォータコードAWS のデフォルト最小要件説明

EC2-VPC Elastic IPs

ec2

L-0263D0A3

5

5

このリージョンで EC2-VPC に割り当てることができる Elastic IP アドレスの最大数。

VPCs per Region

vpc

L-F678F1CE

5

5

リージョンあたりの VPC の最大数。このクォータは、リージョンあたりのインターネットゲートウェイの最大数に直接関係しています。

Internet gateways per Region

vpc

L-A4707A72

5

5

リージョンあたりのインターネットゲートウェイの最大数。このクォータは、リージョンあたりの VPC の最大数に直接関係しています。このクォータを増やすには、リージョンあたりの VPC の数を増やします。

Network interfaces per Region

vpc

L-DF5E4CA3

5,000

5,000

リージョンあたりのネットワークインターフェイスの最大数。

Security groups per network interface

vpc

L-2AFB9258

5

5

ネットワークインターフェイスごとのセキュリティーグループの最大数。セキュリティーグループごとのルール数のクォータとこのクォータを掛けた値が 1000 を超えることはできません。

Snapshots per Region

ebs

L-309BACF6

10,000

10,000

リージョンあたりのスナップショットの最大数

IOPS for Provisioned IOPS SSD (Io1) volumes

ebs

L-B3A130E6

300,000

300,000

このリージョンのプロビジョンド IOPS SDD (io1) ボリューム全体にプロビジョニングできる IOPS の最大集計数。

Application Load Balancers per Region

elasticloadbalancing

L-53DA6B97

50

50

各リージョンに存在できる Application Load Balancer の最大数。

Classic Load Balancers per Region

elasticloadbalancing

L-E9E9831D

20

20

各リージョンに存在できる Classic Load Balancer の最大数。

11.3.2. 次のステップ

11.4. AWS アカウントの設定

AWS の前提条件が完了したら、AWS アカウントを設定し、Red Hat OpenShift Service on AWS (ROSA) サービスを有効にします。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.4.1. AWS アカウントの設定

AWS アカウントを ROSA サービスを使用するように設定するには、以下の手順を実行します。

前提条件

  • デプロイメントの前提条件およびポリシーを確認し、完了している。
  • Red Hat アカウント がない場合は作成している。次に、確認リンクに関するメールを確認する。ROSA をインストールするには認証情報が必要です。

手順

  1. 使用する Amazon Web Services (AWS) アカウントにログインします。

    実稼働クラスターを実行するには、専用の AWS アカウントを使用することが推奨されます。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。

    AWS Organizations を使用しており、使用する予定の AWS アカウントにサービスコントロールポリシー (SCP) を適用する必要がある場合は、最小限必要な SCP の詳細を AWS 前提条件で確認してください。

    クラスター作成プロセスの一環として、rosaosdCcsAdmin IAM ユーザーを作成します。このユーザーは、AWS CLI の設定時に指定する IAM 認証情報を使用します。

    注記

    このユーザーは Programmatic アクセスを有効にしており、AdministratorAccess ポリシーがこれに割り当てられています。

  2. AWS コンソールで ROSA サービスを有効にします。

    1. AWS アカウント にサインインします。
    2. ROSA を有効にするには、ROSA service に移動し、Enable OpenShift を選択します。
  3. AWS CLI をインストールし、設定します。

    1. AWS コマンドラインインターフェイスのドキュメントを参照し、オペレーティングシステムの AWS CLI を インストール し、設定 します。

      .aws/credentials ファイルで正しい aws_access_key_id および aws_secret_access_key を指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。

    2. デフォルトの AWS リージョンを設定します。

      注記

      環境変数を使用してデフォルトの AWS リージョンを設定することが推奨されます。

      ROSA は以下の優先順位でリージョンを評価します。

      1. --region フラグを指定して rosa コマンドを実行する際に指定されるリージョン。
      2. AWS_DEFAULT_REGION 環境変数に設定されるリージョン。AWS ドキュメントの Environment variables to configure the AWS CLI を参照してください。
      3. AWS 設定ファイルで設定されるデフォルトのリージョン。AWS ドキュメントの Quick configuration with aws configure を参照してください。
    3. オプション: AWS の名前付きプロファイルを使用して AWS CLI 設定および認証情報を設定します。rosa は以下の優先順位で AWS の名前付きプロファイルを評価します。

      1. rosa コマンドを --profile フラグを指定して実行する場合に指定されるプロファイル。
      2. AWS_PROFILE 環境変数に設定されるプロファイル。AWS ドキュメントの Named profiles を参照してください。
    4. 以下のコマンドを実行して AWS API をクエリーし、AWS CLI がインストールされ、正しく設定されていることを確認します。

      $ aws sts get-caller-identity --output text
      Copy to Clipboard Toggle word wrap

      出力例

      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>
      Copy to Clipboard Toggle word wrap

      これらの手順を完了したら、ROSA をインストールします。

11.4.2. 次のステップ

11.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) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.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 サービスを有効にしている。

手順

  1. Red Hat OpenShift Service on AWS コマンドラインインターフェイス (CLI) の rosa をインストールします。

    1. お使いのオペレーティングシステム用の ROSA CLI の 最新リリース をダウンロードします。
    2. オプション: rosa にダウンロードした実行可能ファイルの名前を変更します。このドキュメントでは、rosa を使用して実行可能ファイルを参照します。
    3. オプション: rosa をパスに追加します。

      $ mv rosa /usr/local/bin/rosa
      Copy to Clipboard Toggle word wrap

    4. 以下のコマンドを実行して、インストールを確認します。

      $ rosa
      Copy to Clipboard Toggle word wrap

      出力例

      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.
      Copy to Clipboard Toggle word wrap

    5. オプション: ROSA CLI のコマンド補完スクリプトを生成します。以下の例では、Linux マシン用の Bash 補完スクリプトを生成します。

      $ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
      Copy to Clipboard Toggle word wrap
    6. オプション: 既存のターミナルから ROSA CLI のコマンド補完を有効にします。次の例では、Linux マシン上の既存のターミナルで rosa の Bash 補完を有効にします。

      $ source /etc/bash_completion.d/rosa
      Copy to Clipboard Toggle word wrap
  2. rosa で Red Hat アカウントにログインします。

    1. 以下のコマンドを入力します。

      $ rosa login
      Copy to Clipboard Toggle word wrap
    2. <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>
      Copy to Clipboard Toggle word wrap

      出力例

      I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'
      Copy to Clipboard Toggle word wrap

  3. 以下のコマンドを実行して、AWS アカウントに必要なパーミッションがあることを確認します。

    $ rosa verify permissions
    Copy to Clipboard Toggle word wrap

    出力例

    I: Validating SCP policies...
    I: AWS SCP policies ok
    Copy to Clipboard Toggle word wrap

    注記

    このコマンドは、AWS Security Token Service(STS) を使用しない ROSA クラスターに対してのみパーミッションを検証します。

  4. AWS アカウントに、Red Hat OpenShift Service on AWS クラスターにデプロイするのに必要なクォータがあることを確認します。

    $ rosa verify quota --region=us-west-2
    Copy to Clipboard Toggle word wrap

    出力例

    I: Validating AWS quota...
    I: AWS quota ok
    Copy to Clipboard Toggle word wrap

    注記

    AWS クォータはリージョンによって異なる場合があります。エラーが発生した場合は、別のリージョンを試してください。

    クォータを増やす必要がある場合は、AWS コンソール に移動し、失敗したサービスにクォータの増加を要求します。

    パーミッションとクォータの両方のチェックにパスしたら、次のステップに進みます。

  5. クラスターデプロイメント用に AWS アカウントを準備します。

    1. 次のコマンドを実行して、Red Hat および AWS 認証情報が正しく設定されていることを確認します。AWS アカウント ID、デフォルトのリージョンおよび ARN が予想される内容と一致していることを確認します。現時点では、OCM で始まる行を安全に無視できます。

      $ rosa whoami
      Copy to Clipboard Toggle word wrap

      出力例

      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
      Copy to Clipboard Toggle word wrap

    2. AWS アカウントを初期化します。この手順では、クラスターのデプロイメントおよび管理用に AWS アカウントを準備するために CloudFormation テンプレートを実行します。このステップには通常、完了までに 1 - 2 分の時間がかかります。

      $ rosa init
      Copy to Clipboard Toggle word wrap

      出力例

      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.
      Copy to Clipboard Toggle word wrap

  6. ROSA CLI から OpenShift CLI (oc) をインストールします。

    1. 以下のコマンドを入力して、最新バージョンの oc CLI をダウンロードします。

      $ rosa download oc
      Copy to Clipboard Toggle word wrap
    2. oc CLI をダウンロードした後に、これをデプロイメントし、パスに追加します。
    3. 以下のコマンドを実行して、oc CLI が正常にインストールされていることを確認します。

      $ rosa verify oc
      Copy to Clipboard Toggle word wrap

ROSA のインストール後に、クラスターを作成する準備が整います。

11.5.2. 次のステップ

11.6. AWS STS を使用せずに ROSA クラスターの作成

環境を設定して Red Hat OpenShift Service on AWS (ROSA) をインストールした後に、クラスターを作成します。

このドキュメントでは、ROSA クラスターを設定する方法を説明します。または、AWS PrivateLink を使用して ROSA クラスターを作成できます。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.6.1. クラスターの作成

ROSA CLI (rosa) を使用して Red Hat OpenShift Service on AWS (ROSA) クラスターを作成できます。

前提条件

Red Hat OpenShift Service on AWS がインストールされている。

注記

現時点で、AWS 共有 VPC は ROSA インストールではサポートされていません。

手順

  1. デフォルト設定を使用するか、対話モードでカスタム設定を指定してクラスターを作成できます。クラスターの作成時に他のオプションを表示するには、rosa create cluster --help コマンドを入力します。

    クラスターの作成には最長で 40 分かかる場合があります。

    注記

    実稼働環境のワークロードには、複数のアベイラビリティーゾーン (AZ) の使用が推奨されます。デフォルトは単一のアベイラビリティーゾーンです。--help を使用してこのオプションを手動で設定する方法の例を確認するか、この設定に関するプロンプトを表示する対話モードを使用します。

    • デフォルトのクラスター設定でクラスターを作成するには、以下を実行します。

      $ rosa create cluster --cluster-name=<cluster_name>
      Copy to Clipboard Toggle word wrap

      出力例

      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`.
      Copy to Clipboard Toggle word wrap

    • 対話式プロンプトを使用してクラスターを作成するには、以下を実行します。

      $ rosa create cluster --interactive
      Copy to Clipboard Toggle word wrap
    • ネットワーク 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
  2. 次のコマンドを入力してクラスターのステータスを確認します。クラスターの作成時に、出力の State フィールドは pending から installing に移行し、最終的に ready に移行します。

    $ rosa describe cluster --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    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
    Copy to Clipboard Toggle word wrap

    注記

    インストールが失敗した場合や、40 分後に State フィールドが ready に変わらない場合は、インストールのトラブルシューティングに関するドキュメントで詳細を確認してください。

  3. OpenShift インストーラーログを監視して、クラスター作成の進捗を追跡します。

    $ rosa logs install --cluster=<cluster_name> --watch
    Copy to Clipboard Toggle word wrap

11.6.2. 次のステップ

アイデンティティープロバイダーの設定

11.7. プライベートクラスターの設定

Red Hat OpenShift Service on AWS クラスターをプライベートにし、内部アプリケーションを企業ネットワーク内でホストできるようにします。さらに、プライベートクラスターは、セキュリティーを強化するために内部 API エンドポイントのみを持つように設定できます。

プライバシー設定は、クラスターの作成時またはクラスターの設定後に設定できます。

11.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
Copy to Clipboard Toggle word wrap
注記

または、各クラスターオプションについて --interactive を使用してプロンプトを表示します。

11.7.2. 既存クラスターでのプライベートクラスターの有効化

クラスターを作成したら、後でクラスターをプライベートにすることができます。

重要

プライベートクラスターは AWS セキュリティートークンサービス (STS) と併用できません。ただし、STS は AWS PrivateLink クラスターをサポートします。

前提条件

AWS VPC ピアリング、VPN、DirectConnect、または TransitGateway がプライベートアクセスを許可するよう設定されている。

手順

以下のコマンドを実行して、既存のクラスターで --private オプションを有効にします。

$ rosa edit cluster --cluster=<cluster_name> --private
Copy to Clipboard Toggle word wrap
注記

クラスターをプライベートとパブリックの間で移行するには、完了までに数分の時間がかかる場合があります。

11.8. ROSA クラスターへのアクセスの削除

rosa コマンドラインを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターへのアクセスを削除します。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.8.1. ROSA CLI を使用した dedicated-admin アクセスの取り消し

dedicated-admin ユーザーのアクセス権を取り消すことができるのは、自分がクラスターを作成したユーザー、組織管理者ユーザー、またはスーパー管理者ユーザーの場合です。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 取り消す権限を持つユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. ユーザーの dedicated-admin アクセスを取り消すには、次のコマンドを入力してください。

    $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して、ユーザーに dedicated-admin アクセスがなくなったことを確認します。出力には、取り消したユーザーが表示されません。

    $ oc get groups dedicated-admins
    Copy to Clipboard Toggle word wrap

11.8.2. ROSA CLI を使用した cluster-admin アクセス権の取り消し

クラスターを作成したユーザーのみが、cluster-admin ユーザーのアクセスを取り消すことができます。

前提条件

  • アイデンティティープロバイダー (IDP) をクラスターに追加している。
  • 取り消す権限を持つユーザーの IDP ユーザー名がある。
  • クラスターにログインしている。

手順

  1. ユーザーの cluster-admin アクセスを取り消すには、次のコマンドを入力してください。

    $ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、そのユーザーが cluster-admin アクセス権を失ったことを確認します。出力には、取り消したユーザーが表示されません。

    $ oc get groups cluster-admins
    Copy to Clipboard Toggle word wrap

11.9. ROSA クラスターの削除

rosa コマンドラインを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターを削除します。

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.9.1. 前提条件

  • Red Hat OpenShift Service on AWS が VPC を作成した場合は、クラスターを正常に削除する前に、クラスターから次のアイテムを削除する必要があります。

    • VPN 設定や VPC ピアリング接続などのネットワーク設定
    • VPC に追加された追加サービス

これらの設定とサービスが残っている場合、クラスターは適切に削除されません。

11.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) をインストールして設定している。

手順

  1. クラスター ID、クラスター固有 Operator ロールの Amazon Resource Names (ARN)、および OIDC プロバイダーのエンドポイント URL を取得します。

    $ rosa describe cluster --cluster=<cluster_name> 
    1
    Copy to Clipboard Toggle word wrap
    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://oidc.op1.openshiftapps.com/<oidc_config_id> 
    3
    Copy to Clipboard Toggle word wrap

    1
    クラスター ID をリスト表示します。
    2
    クラスター固有の Operator ロールの ARN を指定します。たとえば、サンプル出力では、Machine Config Operator に必要なロールの ARN は arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials です。
    3
    クラスター固有の OIDC プロバイダーのエンドポイント URL が表示されます。
    重要

    クラスターが削除された後、ROSA CLI (rosa) を使用してクラスター固有の STS リソースを削除するには、クラスター ID が必要です。

  2. クラスターを削除します。

    • Red Hat OpenShift Cluster Manager を使用してクラスターを削除するには:

      1. OpenShift Cluster Manager に移動します。
      2. クラスターの横にあるオプションメニュー kebab をクリックし、Delete cluster を選択します。
      3. プロンプトでクラスターの名前を入力し、Delete をクリックします。
    • ROSA CLI (rosa) を使用してクラスターを削除するには:

      1. 次のコマンドを入力し、クラスターを削除してログを監視します。<cluster_name> は、クラスターの名前または ID に置き換えます。

        $ rosa delete cluster --cluster=<cluster_name> --watch
        Copy to Clipboard Toggle word wrap
        重要

        Operator ロールと OIDC プロバイダーを削除する前に、クラスターの削除が完了するのを待つ必要があります。クラスター固有の Operator ロールは、OpenShift Operator によって作成されるリソースをクリーンアップするために必要です。Operator は、OIDC プロバイダーを利用して認証を行います。

  3. クラスター Operator が認証に使用する OIDC プロバイダーを削除します。

    $ rosa delete oidc-provider -c <cluster_id> --mode auto 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_id> をクラスターの ID に置き換えてください。
    注記

    -y オプションを使用すると、プロンプトに対して自動的にはいと答えることができます。

  4. オプション: クラスター固有の Operator IAM ロールを削除します。

    重要

    アカウント全体の IAM ロールは、同じ AWS アカウント内の他の ROSA クラスターによって使用される場合があります。他のクラスターで必要とされていない場合に限り、ロールだけを削除します。

    $ rosa delete operator-roles -c <cluster_id> --mode auto 
    1
    Copy to Clipboard Toggle word wrap
    1
    <cluster_id> をクラスターの ID に置き換えてください。

トラブルシューティング

  • IAM ロールが欠落しているためにクラスターを削除できない場合は、削除できないクラスターの修復 を参照してください。
  • 他の理由でクラスターを削除できない場合:

    • Hybrid Cloud Console で保留中のクラスターのアドオンがないことを確認します。
    • Amazon Web Console で、すべての AWS リソースと依存関係が削除されていることを確認します。

11.10. クラスターおよびユーザーを作成するためのコマンドのクイックリファレンス

ヒント

AWS Security Token Service (STS) は、セキュリティーが強化されているため、ROSA (クラシック) にクラスターをインストールして操作するのに推奨される認証情報モードです。

11.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>
Copy to Clipboard Toggle word wrap

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat