スタートガイド

Red Hat OpenShift Service on AWS 4

クラスターおよびアカウントの設定

Red Hat OpenShift Documentation Team

概要

本書では、Red Hat OpenShift Service on AWS (ROSA) クラスターを開始する方法を説明します。

第1章 Red Hat OpenShift Service on AWS クイックスタートガイド

注記

Red Hat OpenShift Service on AWS (ROSA) の包括的なスタートガイドをお探しの場合は、Red Hat OpenShift Service on AWS を開始するための包括的なガイド を参照してください。ROSA のインストールの詳細は、Red Hat Openshift Service on AWS (ROSA) のインストールのインタラクティブな説明 を参照してください。

このガイドに従って、Red Hat Hybrid Cloud Console の Red Hat OpenShift Cluster Manager を使用してすぐに Red Hat OpenShift Service on AWS (ROSA) クラスターの作成、ユーザーアクセスの許可、最初のアプリケーションのデプロイを行い、ユーザーアクセスを取り消してクラスターの削除する方法を学びます。

このドキュメントの手順では、AWS Security Token Service (STS) を使用するクラスターを作成できます。ROSA クラスターで AWS STS を使用する方法は、AWS Security Token Service の使用 を参照してください。

Red Hat OpenShift Service on AWS

1.1. 前提条件

1.2. 環境の設定

Red Hat OpenShift Service on AWS(ROSA) クラスターを作成する前に、以下のタスクを実行して環境を設定する必要があります。

  • AWS および Red Hat アカウントに対して ROSA の前提条件を確認します。
  • 必要なコマンドラインインターフェイス (CLI) ツールをインストールして設定する
  • CLI ツールの設定を確認する

本セクションの手順に従って、これらの設定要件を完了できます。

ROSA の前提条件の確認

以下の手順に従って、AWS アカウントで Red Hat OpenShift Service on AWS (ROSA) を有効にします。

前提条件

  • Red Hat アカウントを持っている。
  • AWS アカウントがある。

    注記

    専用の AWS アカウントを使用して実稼働クラスターを実行することを検討してください。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。

手順

  1. AWS 管理コンソール にログインします。
  2. ROSA service に移動します。
  3. Get started をクリックします。

    Verify ROSA prerequisites ページが開きます。

  4. ROSA enablement の下で、緑色のチェックマークと You previously enabled ROSA が表示されていることを確認します。

    そうでない場合は、次の手順に従います。

    1. I agree to share my contact information with Red Hat の横にあるチェックボックスを選択します。
    2. Enable ROSA をクリックします。

      少し待つと、緑色のチェックマークと You enabled ROSA メッセージが表示されます。

  5. Service Quotas の下に、緑色のチェックと Your quotas meet the requirements for ROSA が表示されていることを確認します。

    Your quotas don't meet the minimum requirements が表示された場合は、エラーメッセージに表示されているクォータの種類と最小値をメモしてください。ガイダンスについては、割り当て増加のリクエスト に関する Amazon のドキュメントを参照してください。Amazon が割り当てリクエストを承認するまでに数時間かかる場合があります。

  6. ELB service-linked role の下で、緑色のチェックマークと AWSServiceRoleForElasticLoadBalancing already exists が表示されていることを確認します。
  7. Continue to Red Hat をクリックします。

    Get started with Red Hat OpenShift Service on AWS (ROSA) ページが新しいタブで開きます。このページのステップ 1 はすでに完了しており、ステップ 2 に進むことができます。

必要な CLI ツールのインストールと設定

次の手順を使用して、ワークステーションにインストールして設定します。

手順

  1. 最新の AWS CLI (aws) をインストールして設定します。

    1. AWS コマンドラインインターフェイス ドキュメントに従って、お使いのオペレーティングシステム用の AWS CLI をインストールし、設定します。

      .aws/credentials ファイルに aws_access_key_idaws_secret_access_key、および region を指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。

      注記

      AWS_DEFAULT_REGION 環境変数を使用して、デフォルトの AWS リージョンを設定することもできます。

    2. AWS API をクエリーし、AWS CLI が適切にインストールおよび設定されているかどうかを確認します。

      $ aws sts get-caller-identity  --output text

      出力例

      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>

  2. 最新の ROSA CLI (rosa) をインストールし、設定します。

    1. Red Hat OpenShift Cluster Manager Hybrid Cloud Console の ダウンロード ページから、オペレーティングシステム用の最新バージョンの ROSA CLI をダウンロードします。
    2. ダウンロードしたアーカイブから rosa バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからバイナリーをデプロイメントします。

      $ tar xvf rosa-linux.tar.gz
    3. パスに rosa を加えてください。以下の例では、/usr/local/bin ディレクトリーがユーザーのパスに含まれます。

      $ sudo mv rosa /usr/local/bin/rosa
    4. rosa バージョンをクエリーして、ROSA CLI ツールが適切にインストールされていることを確認します。

      $ rosa version

      出力例

      1.2.15
      Your ROSA CLI is up to date.

    5. ROSA CLI を使用して Red Hat アカウントにログインします。

      $ rosa login

      出力例

      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:

      コマンド出力にリスト表示されている URL に移動し、オフラインアクセストークンを取得します。ログインする CLI プロンプトでトークンを指定します。

      注記

      その後に rosa login コマンドの実行時に --token="<offline_access_token>" 引数を使用してオフラインアクセストークンを指定できます。

    6. 正常にログインできるかどうかを確認し、認証情報を確認します。

      $ rosa whoami

      出力例

      AWS Account ID:               <aws_account_number>
      AWS Default Region:           us-east-1
      AWS ARN:                      arn:aws:iam::<aws_account_number>:user/<aws_user_name>
      OCM API:                      https://api.openshift.com
      OCM Account ID:               <red_hat_account_id>
      OCM Account Name:             Your Name
      OCM Account Username:         you@domain.com
      OCM Account Email:            you@domain.com
      OCM Organization ID:          <org_id>
      OCM Organization Name:        Your organization
      OCM Organization External ID: <external_org_id>

      次に進む前に、出力の情報が正しいことを確認します。

