第8章 STS を使用するための環境の設定
AWS の前提条件を満たしていることを確認した後に、環境を設定し、Red Hat OpenShift Service on AWS (ROSA) をインストールします。
AWS Security Token Service (STS) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (ROSA) にクラスターをインストールして操作するのに推奨される認証情報モードです。
8.1. STS のための環境の設定
AWS Security Token Service (STS) を使用する Red Hat OpenShift Service on AWS (ROSA) クラスターを作成する前に、次の手順を実行して環境をセットアップします。
前提条件
- デプロイメントの前提条件およびポリシーを確認し、完了している。
- Red Hat アカウント がない場合は作成している。次に、確認リンクに関するメールを確認する。ROSA をインストールするには認証情報が必要です。
手順
使用する Amazon Web Services (AWS) アカウントにログインします。
実稼働クラスターを実行するには、専用の AWS アカウントを使用することが推奨されます。AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、アカウントを新規作成 できます。
AWS Organizations を使用しており、使用する予定の AWS アカウントにサービスコントロールポリシー (SCP) を適用する必要がある場合、これらのポリシーは、クラスターが必要とするロールおよびポリシーよりも制限的なものである必要はありません。
AWS マネジメントコンソールで ROSA サービスを有効にします。
- AWS アカウント にサインインします。
- ROSA を有効にするには、ROSA service に移動し、Enable OpenShift を選択します。
AWS CLI をインストールし、設定します。
AWS コマンドラインインターフェイスのドキュメントを参照し、オペレーティングシステムの AWS CLI を インストール し、設定 します。
.aws/credentials
ファイルで正しいaws_access_key_id
およびaws_secret_access_key
を指定します。AWS ドキュメントの AWS 設定の基本 を参照してください。デフォルトの AWS リージョンを設定します。
注記環境変数を使用してデフォルトの AWS リージョンを設定できます。
ROSA は以下の優先順位でリージョンを評価します。
-
--region
フラグを指定してrosa
コマンドを実行する際に指定されるリージョン。 -
AWS_DEFAULT_REGION
環境変数に設定されるリージョン。AWS ドキュメントの Environment variables to configure the AWS CLI を参照してください。 - AWS 設定ファイルで設定されるデフォルトのリージョン。AWS ドキュメントの Quick configuration with aws configure を参照してください。
-
オプション: AWS の名前付きプロファイルを使用して AWS CLI 設定および認証情報を設定します。
rosa
は以下の優先順位で AWS の名前付きプロファイルを評価します。-
rosa
コマンドを--profile
フラグを指定して実行する場合に指定されるプロファイル。 -
AWS_PROFILE
環境変数に設定されるプロファイル。AWS ドキュメントの Named profiles を参照してください。
-
以下のコマンドを実行して AWS API をクエリーし、AWS CLI がインストールされ、正しく設定されていることを確認します。
$ aws sts get-caller-identity
ROSA CLI の最新バージョン (
rosa
) をインストールします。- 使用しているオペレーティングシステム用の ROSA CLI の最新リリースをダウンロードします。
オプション:
rosa
にダウンロードしたファイルの名前を変更し、ファイルを実行可能にします。このドキュメントでは、rosa
を使用して実行可能ファイルを参照します。$ chmod +x rosa
オプション:
rosa
をパスに追加します。$ mv rosa /usr/local/bin/rosa
以下のコマンドを実行して、インストールを確認します。
$ rosa
出力例
Command line tool for Red Hat OpenShift Service on AWS. For further documentation visit https://access.redhat.com/documentation/ja-jp/red_hat_openshift_service_on_aws Usage: rosa [command] Available Commands: completion Generates completion scripts create Create a resource from stdin delete Delete a specific resource describe Show details of a specific resource download Download necessary tools for using your cluster edit Edit a specific resource grant Grant role to a specific resource help Help about any command init Applies templates to support Red Hat OpenShift Service on AWS install Installs a resource into a cluster link Link a ocm/user role from stdin list List all resources of a specific type login Log in to your Red Hat account logout Log out logs Show installation or uninstallation logs for a cluster revoke Revoke role from a specific resource uninstall Uninstalls a resource from a cluster unlink UnLink a ocm/user role from stdin upgrade Upgrade a resource verify Verify resources are configured correctly for cluster install version Prints the version of the tool whoami Displays user account information Flags: --color string Surround certain characters with escape sequences to display them in color on the terminal. Allowed options are [auto never always] (default "auto") --debug Enable debug mode. -h, --help help for rosa Use "rosa [command] --help" for more information about a command.
ROSA CLI のコマンド補完スクリプトを生成します。以下の例では、Linux マシン用の Bash 補完スクリプトを生成します。
$ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
既存のターミナルから
rosa
コマンドの補完を可能にするためのスクリプトを作成します。以下の例では、Linux マシン上でrosa
の Bash 補完スクリプトをソースとして使用しています。$ source /etc/bash_completion.d/rosa
ROSA CLI で Red Hat アカウントにログインします。
以下のコマンドを入力します。
$ rosa login
<my_offline_access_token>
をトークンに置き換えます。出力例
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>
出力例
I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'
AWS アカウントに ROSA クラスターをデプロイするために必要なクォータがあることを確認します。
$ rosa verify quota [--region=<aws_region>]
出力例
I: Validating AWS quota... I: AWS quota ok
注記AWS クォータはリージョンによって異なる場合があります。エラーが発生した場合は、別のリージョンを試してください。
クォータを増やす必要がある場合は、AWS 管理コンソール に移動して、失敗したサービスのクォータの増加をリクエストします。
クォータの確認に成功したら、次のステップに進みます。
クラスターデプロイメント用に AWS アカウントを準備します。
次のコマンドを実行して、Red Hat および AWS 認証情報が正しく設定されていることを確認します。AWS アカウント ID、デフォルトのリージョンおよび ARN が予想される内容と一致していることを確認します。現時点では、OpenShift Cluster Manager で始まる行は無視しても問題ありません。
$ rosa whoami
出力例
AWS Account ID: 000000000000 AWS Default Region: us-east-1 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
ROSA (
rosa
) CLI から OpenShift CLI (oc
) バージョン 4.7.9 以降をインストールします。以下のコマンドを入力して、最新バージョンの
oc
CLI をダウンロードします。$ rosa download openshift-client
-
oc
CLI をダウンロードした後に、これをデプロイメントし、パスに追加します。 以下のコマンドを実行して、
oc
CLI が正常にインストールされていることを確認します。$ rosa verify openshift-client
ロールの作成
これらの手順を完了したら、IAM および OIDC アクセスベースのロールをセットアップできます。