翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用する ROSA Classic クラスターを作成する AWS PrivateLink
ROSA クラシッククラスターは、パブリック、プライベート、プライベートのいくつかの方法でデプロイできます AWS PrivateLink。ROSA Classic の詳細については、「」を参照してくださいROSA アーキテクチャ。パブリック設定とプライベート クラスター 設定の両方で、OpenShift クラスター はインターネットにアクセスでき、プライバシーはアプリケーションレイヤーのアプリケーションワークロードに設定されます。
クラスター とアプリケーションワークロードの両方をプライベートにする必要がある場合は、ROSA Classic AWS PrivateLink を使用して を設定できます。 AWS PrivateLink は、 ROSA を使用して、 AWS カスタマーアカウントの ROSA サービスとクラスターリソース間にプライベート接続を作成する、可用性が高くスケーラブルなテクノロジーです。を使用すると AWS PrivateLink、Red Hat サイト信頼性エンジニアリング (SRE) チームは、クラスターの AWS PrivateLink エンドポイントに接続されたプライベートサブネットを使用して、サポートと修復の目的でクラスターにアクセスできます。
詳細については AWS PrivateLink、「 とは」を参照してください AWS PrivateLink。
トピック
前提条件
に記載されている前提条件となるアクションを完了しますを使用するように をセットアップする ROSA。
Amazon VPC アーキテクチャを作成する
次の手順では、クラスターをホストするために使用できる Amazon VPC アーキテクチャを作成します。すべての クラスター リソースはプライベートサブネットでホストされます。パブリックサブネットは、プライベートサブネットからのアウトバウンドトラフィックを NAT ゲートウェイ経由でパブリックインターネットにルーティングします。この例では、 Amazon VPCに CIDR ブロック 10.0.0.0/16 を使用しています。別の CIDR ブロックを選択することもできます。詳細については、「VPC のサイズ設定」を参照してください。
重要
Amazon VPC 要件を満たさない場合、クラスターの作成は失敗します。
例
CLI と を使用して ROSA Classic ROSA クラスターを作成する AWS PrivateLink
ROSA CLI と を使用して AWS PrivateLink 、単一のアベイラビリティーゾーン (シングル AZ) または複数のアベイラビリティーゾーン (マルチ AZ) クラスター を持つ を作成できます。いずれの場合も、マシンの CIDR 値は VPC の CIDR 値と一致する必要があります。
次の手順では、 rosa create cluster コマンドを使用して ROSA Classic を作成します クラスター。マルチ AZ を作成するには クラスター、 コマンド--multi-azで を指定し、プロンプトが表示されたら使用するプライベートサブネット IDsを選択します。
注記
ファイアウォールを使用する場合は、 が機能するために必要なサイト ROSA にアクセスできるように設定する必要があります。
詳細については、Red Hat ドキュメントのAWS PrivateLink クラスターを使用するための要件
-
--mode autoまたは を使用して、必要な IAM アカウントロールとポリシーを作成します--mode manual。-
rosa create account-roles --classic --mode auto -
rosa create account-roles --classic --mode manual注記
オフラインアクセストークンの有効期限が切れている場合、 ROSA CLI は認可トークンを更新する必要があることを示すエラーメッセージを出力します。トラブルシューティングの手順については、「」を参照してくださいCLI ROSA の有効期限が切れたオフラインアクセストークンのトラブルシューティング。
-
-
次のいずれかのコマンド クラスター を実行して、 を作成します。
-
シングル AZ
rosa create cluster --private-link --cluster-name=<CLUSTER_NAME> --machine-cidr=10.0.0.0/16 --subnet-ids=<PRIVATE_SUBNET_ID> -
マルチ AZ
rosa create cluster --private-link --multi-az --cluster-name=<CLUSTER_NAME> --machine-cidr=10.0.0.0/16注記
AWS Security Token Service (AWS STS) の存続期間の短い認証情報 AWS PrivateLink を使用するクラスターを作成するには、
rosa create clusterコマンドの最後に--sts --mode manual--sts --mode autoまたは を追加します。
-
-
インタラクティブプロンプトに従って クラスター オペレーター IAM ロールを作成します。
rosa create operator-roles --interactive -c <CLUSTER_NAME> -
クラスター オペレーターが認証に使用する OpenID Connect (OIDC) プロバイダーを作成します。
rosa create oidc-provider --interactive -c <CLUSTER_NAME> -
のステータスを確認します クラスター。
rosa describe cluster -c <CLUSTER_NAME>注記
Stateフィールドのステータス クラスター が表示されるまでに最大 40 分かかる場合がありますready。プロビジョニングが失敗した場合、または 40 分ready後に と表示されない場合は、「」を参照してくださいトラブルシューティング。サポートが必要な場合は、 サポート 「」または「Red Hat サポート」を参照してくださいROSA サポートを受ける。 -
OpenShift インストーラログを監視して、 クラスター 作成の進行状況を追跡します。
rosa logs install -c <CLUSTER_NAME> --watch
DNS AWS PrivateLink 転送を設定する
を使用するクラスターは、パブリックホストゾーンとプライベートホストゾーン AWS PrivateLink を作成します Route 53。 Route 53 プライベートホストゾーン内のレコードは、割り当てられた VPC 内からのみ解決できます。
Let's Encrypt DNS-01 の検証では、有効で公的に信頼されている証明書をドメイン用に発行できるようにパブリックゾーンが必要です。Let's Encrypt の検証が完了すると、検証レコードは削除されます。そのゾーンはこれらの証明書の発行と更新にも必要で、通常は 60 日ごとに求められます。通常、これらのゾーンは空のように見えますが、検証プロセスではパブリックゾーンが重要な役割を果たします。
AWS プライベートホストゾーンの詳細については、「プライベートゾーンの使用」を参照してください。パブリックホストゾーンの設定の詳細については、「パブリックホストゾーンの使用」を参照してください。
Route 53 Resolver インバウンドエンドポイントを設定する
-
api.<cluster_domain>や などのレコードを VPC の外部*.apps.<cluster_domain>で解決できるようにするには、 Route 53 Resolver インバウンドエンドポイントを設定します。注記
インバウンドエンドポイントを設定する場合、冗長性を確保するために最低 2 つの IP アドレスを指定する必要があります。少なくとも 2 つのアベイラビリティーゾーンで IP アドレスを指定することをお勧めします。必要に応じて、それらのアベイラビリティーゾーンまたは他のアベイラビリティーゾーンに追加の IP アドレスを指定できます。
-
インバウンドエンドポイントを設定するときは、クラスターの作成時に使用された VPC とプライベートサブネットを選択します。
クラスターの DNS 転送を設定する
Route 53 Resolver 内部エンドポイントが関連付けられて動作したら、ネットワーク上の指定されたサーバーが DNS クエリを処理できるように DNS 転送を設定します。
-
DNS クエリをトップレベルドメイン (
drow-pl-01.htno.p1.openshiftapps.comなど) の IP アドレスに転送するように企業ネットワークを設定します。 -
DNS クエリをある VPC から別の VPC に転送する場合は、「転送ルールの管理」の手順に従ってください。
-
リモートネットワークの DNS サーバーを設定する場合は、使用している DNS サーバーのドキュメントを参照して、インストールしたクラスタードメインの選択的 DNS 転送を設定してください。
ID プロバイダーを設定し、 クラスター アクセス権を付与する
ROSA には組み込みの OAuth サーバーが含まれています。 ROSA
クラスター を作成したら、ID プロバイダを使用するように OAuth を設定する必要があります。次に、設定した ID プロバイダーにユーザーを追加すると、そのユーザーに クラスターへのアクセス権を付与できます。必要に応じて、これらのユーザーに cluster-admin または dedicated-admin 権限を付与できます。
クラスターにはさまざまな ID プロバイダータイプを設定できます。サポートされているタイプには、GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect、および HTPasswd ID プロバイダーが含まれます。
重要
HTPasswd ID プロバイダーは、単一の静的な管理者ユーザーを作成できるようにするためだけに組み込まれています。HTPasswd は ROSAにおける汎用の ID プロバイダーとしてはサポートされていません。
以下の手順では、例として GitHub ID プロバイダーを設定します。サポートされている各 ID プロバイダータイプを設定する方法については、「AWS STS用 ID プロバイダーの設定
-
github.com
に移動し、GitHub アカウントにログインします。 -
ROSA クラスターの ID プロビジョニングに使用する GitHub 組織がない場合は、新規に作成します。詳細については、GitHub ドキュメントの手順
を参照してください。 -
CLI ROSA のインタラクティブモードを使用して、次のコマンドを実行してクラスターの ID プロバイダーを設定します。
rosa create idp --cluster=<CLUSTER_NAME> --interactive -
出力の設定プロンプトに従って、GitHub 組織のメンバー クラスター へのアクセスを制限します。
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> ? 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' ... -
出力内の URL を開き、
<GITHUB_ORG_NAME>を GitHub 組織の名前に置き換えます。 -
GitHub ウェブページで、[アプリケーションを登録] を選択して、新しい OAuth アプリケーションを GitHub 組織に登録します。
-
GitHub OAuth ページの情報を使用して残りの
rosa create idpインタラクティブプロンプトを入力します。<GITHUB_CLIENT_ID>と<GITHUB_CLIENT_SECRET>は、GitHub OAuth アプリケーションの認証情報に置き換えます。... ? Client ID: <GITHUB_CLIENT_ID> ? Client Secret: [? for help] <GITHUB_CLIENT_SECRET> ? GitHub Enterprise Hostname (optional): ? Mapping method: claim 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.注記
ID プロバイダーの設定が有効になるまでに約 2 分かかる場合があります。
cluster-adminユーザーを設定した場合は、oc get pods -n openshift-authentication --watchコマンドを実行して OAuth ポッドが更新された設定で再デプロイされることを確認できます。 -
ID プロバイダーが正しく設定されていることを確認します。
rosa list idps --cluster=<CLUSTER_NAME>
へのアクセスをユーザーに許可する クラスター
設定済みの ID プロバイダーに追加 クラスター することで、 へのアクセス権をユーザーに付与できます。
以下の手順では、クラスターに ID をプロビジョニングするように設定されている GitHub 組織にユーザーを追加します。
-
github.com
に移動し、GitHub アカウントにログインします。 -
GitHub 組織 クラスター へのアクセスを必要とするユーザーを招待します。詳細については、GitHub ドキュメントの「ユーザーを組織に招待する」
を参照してください。
cluster-admin のアクセス許可を設定します。
-
次のコマンドを入力して
cluster-admin権限を付与します。<IDP_USER_NAME>と<CLUSTER_NAME>をお使いのユーザー名とクラスター名に置き換えます。rosa grant user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていることを確認します。rosa list users --cluster=<CLUSTER_NAME>
dedicated-admin のアクセス許可を設定します。
-
次のコマンドを入力して
dedicated-admin権限を付与します。<IDP_USER_NAME>と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。rosa grant user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていることを確認します。rosa list users --cluster=<CLUSTER_NAME>
Red Hat Hybrid Cloud コンソール クラスター から にアクセスする
クラスター 管理者ユーザーを作成した後、または設定された ID プロバイダーにユーザーを追加したら、Red Hat Hybrid Cloud Console クラスター を使用して にログインできます。
-
次のコマンド クラスター を使用して、 のコンソール URL を取得します。を の名前
<CLUSTER_NAME>に置き換えます クラスター。rosa describe cluster -c <CLUSTER_NAME> | grep Console -
出力内のコンソール URL に移動し、ログインします。
-
cluster-adminユーザーを作成した場合は、提供された認証情報を使用してログインします。 -
の ID プロバイダーを設定した場合は クラスター、Log in with... ダイアログで ID プロバイダー名を選択し、プロバイダーから提示された認可リクエストを完了します。
-
Developer Catalog からアプリケーションをデプロイする
Red Hat Hybrid Cloud Console から、開発者カタログのテストアプリケーションをデプロイし、ルートを使用して公開できます。
-
Red Hat Hybrid Cloud Console
に移動し、アプリケーションをデプロイするクラスターを選択します。 -
クラスターのページで、[コンソールを開く] を選択します。
-
管理者パースペクティブで、[ホーム] > [プロジェクト] > [プロジェクトを作成] を選択します。
-
プロジェクトの名前を入力し、オプションで [表示名] と [説明] を追加します。
-
[作成] を選択してプロジェクトを作成します。
-
開発者パースペクティブに切り替えて [+追加] を選択します。選択したプロジェクトが、今作成したプロジェクトであることを確認してください。
-
[開発者カタログ] ダイアログで、[すべてのサービス] を選択します。
-
[開発者カタログ] ページで、メニューから[言語] > [JavaScript] を選択します。
-
[Node.js] を選択し、[アプリケーションの作成] を選択して [Source-to-Image アプリケーションの作成] ページを開きます。
注記
Node.js オプションを表示するには、[すべてのフィルターをクリア] を選択する必要がある場合があります。
-
[Git] セクションで、[サンプルを試す] を選択します。
-
[名前] フィールドに、一意の名前を追加します。
-
[作成] を選択します。
注記
新しいアプリケーションのデプロイには数分かかります。
-
デプロイが完了したら、アプリケーションのルート URL を選択します。
ブラウザの新しいタブが開き、次のようなメッセージが表示されます。
Welcome to your Node.js application on OpenShift -
(オプション) アプリケーションを削除し、リソースをクリーンアップします。
-
管理者パースペクティブで、[ホーム] > [プロジェクト] を選択します。
-
プロジェクトのアクションメニューを開き、[プロジェクトを削除] を選択します。
-
ユーザーから cluster-admin 権限を取り消す
-
次のコマンドを使用して
cluster-admin権限を無効にします。<IDP_USER_NAME>と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。rosa revoke user cluster-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
cluster-adminsグループのメンバーとしてリストされていないことを確認します。rosa list users --cluster=<CLUSTER_NAME>
ユーザーから dedicated-admin 権限を取り消す
-
次のコマンドを使用して
dedicated-admin権限を無効にします。<IDP_USER_NAME>と を自分のユーザー名とパスワード<CLUSTER_NAME>に置き換えます クラスター 。rosa revoke user dedicated-admin --user=<IDP_USER_NAME> --cluster=<CLUSTER_NAME> -
ユーザーが
dedicated-adminsグループのメンバーとしてリストされていないことを確認します。rosa list users --cluster=<CLUSTER_NAME>
へのユーザーアクセスを取り消す クラスター
ID プロバイダーユーザーの クラスター アクセスを取り消すには、設定された ID プロバイダーから削除します。
クラスターにはさまざまな ID プロバイダータイプを設定できます。次の手順では、GitHub 組織のメンバーの クラスター アクセスを取り消します。
-
github.com
に移動し、GitHub アカウントにログインします。 -
GitHub 組織からユーザーを削除します。詳細については、GitHub ドキュメントの「組織からのメンバーアカウントの削除
」を参照してください。
クラスターと AWS STS リソースを削除する
CLI を使用して、 AWS Security Token Service () ROSA クラスター を使用する を削除できますAWS STS。 ROSA CLI を使用して、 によって作成された IAM ロールと OIDC プロバイダーを削除することもできます ROSA。によって作成された IAM ポリシーを削除するには ROSA、 IAM コンソールを使用できます。
重要
IAM によって作成された ロールとポリシーは、同じアカウントの他の ROSA クラスターで使用される ROSA 場合があります。
-
を削除 クラスター し、ログを監視します。
<CLUSTER_NAME>を クラスターの名前または ID で置き換えます。rosa delete cluster --cluster=<CLUSTER_NAME> --watch重要
IAM ロール クラスター 、ポリシー、および OIDC プロバイダーを削除する前に、 が完全に削除されるのを待つ必要があります。インストーラーが作成したリソースを削除するには、アカウント IAM ロールが必要です。OpenShift オペレーターが作成したリソースをクリーンアップするには、オペレーター IAM ロールが必要です。オペレーターは OIDC プロバイダーを使用して認証します。
-
次のコマンドを実行して、 クラスター オペレーターが認証に使用する OIDC プロバイダーを削除します。
rosa delete oidc-provider -c <CLUSTER_ID> --mode auto -
クラスター固有のオペレーター IAM ロールを削除します。
rosa delete operator-roles -c <CLUSTER_ID> --mode auto -
以下のコマンドを使用してアカウントの IAM ロールを削除します。
<PREFIX>を、削除するアカウントの IAM ロールのプレフィックスに置き換えます。アカウントの IAM ロールの作成時にカスタムプレフィックスを指定した場合は、デフォルトのManagedOpenShiftプレフィックスを指定します。rosa delete account-roles --prefix <PREFIX> --mode auto -
によって作成された IAM ポリシーを削除します ROSA。
-
IAM コンソール
にログインします。 -
[アクセス管理] の左側のパネルで、[ポリシー] をクリックします。
-
削除するポリシーを選択し、[アクション] > [削除] を選択します。
-
ポリシー名を入力し、[削除] を選択します。
-
このステップを繰り返して、 クラスターの各 IAM ポリシーを削除します。
-