1.3. デフォルトの自動モードを使用した AWS STS での ROSA クラスターの作成

Red Hat OpenShift Cluster Manager は、Red Hat OpenShift クラスターをインストール、変更、操作、アップグレードできる Red Hat Hybrid Cloud Console 上の管理対象サービスです。このサービスを使用すると、単一のダッシュボードから組織のすべてのクラスターを操作できます。このドキュメントの手順では、OpenShift Cluster Manager の auto モードで、現在の AWS アカウントを使用して必要なアイデンティティーおよびアクセス管理 (IAM) リソースをすぐに作成します。必要なリソースには、アカウント全体の IAM ロールおよびポリシー、クラスター固有の Operator ロール、ならびに OpenID Connect (OIDC) ID プロバイダーが含まれます。

OpenShift Cluster Manager Hybrid Cloud Console で、STS を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する場合に、デフォルトのオプションを選択するとクラスターをすばやく作成できます。

OpenShift Cluster Manager Hybrid Cloud Console を使用して STS クラスターで ROSA をデプロイする前に、AWS アカウントを Red Hat 組織に関連付け、必要なアカウント全体の STS ロールおよびポリシーを作成する必要があります。

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

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

コンポーネントデフォルトの仕様

アカウントおよびロール

  • デフォルトの IAM ロールの接頭辞: ManagedOpenShift
  • クラスター管理者ロールは作成されない

クラスター設定

  • デフォルトのクラスターバージョン: 最新
  • 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 の両方) が有効になっています
  • 可用性: データプレーンの単一ゾーン
  • ユーザー定義プロジェクトの監視: 有効

暗号化

  • クラウドストレージは保存時に暗号化されます。
  • 追加の etcd 暗号化が有効になっていません。
  • デフォルトの AWS Key Management Service (KMS) キーは、永続データの暗号化キーとして使用される

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

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

インフラストラクチャーノードの設定

  • インフラストラクチャーノードインスタンスタイプ: r5.xlarge (4 vCPU, 32 GiB RAM)
  • インフラストラクチャーノード数: 2

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

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

ネットワーク設定

  • クラスターのプライバシー: パブリック
  • クラスター全体のプロキシーは設定されていません。

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/16
  • Host prefix: /23

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

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

    注記

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

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

クラスター更新戦略

  • 個別の更新
  • ノードドレインの 1 時間の猶予期間

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) プロバイダーの自動デプロイが可能になります。

User role

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

ユーザーロールは、OpenShift Cluster Manager Hybrid Cloud Console を使用してクラスターと必要な STS リソースをインストールするときに、AWS Identity を確認するために Red Hat によって使用されます。

AWS アカウントを Red Hat 組織に関連付ける

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 ロールを作成し、そのロールを Red Hat 組織に関連付ける必要があります。次に、ユーザー IAM ロールを作成し、同じ 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

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

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

    $ rosa create user-role

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

    注記

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

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

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

手順

  1. それらが AWS アカウントに存在しない場合は、アカウント全体の STS ロールとポリシーで必要なものを作成します。

    $ rosa create account-roles

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

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) プロバイダーの自動デプロイメントを有効にすることもできます。

手順

  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 をクリックします。
  6. クラスターをすばやくデプロイするには、Cluster settingsNetworkingCluster roles and policies、および Cluster updates ページのデフォルトのオプションをそのままにして、各ページで Next をクリックします。
  7. Review your ROSA cluster 確認ページで、選択内容の概要を確認し、Create cluster をクリックしてインストールを開始します。

検証

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

    注記

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

1.4. クラスターにすぐアクセスできるようにクラスター管理者ユーザーの作成

アイデンティティープロバイダーを設定する前に、cluster-admin 権限のあるユーザーを作成して、Red Hat OpenShift Service on AWS (ROSA) クラスターへすぐにアクセスできるようにします。

注記

クラスター管理者ユーザーは、新たにデプロイされたクラスターにすぐアクセスが必要な場合に役立ちます。ただし、アイデンティティープロバイダーを設定し、必要に応じてクラスター管理者権限をアイデンティティープロバイダーユーザーに付与することを検討してください。ROSA クラスターのアイデンティティープロバイダーの設定の詳細は、アイデンティティープロバイダーの設定およびクラスターのアクセスの付与 を参照してください。

手順

  1. クラスター管理者ユーザーを作成します。

    $ rosa create admin --cluster=<cluster_name> 1
    1
    <cluster_name> は、クラスター名に置き換えます。

    出力例

    W: It is recommended to add an identity provider to login to this cluster. See 'rosa create idp --help' for more information.
    I: Admin account has been added to cluster '<cluster_name>'.
    I: Please securely store this generated password. If you lose this password you can delete and recreate the cluster admin user.
    I: To login, run the following command:
    
       oc login https://api.example-cluster.wxyz.p1.openshiftapps.com:6443 --username cluster-admin --password d7Rca-Ba4jy-YeXhs-WU42J
    
    I: It may take up to a minute for the account to become active.

    注記

    cluster-admin ユーザーがアクティブになるまで約 1 分かかる場合があります。

関連情報

1.5. アイデンティティープロバイダーの設定およびクラスターアクセスの付与

Red Hat OpenShift Service on AWS (ROSA) には、ビルトイン OAuth サーバーが含まれます。ROSA クラスターの作成後に、OAuth をアイデンティティープロバイダーを使用するように設定する必要があります。その後、メンバーを設定済みのアイデンティティープロバイダーに追加して、クラスターへのアクセス権限を付与できます。

また、必要に応じて、アイデンティティープロバイダーユーザーに cluster-admin 権限または dedicated-admin 権限を付与することもできます。

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

Red Hat OpenShift Service on AWS (ROSA) クラスターにさまざまなアイデンティティープロバイダータイプを設定できます。サポート対象のタイプには、GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect、htpasswd アイデンティティープロバイダーが含まれます。

重要

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

以下の手順では、例として GitHub アイデンティティープロバイダーを設定します。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. ROSA クラスターのアイデンティティープロビジョニングに使用する既存の GitHub 組織がない場合は、これを作成します。GitHub ドキュメント の手順に従います。
  3. GitHub 組織のメンバーに限定するように、クラスターの GitHub アイデンティティープロバイダーを設定します。

    1. インタラクティブモードを使用してアイデンティティープロバイダーを設定します。

      $ rosa create idp --cluster=<cluster_name> --interactive 1
      1
      <cluster_name> は、クラスター名に置き換えます。

      出力例

      I: Interactive mode enabled.
      Any optional fields can be left empty and a default will be selected.
      ? Type of identity provider: github
      ? Identity provider name: github-1
      ? Restrict to members of: organizations
      ? GitHub organizations: <github_org_name> 1
      ? To use GitHub as an identity provider, you must first register the application:
        - Open the following URL:
          https://github.com/organizations/<github_org_name>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<cluster_name>/<random_string>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<cluster_name>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<cluster_name>/<random_string>.p1.openshiftapps.com
        - Click on 'Register application'
      ...

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

      注記

      Register a new OAuth application GitHub フォームのフィールドには、ROSA CLI ツールで定義された URL を介して、必要な値が自動的に入力されます。

    3. GitHub OAuth アプリケーションページの情報を使用して、残りの rosa create idp の対話式プロンプトを設定します。

      出力例 (続き)

      ...
      ? Client ID: <github_client_id> 1
      ? Client Secret: [? for help] <github_client_secret> 2
      ? GitHub Enterprise Hostname (optional):
      ? Mapping method: claim 3
      I: Configuring IDP for cluster '<cluster_name>'
      I: Identity Provider 'github-1' has been created.
         It will take up to 1 minute for this configuration to be enabled.
         To add cluster administrators, see 'rosa grant user --help'.
         To login into the console, open https://console-openshift-console.apps.<cluster_name>.<random_string>.p1.openshiftapps.com and click on github-1.

      1
      <github_client_id> は、GitHub OAuth アプリケーションのクライアント ID に置き換えます。
      2
      <github_client_secret> は、GitHub OAuth アプリケーションのクライアントシークレットに置き換えます。
      3
      claim をマッピング方法として指定します。
      注記

      アイデンティティープロバイダー設定がアクティブになるまでに、約 2 分かかる場合があります。cluster-admin ユーザーを設定している場合は、oc get pods -n openshift-authentication --watch を実行して、更新された設定で OAuth Pod の再デプロイを確認できます。

    4. 以下のコマンドを実行して、アイデンティティープロバイダーが正しく設定されていることを確認します。

      $ rosa list idps --cluster=<cluster_name>

      出力例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1

関連情報

クラスターへのユーザーアクセスの付与

ユーザーアクセスを設定済みのアイデンティティープロバイダーに追加して、Red Hat OpenShift Service on AWS (ROSA) クラスターに付与できます。

ROSA クラスターに異なるタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織に、ユーザーを追加します。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. GitHub 組織への ROSA クラスターへのアクセスを必要とするユーザーを招待します。GitHub ドキュメントの 組織に参加するようにユーザーを招待する の手順を実行してください。

ユーザーへの管理者権限の付与

ユーザーを設定済みのアイデンティティープロバイダーに追加した後に、Red Hat OpenShift Service on AWS (ROSA) クラスターの cluster-admin 権限または dedicated-admin 権限を付与できます。

手順

  • アイデンティティープロバイダーユーザーの cluster-admin 権限を設定するには、以下を実行します。

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

      $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> 1
      1
      <idp_user_name> および <cluster_name> は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。

      出力例

      I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが cluster-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    cluster-admins

  • アイデンティティープロバイダーユーザーに dedicated-admin 権限を設定するには、以下を実行します。

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

      $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

      出力例

      I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが dedicated-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    dedicated-admins

1.6. Web コンソールを使用したクラスターへのアクセス

クラスター管理者ユーザーの作成後や、設定済みのアイデンティティープロバイダーへのユーザーの追加後に、Web コンソールを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターにログインできます。

手順

  1. クラスターのコンソール URL を取得します。

    $ rosa describe cluster -c <cluster_name> | grep Console 1
    1
    <cluster_name> は、クラスター名に置き換えます。

    出力例

    Console URL:                https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com

  2. 前述の手順の出力にあるコンソール URL に移動し、ログインします。

    • cluster-admin ユーザーを作成した場合は、指定した認証情報を使用してログインします。
    • クラスターにアイデンティティープロバイダーを設定している場合は、Log in with…​ ダイアログでアイデンティティープロバイダー名を選択し、プロバイダーによって提示される認可要求を完了します。

1.7. Developer Catalog からのアプリケーションのデプロイ

Red Hat OpenShift Service on AWS Web コンソールの Developer Catalog からテストアプリケーションをデプロイし、ルートで公開できます。

前提条件

  • Red Hat Hybrid Cloud Console にログインしている。
  • Red Hat OpenShift Service on AWS クラスターを作成している。
  • クラスターにアイデンティティープロバイダーを設定している。
  • 設定したアイデンティティープロバイダーにユーザーアカウントを追加している。

手順

  1. OpenShift Cluster ManagerClusters ページに移動します。
  2. 表示するクラスターの横にあるオプションアイコン (⋮) をクリックします。
  3. Open Console をクリックします。
  4. クラスターコンソールが新しいブラウザーウィンドウで開きます。設定済みのアイデンティティープロバイダーの認証情報を使用して Red Hat アカウントにログインします。
  5. Administrator パースペクティブで、HomeProjectsCreate Project の順に選択します。
  6. プロジェクトの名前を入力し、必要に応じて Display Name および Description を追加します。
  7. Create をクリックしてプロジェクトを作成します。
  8. Developer パースペクティブに切り替え、+Add を選択します。選択した Project が、作成したプロジェクトであることを確認します。
  9. Developer Catalog ダイアログで、All services を選択します。
  10. Developer Catalog ページで、メニューから LanguagesJavaScript を選択します。
  11. Node.js をクリックし、次に Create をクリックして、Create Source-to-Image application ページを開きます。

    注記

    場合によっては、Clear All Filters をクリックして Node.js オプションを表示する必要があります。

  12. Git セクションで Try sample をクリックします。
  13. Name フィールドに一意の名前を追加します。この値を使用して、関連付けられたリソースに名前を付けます。
  14. DeploymentCreate a route が選択されていることを確認します。
  15. Create をクリックしてアプリケーションをデプロイします。Pod のデプロイには数分かかります。
  16. オプション: nodejs アプリケーションを選択してそのサイドバーを確認して、Topology ペインで Pod のステータスを確認します。nodejs ビルドが完了し、nodejs Pod が Running 状態になるまで待機してから続行します。
  17. デプロイメントが完了したら、以下のような形式のアプリケーションのルート URL をクリックします。

    https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/

    ブラウザーの新しいタブが開き、以下のようなメッセージが表示されます。

    Welcome to your Node.js application on OpenShift
  18. オプション: アプリケーションを削除し、作成したリソースをクリーンアップします。

    1. Administrator パースペクティブで、HomeProjects に移動します。
    2. プロジェクトのアクションメニューをクリックし、Delete Project を選択します。

1.8. 管理者権限とユーザーアクセスの取り消し

Red Hat OpenShift Service on AWS (ROSA) CLI rosa を使用して、ユーザーから cluster-admin 権限または dedicated-admin 権限を取り消すことができます。

ユーザーからのクラスターアクセスを取り消すには、設定したアイデンティティープロバイダーからユーザーを削除する必要があります。

このセクションの手順に従って、ユーザーからの管理者権限またはクラスターアクセスを取り消すことができます。

ユーザーからの管理者権限の削除

このセクションの手順に従って、ユーザーから cluster-admin 権限または dedicated-admin 権限を取り消すことができます。

手順

  • アイデンティティープロバイダーユーザーから cluster-admin 権限を取り消すには、以下を実行します。

    1. cluster-admin 権限を取り消します。

      $ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> 1
      1
      <idp_user_name> および <cluster_name> は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。

      出力例

      ? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが cluster-admins グループのメンバーとしてリスト表示されていないことを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      W: There are no users configured for cluster '<cluster_name>'

  • アイデンティティープロバイダーユーザーから dedicated-admin 権限を取り消すには、以下を実行します。

    1. dedicated-admin 特権を取り消します。

      $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

      出力例

      ? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが dedicated-admins グループのメンバーとしてリスト表示されていないことを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      W: There are no users configured for cluster '<cluster_name>'

クラスターへのユーザーアクセスの取り消し

アイデンティティープロバイダーを設定済みのアイデンティティープロバイダーから削除して、アイデンティティープロバイダーからクラスターへのアクセス権限を取り除くことができます。

ROSA クラスターに異なるタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織のメンバーのクラスターへのアクセス権を取り消すことができます。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. GitHub 組織からユーザーを削除します。GitHub ドキュメントの 組織からのメンバーの削除 の手順に従います。

1.9. ROSA クラスターおよび AWS STS リソースの削除

Red Hat OpenShift Service on AWS (ROSA) CLI の rosa を使用して、AWS Security Token Service (STS) を使用する ROSA クラスターを削除できます。また、ROSA CLI を使用して、AWS Identity and Access Management (IAM) アカウントワイドロール、クラスター固有の Operator ロール、および OpenID Connect (OIDC) プロバイダーを削除することもできます。アカウント全体のインラインポリシーと Operator ポリシーを削除するには、AWS IAM Console を使用できます。

重要

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

手順

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

    $ rosa delete cluster --cluster=<cluster_name> --watch
    重要

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

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

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

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

  3. クラスター固有の Operator IAM ロールを削除します。

    $ rosa delete operator-roles -c <cluster_id> --mode auto 1
    1
    <cluster_id> をクラスターの ID に置き換えてください。
  4. アカウント全体のロールを削除します。

    重要

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

    $ rosa delete account-roles --prefix <prefix> --mode auto 1
    1
    その際、--<prefix> 引数を含める必要があります。<prefix> を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である ManagedOpenShift を指定します。
  5. STS を使用する ROSA デプロイメント用に作成したアカウント全体のインラインおよび Operator IAM ポリシーを削除します。

    1. AWS IAM コンソール にログインします。
    2. Access managementPolicies に移動し、アカウント全体のポリシーのいずれかを選択します。
    3. ポリシーを選択した状態で、ActionsDelete をクリックし、削除ポリシーダイアログを開きます。
    4. ポリシー名を入力して削除の確認を行い、Delete を選択してポリシーを削除します。
    5. この手順を繰り返して、クラスターのアカウント全体のインラインおよび Operator ポリシーを削除します。

1.10. 次のステップ

1.11. 関連情報

第2章 Red Hat OpenShift Service on AWS の使用を開始するための包括的なガイド

注記

ROSA のクイックスタートガイドをお探しの場合は、Red Hat OpenShift Service on AWS クイックスタートガイド を参照してください。

以下の手順に従って、Red Hat OpenShift Service on AWS (ROSA) クラスターを作成し、ユーザーアクセスを付与し、最初のアプリケーションをデプロイすると共に、ユーザーアクセスを取り消して、クラスターを削除する方法を確認します。

ROSA クラスターは、AWS Security Token Service (STS) の有無にかかわらず作成できます。本書の手順では、AWS STS を使用するクラスターを作成できます。ROSA クラスターで AWS STS を使用する方法は、AWS Security Token Service の使用 を参照してください。

2.1. 前提条件

2.2. 環境の設定

Red Hat OpenShift Service on AWS(ROSA) クラスターを作成する前に、以下のタスクを実行して環境を設定する必要があります。

  • AWS および Red Hat アカウントに対して ROSA の前提条件を確認します。
  • 必要なコマンドラインインターフェイス (CLI) ツールをインストールして設定する
  • CLI ツールの設定を確認する

本セクションの手順に従って、これらの設定要件を完了できます。

2.2.1. ROSA の前提条件の確認

以下の手順に従って、AWS アカウントで Red Hat OpenShift Service on AWS (ROSA) を有効にします。

前提条件

  • Red Hat アカウントを持っている。
  • AWS アカウントがある。

    注記

    専用の AWS アカウントを使用して実稼働クラスターを実行することを検討してください。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。

手順

  1. AWS 管理コンソール にログインします。
  2. ROSA service に移動します。
  3. Get started をクリックします。

    Verify ROSA prerequisites ページが開きます。

  4. ROSA enablement の下で、緑色のチェックマークと You previously enabled ROSA が表示されていることを確認します。

    そうでない場合は、次の手順に従います。

    1. I agree to share my contact information with Red Hat の横にあるチェックボックスを選択します。
    2. Enable ROSA をクリックします。

      少し待つと、緑色のチェックマークと You enabled ROSA メッセージが表示されます。

  5. Service Quotas の下に、緑色のチェックと Your quotas meet the requirements for ROSA が表示されていることを確認します。

    Your quotas don't meet the minimum requirements が表示された場合は、エラーメッセージに表示されているクォータの種類と最小値をメモしてください。ガイダンスについては、割り当て増加のリクエスト に関する Amazon のドキュメントを参照してください。Amazon が割り当てリクエストを承認するまでに数時間かかる場合があります。

  6. ELB service-linked role の下で、緑色のチェックマークと AWSServiceRoleForElasticLoadBalancing already exists が表示されていることを確認します。
  7. Continue to Red Hat をクリックします。

    Get started with Red Hat OpenShift Service on AWS (ROSA) ページが新しいタブで開きます。このページのステップ 1 はすでに完了しており、ステップ 2 に進むことができます。

2.2.2. 必要な CLI ツールのインストールと設定

以下の手順を使用して、AWS、Red Hat OpenShift Service on AWS (ROSA) および OpenShift CLI ツールをワークステーションにインストールし、設定します。

前提条件

  • AWS アカウントがある。
  • Red Hat アカウントを作成している。

    注記

    console.redhat.com に移動し、Red Hat アカウントの登録 を選択して、Red Hat アカウントを作成できます。

手順

  1. 最新の AWS CLI (aws) をインストールして設定します。

    1. AWS コマンドラインインターフェイス ドキュメントに従って、お使いのオペレーティングシステム用の AWS CLI をインストールし、設定します。

      .aws/credentials ファイルに aws_access_key_idaws_secret_access_key、および region を指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。

      注記

      AWS_DEFAULT_REGION 環境変数を使用して、デフォルトの AWS リージョンを設定することもできます。

    2. AWS API をクエリーし、AWS CLI が適切にインストールおよび設定されているかどうかを確認します。

      $ aws sts get-caller-identity  --output text

      出力例

      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>

  2. 最新の ROSA CLI (rosa) をインストールし、設定します。

    1. Red Hat OpenShift Cluster Manager Hybrid Cloud Console の ダウンロード ページから、オペレーティングシステム用の最新バージョンの ROSA CLI をダウンロードします。
    2. ダウンロードしたアーカイブから rosa バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからバイナリーをデプロイメントします。

      $ tar xvf rosa-linux.tar.gz
    3. パスに rosa を加えてください。以下の例では、/usr/local/bin ディレクトリーがユーザーのパスに含まれます。

      $ sudo mv rosa /usr/local/bin/rosa
    4. rosa バージョンをクエリーして、ROSA CLI ツールが適切にインストールされていることを確認します。

      $ rosa version

      出力例

      1.2.15
      Your ROSA CLI is up to date.

    5. オプション: ROSA CLI のタブ補完を有効にします。タブ補完を有効にすると、Tab キーを 2 回押すことでサブコマンドが自動的に補完され、コマンドの提案が表示されます。

      さまざまなシェルタイプで rosa のタブ補完が使用できます。以下の例では、Linux ホストで Bash の永続タブ補完を有効にします。このコマンドは、Bash の rosa タブ補完設定ファイルを生成して /etc/bash_completion.d/ ディレクトリーに保存します。

      # rosa completion bash > /etc/bash_completion.d/rosa

      設定を有効にするには、新しいターミナルを開いている必要があります。

      注記

      さまざまなシェルタイプの rosa タブ補完を設定する手順は、rosa completion --help を実行してヘルプメニューを参照してください。

    6. ROSA CLI を使用して Red Hat アカウントにログインします。

      $ rosa login

      出力例

      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:

      コマンド出力にリスト表示されている URL に移動し、オフラインアクセストークンを取得します。ログインする CLI プロンプトでトークンを指定します。

      注記

      その後に rosa login コマンドの実行時に --token="<offline_access_token>" 引数を使用してオフラインアクセストークンを指定できます。

    7. 正常にログインできるかどうかを確認し、認証情報を確認します。

      $ rosa whoami

      出力例

      AWS Account ID:               <aws_account_number>
      AWS Default Region:           us-east-1
      AWS ARN:                      arn:aws:iam::<aws_account_number>:user/<aws_user_name>
      OCM API:                      https://api.openshift.com
      OCM Account ID:               <red_hat_account_id>
      OCM Account Name:             Your Name
      OCM Account Username:         you@domain.com
      OCM Account Email:            you@domain.com
      OCM Organization ID:          <org_id>
      OCM Organization Name:        Your organization
      OCM Organization External ID: <external_org_id>

      次に進む前に、出力の情報が正しいことを確認します。

  3. 最新の OpenShift CLI (oc) をインストールして設定します。

    1. ROSA CLI を使用して、oc CLI の最新バージョンをダウンロードします。

      $ rosa download openshift-client
    2. ダウンロードしたアーカイブから oc バイナリーファイルをデプロイメントします。以下の例は、Linux tar アーカイブからファイルをデプロイメントします。

      $ tar xvf openshift-client-linux.tar.gz
    3. oc バイナリーをパスに追加します。以下の例では、/usr/local/bin ディレクトリーがユーザーのパスに含まれます。

      $ sudo mv oc /usr/local/bin/oc
    4. oc CLI が正常にインストールされていることを確認します。

      $ rosa verify openshift-client

      出力例

      I: Verifying whether OpenShift command-line tool is available...
      I: Current OpenShift Client Version: 4.9.12

2.3. STS を使用した ROSA クラスターの作成

以下のいずれかの方法を選択して、AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターをデプロイします。各シナリオでは、Red Hat OpenShift Cluster Manager または ROSA CLI (rosa) を使用してクラスターをデプロイできます。

関連情報

2.4. クラスターにすぐアクセスできるようにクラスター管理者ユーザーの作成

アイデンティティープロバイダーを設定する前に、cluster-admin 権限のあるユーザーを作成して、Red Hat OpenShift Service on AWS (ROSA) クラスターへすぐにアクセスできるようにします。

注記

クラスター管理者ユーザーは、新たにデプロイされたクラスターにすぐアクセスが必要な場合に役立ちます。ただし、アイデンティティープロバイダーを設定し、必要に応じてクラスター管理者権限をアイデンティティープロバイダーユーザーに付与することを検討してください。ROSA クラスターのアイデンティティープロバイダーの設定の詳細は、アイデンティティープロバイダーの設定およびクラスターのアクセスの付与 を参照してください。

前提条件

  • AWS アカウントがある。
  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。

手順

  1. クラスター管理者ユーザーを作成します。

    $ rosa create admin --cluster=<cluster_name> 1
    1
    <cluster_name> は、クラスター名に置き換えます。

    出力例

    W: It is recommended to add an identity provider to login to this cluster. See 'rosa create idp --help' for more information.
    I: Admin account has been added to cluster '<cluster_name>'.
    I: Please securely store this generated password. If you lose this password you can delete and recreate the cluster admin user.
    I: To login, run the following command:
    
       oc login https://api.example-cluster.wxyz.p1.openshiftapps.com:6443 --username cluster-admin --password d7Rca-Ba4jy-YeXhs-WU42J
    
    I: It may take up to a minute for the account to become active.

    注記

    cluster-admin ユーザーがアクティブになるまで約 1 分かかる場合があります。

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

    1. 上記の手順の出力で提供されたコマンドを実行して、ログインします。

      $ oc login <api_url> --username cluster-admin --password <cluster_admin_password> 1
      1
      <api_url> および <cluster_admin_password> は、環境の API URL およびクラスター管理者のパスワードに置き換えます。
    2. ROSA クラスターに cluster-admin ユーザーとしてログインしているかどうかを確認します。

      $ oc whoami

      出力例

      cluster-admin

関連情報

2.5. アイデンティティープロバイダーの設定およびクラスターアクセスの付与

Red Hat OpenShift Service on AWS (ROSA) には、ビルトイン OAuth サーバーが含まれます。ROSA クラスターの作成後に、OAuth をアイデンティティープロバイダーを使用するように設定する必要があります。その後、メンバーを設定済みのアイデンティティープロバイダーに追加して、クラスターへのアクセス権限を付与できます。

また、必要に応じて、アイデンティティープロバイダーユーザーに cluster-admin 権限または dedicated-admin 権限を付与することもできます。

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

Red Hat OpenShift Service on AWS (ROSA) クラスターにさまざまなアイデンティティープロバイダータイプを設定できます。サポート対象のタイプには、GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect、htpasswd アイデンティティープロバイダーが含まれます。

重要

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

以下の手順では、例として GitHub アイデンティティープロバイダーを設定します。

前提条件

  • AWS アカウントがある。
  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。
  • GitHub ユーザーアカウントがある。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. ROSA クラスターのアイデンティティープロビジョニングに使用する既存の GitHub 組織がない場合は、これを作成します。GitHub ドキュメント の手順に従います。
  3. GitHub 組織のメンバーに限定するように、クラスターの GitHub アイデンティティープロバイダーを設定します。

    1. インタラクティブモードを使用してアイデンティティープロバイダーを設定します。

      $ rosa create idp --cluster=<cluster_name> --interactive 1
      1
      <cluster_name> は、クラスター名に置き換えます。

      出力例

      I: Interactive mode enabled.
      Any optional fields can be left empty and a default will be selected.
      ? Type of identity provider: github
      ? Identity provider name: github-1
      ? Restrict to members of: organizations
      ? GitHub organizations: <github_org_name> 1
      ? To use GitHub as an identity provider, you must first register the application:
        - Open the following URL:
          https://github.com/organizations/<github_org_name>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<cluster_name>/<random_string>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<cluster_name>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<cluster_name>/<random_string>.p1.openshiftapps.com
        - Click on 'Register application'
      ...

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

      注記

      Register a new OAuth application GitHub フォームのフィールドには、ROSA CLI ツールで定義された URL を介して、必要な値が自動的に入力されます。

    3. GitHub OAuth アプリケーションページの情報を使用して、残りの rosa create idp の対話式プロンプトを設定します。

      出力例 (続き)

      ...
      ? Client ID: <github_client_id> 1
      ? Client Secret: [? for help] <github_client_secret> 2
      ? GitHub Enterprise Hostname (optional):
      ? Mapping method: claim 3
      I: Configuring IDP for cluster '<cluster_name>'
      I: Identity Provider 'github-1' has been created.
         It will take up to 1 minute for this configuration to be enabled.
         To add cluster administrators, see 'rosa grant user --help'.
         To login into the console, open https://console-openshift-console.apps.<cluster_name>.<random_string>.p1.openshiftapps.com and click on github-1.

      1
      <github_client_id> は、GitHub OAuth アプリケーションのクライアント ID に置き換えます。
      2
      <github_client_secret> は、GitHub OAuth アプリケーションのクライアントシークレットに置き換えます。
      3
      claim をマッピング方法として指定します。
      注記

      アイデンティティープロバイダー設定がアクティブになるまでに、約 2 分かかる場合があります。cluster-admin ユーザーを設定している場合は、oc get pods -n openshift-authentication --watch を実行して、更新された設定で OAuth Pod の再デプロイを確認できます。

    4. 以下のコマンドを実行して、アイデンティティープロバイダーが正しく設定されていることを確認します。

      $ rosa list idps --cluster=<cluster_name>

      出力例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1

関連情報

2.5.2. クラスターへのユーザーアクセスの付与

ユーザーアクセスを設定済みのアイデンティティープロバイダーに追加して、Red Hat OpenShift Service on AWS (ROSA) クラスターに付与できます。

ROSA クラスターに異なるタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織に、ユーザーを追加します。

前提条件

  • AWS アカウントがある。
  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。
  • GitHub ユーザーアカウントがある。
  • クラスターに GitHub アイデンティティープロバイダーを設定している。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. GitHub 組織への ROSA クラスターへのアクセスを必要とするユーザーを招待します。GitHub ドキュメントの 組織に参加するようにユーザーを招待する の手順を実行してください。

2.5.3. ユーザーへの管理者権限の付与

ユーザーを設定済みのアイデンティティープロバイダーに追加した後に、Red Hat OpenShift Service on AWS (ROSA) クラスターの cluster-admin 権限または dedicated-admin 権限を付与できます。

前提条件

  • AWS アカウントがある。
  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。
  • クラスターに GitHub アイデンティティープロバイダーを設定し、アイデンティティープロバイダーユーザーを追加している。

手順

  • アイデンティティープロバイダーユーザーの cluster-admin 権限を設定するには、以下を実行します。

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

      $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> 1
      1
      <idp_user_name> および <cluster_name> は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。

      出力例

      I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが cluster-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    cluster-admins

  • アイデンティティープロバイダーユーザーに dedicated-admin 権限を設定するには、以下を実行します。

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

      $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

      出力例

      I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが dedicated-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    dedicated-admins

2.6. Web コンソールを使用したクラスターへのアクセス

クラスター管理者ユーザーの作成後や、設定済みのアイデンティティープロバイダーへのユーザーの追加後に、Web コンソールを使用して Red Hat OpenShift Service on AWS (ROSA) クラスターにログインできます。

前提条件

  • AWS アカウントがある。
  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。
  • クラスター管理者ユーザーを作成しているか、ユーザーアカウントを設定済みのアイデンティティープロバイダーに追加している。

手順

  1. クラスターのコンソール URL を取得します。

    $ rosa describe cluster -c <cluster_name> | grep Console 1
    1
    <cluster_name> は、クラスター名に置き換えます。

    出力例

    Console URL:                https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com

  2. 前述の手順の出力にあるコンソール URL に移動し、ログインします。

    • cluster-admin ユーザーを作成した場合は、指定した認証情報を使用してログインします。
    • クラスターにアイデンティティープロバイダーを設定している場合は、Log in with…​ ダイアログでアイデンティティープロバイダー名を選択し、プロバイダーによって提示される認可要求を完了します。

2.7. Developer Catalog からのアプリケーションのデプロイ

Red Hat OpenShift Service on AWS Web コンソールの Developer Catalog からテストアプリケーションをデプロイし、ルートで公開できます。

前提条件

  • Red Hat Hybrid Cloud Console にログインしている。
  • Red Hat OpenShift Service on AWS クラスターを作成している。
  • クラスターにアイデンティティープロバイダーを設定している。
  • 設定したアイデンティティープロバイダーにユーザーアカウントを追加している。

手順

  1. OpenShift Cluster ManagerClusters ページに移動します。
  2. 表示するクラスターの横にあるオプションアイコン (⋮) をクリックします。
  3. Open Console をクリックします。
  4. クラスターコンソールが新しいブラウザーウィンドウで開きます。設定済みのアイデンティティープロバイダーの認証情報を使用して Red Hat アカウントにログインします。
  5. Administrator パースペクティブで、HomeProjectsCreate Project の順に選択します。
  6. プロジェクトの名前を入力し、必要に応じて Display Name および Description を追加します。
  7. Create をクリックしてプロジェクトを作成します。
  8. Developer パースペクティブに切り替え、+Add を選択します。選択した Project が、作成したプロジェクトであることを確認します。
  9. Developer Catalog ダイアログで、All services を選択します。
  10. Developer Catalog ページで、メニューから LanguagesJavaScript を選択します。
  11. Node.js をクリックし、次に Create をクリックして、Create Source-to-Image application ページを開きます。

    注記

    場合によっては、Clear All Filters をクリックして Node.js オプションを表示する必要があります。

  12. Git セクションで Try sample をクリックします。
  13. Name フィールドに一意の名前を追加します。この値を使用して、関連付けられたリソースに名前を付けます。
  14. DeploymentCreate a route が選択されていることを確認します。
  15. Create をクリックしてアプリケーションをデプロイします。Pod のデプロイには数分かかります。
  16. オプション: nodejs アプリケーションを選択してそのサイドバーを確認して、Topology ペインで Pod のステータスを確認します。nodejs ビルドが完了し、nodejs Pod が Running 状態になるまで待機してから続行します。
  17. デプロイメントが完了したら、以下のような形式のアプリケーションのルート URL をクリックします。

    https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/

    ブラウザーの新しいタブが開き、以下のようなメッセージが表示されます。

    Welcome to your Node.js application on OpenShift
  18. オプション: アプリケーションを削除し、作成したリソースをクリーンアップします。

    1. Administrator パースペクティブで、HomeProjects に移動します。
    2. プロジェクトのアクションメニューをクリックし、Delete Project を選択します。

2.8. 管理者権限とユーザーアクセスの取り消し

Red Hat OpenShift Service on AWS (ROSA) CLI rosa を使用して、ユーザーから cluster-admin 権限または dedicated-admin 権限を取り消すことができます。

ユーザーからのクラスターアクセスを取り消すには、設定したアイデンティティープロバイダーからユーザーを削除する必要があります。

このセクションの手順に従って、ユーザーからの管理者権限またはクラスターアクセスを取り消すことができます。

2.8.1. ユーザーからの管理者権限の削除

このセクションの手順に従って、ユーザーから cluster-admin 権限または dedicated-admin 権限を取り消すことができます。

前提条件

  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。
  • クラスターに GitHub アイデンティティープロバイダーを設定し、アイデンティティープロバイダーユーザーを追加している。
  • ユーザーに cluster-admin または dedicated-admin 権限が付与されている。

手順

  • アイデンティティープロバイダーユーザーから cluster-admin 権限を取り消すには、以下を実行します。

    1. cluster-admin 権限を取り消します。

      $ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> 1
      1
      <idp_user_name> および <cluster_name> は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。

      出力例

      ? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが cluster-admins グループのメンバーとしてリスト表示されていないことを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      W: There are no users configured for cluster '<cluster_name>'

  • アイデンティティープロバイダーユーザーから dedicated-admin 権限を取り消すには、以下を実行します。

    1. dedicated-admin 特権を取り消します。

      $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

      出力例

      ? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが dedicated-admins グループのメンバーとしてリスト表示されていないことを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      W: There are no users configured for cluster '<cluster_name>'

2.8.2. クラスターへのユーザーアクセスの取り消し

アイデンティティープロバイダーを設定済みのアイデンティティープロバイダーから削除して、アイデンティティープロバイダーからクラスターへのアクセス権限を取り除くことができます。

ROSA クラスターに異なるタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織のメンバーのクラスターへのアクセス権を取り消すことができます。

前提条件

  • ROSA クラスターがある。
  • GitHub ユーザーアカウントがある。
  • クラスターに GitHub アイデンティティープロバイダーを設定し、アイデンティティープロバイダーユーザーを追加している。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. GitHub 組織からユーザーを削除します。GitHub ドキュメントの 組織からのメンバーの削除 の手順に従います。

2.9. ROSA クラスターおよび AWS STS リソースの削除

Red Hat OpenShift Service on AWS (ROSA) CLI の rosa を使用して、AWS Security Token Service (STS) を使用する ROSA クラスターを削除できます。また、ROSA CLI を使用して、AWS Identity and Access Management (IAM) アカウントワイドロール、クラスター固有の Operator ロール、および OpenID Connect (OIDC) プロバイダーを削除することもできます。アカウント全体のインラインポリシーと Operator ポリシーを削除するには、AWS IAM Console を使用できます。

重要

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

前提条件

  • 最新の Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) をワークステーションにインストールして設定している。
  • ROSA CLI (rosa) を使用して Red Hat アカウントにログインしている。
  • ROSA クラスターを作成している。

手順

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

    $ rosa delete cluster --cluster=<cluster_name> --watch
    重要

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

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

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

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

  3. クラスター固有の Operator IAM ロールを削除します。

    $ rosa delete operator-roles -c <cluster_id> --mode auto 1
    1
    <cluster_id> をクラスターの ID に置き換えてください。
  4. アカウント全体のロールを削除します。

    重要

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

    $ rosa delete account-roles --prefix <prefix> --mode auto 1
    1
    その際、--<prefix> 引数を含める必要があります。<prefix> を削除するアカウント全体のロールの接頭辞に置き換えてください。アカウント全体のロールを作成したときにカスタム接頭辞を指定しなかった場合は、デフォルトの接頭辞である ManagedOpenShift を指定します。
  5. STS を使用する ROSA デプロイメント用に作成したアカウント全体のインラインおよび Operator IAM ポリシーを削除します。

    1. AWS IAM コンソール にログインします。
    2. Access managementPolicies に移動し、アカウント全体のポリシーのいずれかを選択します。
    3. ポリシーを選択した状態で、ActionsDelete をクリックし、削除ポリシーダイアログを開きます。
    4. ポリシー名を入力して削除の確認を行い、Delete を選択してポリシーを削除します。
    5. この手順を繰り返して、クラスターのアカウント全体のインラインおよび Operator ポリシーを削除します。

2.10. 次のステップ

2.11. 関連情報

第3章 STS を使用する ROSA のデプロイメントワークフローについて

Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、AWS の前提条件を満たし、必要な AWS サービスクォータが利用可能であることを確認し、環境をセットアップする必要があります。

本書では、STS デプロイメントワークフローステージを使用した ROSA の概要と、各ステージの詳細なリソースを説明します。

3.1. STS デプロイメントワークフローでの ROSA の概要

AWS Security Token Service (STS) は、IAM またはフェデレーションされたユーザーの短期認証情報を提供するグローバル Web サービスです。Red Hat OpenShift Service on AWS (ROSA) で AWS STS を使用し、コンポーネント固有の IAM ロールについて一時的な制限された権限付き認証情報を割り当てることができます。サービスを使用すると、クラスターコンポーネントはセキュアなクラウドリソース管理プラクティスを使用して AWS API 呼び出しを実行できます。

このセクションで説明されているワークフローステージに従い、STS を使用する ROSA クラスターを設定し、アクセスできます。

  1. STS で ROSA の AWS の前提条件を完了します。STS で ROSA クラスターをデプロイするには、AWS アカウントが前提条件を満たしている必要があります。
  2. 必要な AWS サービスクォータの確認クラスターのデプロイメントを準備するには、ROSA クラスターの実行に必要な AWS サービスクォータを確認します。
  3. 環境を設定し、STS を使用して ROSA をインストールします。STS クラスターで ROSA を作成する前に、AWS アカウントで ROSA を有効にし、必要な CLI ツールをインストールして設定し、CLI ツールの設定を確認する必要があります。また、AWS Elastic Load Balancing (ELB) サービスロールが存在し、必要な AWS リソースクォータが利用可能であることを確認する必要があります。
  4. STS をすばやく使用して ROSA クラスターを作成 するか、カスタマイズを使用してクラスターを作成 します。ROSA CLI (rosa) または Red Hat OpenShift Cluster Manager を使用して、STS でクラスターを作成します。デフォルトのオプションを使用してクラスターをすばやく作成するか、組織のニーズに合わせてカスタマイズを適用することができます。
  5. クラスターにアクセスします。アイデンティティープロバイダーを設定し、必要に応じてクラスター管理者権限をアイデンティティープロバイダーユーザーに付与できます。cluster-admin ユーザーを設定して、新たにデプロイされたクラスターにすばやくアクセスすることもできます。
  6. ユーザーの ROSA クラスターへのアクセスを取り消します。ROSA CLI または Web コンソールを使用して、STS クラスターが含まれる ROSA へのアクセス権をユーザーから取り消すことができます。
  7. ROSA クラスターを削除します。ROSA CLI (rosa) を使用して、STS クラスターで ROSA を削除できます。クラスターの削除後に、AWS Identity and Access Management (IAM) コンソールを使用して STS リソースを削除できます。

3.2. 関連情報

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat 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 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.