第7章 Egress ゼロの Red Hat OpenShift Service on AWS クラスターの作成
Egress ゼロの Red Hat OpenShift Service on AWS を作成すると、クラスターがインターネットにアクセスできない場合に、クラスターがローカルリージョンのイメージレジストリーを使用できるようになり、クラスターの安定性とセキュリティーが強化されます。クラスターは最初に Quay からイメージをプルしようとしますが、イメージにアクセスできない場合は、代わりにローカルリージョンのイメージレジストリーからイメージをプルします。
Egress ゼロのすべてのパブリッククラスターとプライベートクラスターは、インターネット上のさまざまなエンドポイントやレジストリーからこれらのイメージを収集するのではなく、クラスターのローカルリージョンにある Amazon Elastic Container Registry (ECR) から Red Hat コンテナーイメージを取得します。ECR は、OpenShift リリースイメージと Red Hat Operator 用のストレージを提供します。ECR へのリクエストは、すべてクラスター内の VPC エンドポイント経由で提供されるため、お客様の AWS ネットワーク内に保持されます。
Egress ゼロの Red Hat OpenShift Service on AWS クラスターは、AWS ECR を使用して、パブリックインターネットを必要とせずにクラスターをプロビジョニングします。クラスターのライフサイクルに必要なプロセスは、AWS のプライベートネットワーク経由で実行されます。そのため、AWS ECR はクラスターのコアプラットフォームイメージを提供するうえで欠かせないサービスです。AWS ECR の詳細は、Amazon Elastic Container Registry を参照してください。
Virtual Private Cloud (VPC) を設定し、クラスターの作成時に --properties zero_egress:true
フラグを使用することで、パブリック Egress を必要としない完全に機能するクラスターを作成できます。
Egress ゼロのクラスターをアップグレードするには、Red Hat OpenShift Service on AWS クラスターのアップグレード を参照してください。
制限付きネットワーク環境で作成されたクラスターでは、Red Hat Insights や Telemetry などの Red Hat OpenShift Service on AWS の機能を一部使用できない可能性があります。このようなクラスターでは、quay.io
などのレジストリーへのパブリックアクセスを必要とするワークロードで障害が発生する可能性もあります。Egress ゼロを使用してインストールしたクラスターを使用する場合は、OperatorHub から Red Hat が所有する Operator をインストールすることもできます。Red Hat が所有する Operator の完全なリストは、Red Hat Ecosystem Catalog を参照してください。Egress ゼロを使用してインストールした Operator の場合、デフォルトの Operator チャネルのみがミラーリングされます。
ネットワーク環境用語集
非接続環境 という用語は、Red Hat OpenShift Service on AWS のドキュメント全体で使用されていますが、さまざまなレベルのインターネット接続を備えた環境を意味する場合もある広義の用語です。また、特定レベルのインターネット接続を意味する他の用語も使用されており、そのような環境では固有の設定が追加で必要な場合があります。この種類のネットワークは、インターネットに完全にアクセスできる "標準的なネットワーク" とは異なります。
次の表は、完全なインターネット接続がない環境を指して使用されるさまざまな用語を説明しています。
用語 | 説明 |
---|---|
エアギャップネットワーク | 外部ネットワークから完全に分離された環境またはネットワーク。 この場合の分離は、内部ネットワーク上のマシンと外部ネットワーク部分との間が物理的に分離されていること ("エアギャップ") を意味します。エアギャップ環境は、厳格なセキュリティー要件や規制要件がある業界でよく使用されます。 |
非接続環境 | 外部ネットワークから、一定レベルの分離が存在する環境またはネットワーク。 この分離は、内部ネットワーク上のマシンと外部ネットワークを物理的にまたは論理的に分離することで実現できます。外部ネットワークからの分離レベルにかかわらず、非接続環境のクラスターは Red Hat がホストするパブリックサービスにアクセスできないため、クラスターの機能を完全に維持するためのセットアップが追加で必要になります。 |
ネットワークが制限されたインストール | 外部ネットワークへの接続が制限されている環境またはネットワーク。 内部ネットワーク上のマシンと外部ネットワークの間に物理的な接続が存在する場合もありますが、ネットワークトラフィックはファイアウォールやプロキシーなどの追加設定により制限されています。 |
前提条件
- VPC、サブネット、その他の必要なインフラストラクチャーを作成するのに十分な権限を持つ AWS アカウントがある。
- Terraform v1.4.0+ CLI をインストールした。
- ROSA v1.2.45+ CLI をインストールした。
- 必要な認証情報を使用して AWS CLI をインストールし、設定した。
- git CLI をインストールした。
- Egress ゼロは、Hosted Control Plane アーキテクチャーを使用する Red Hat OpenShift Service on AWS のすべてのサポートされているバージョンで使用できます。ただし、Red Hat では、各 OpenShift Container Platform バージョンで利用可能な最新の z-stream リリースを使用することを推奨しています。
- 通常のクラスターと同様にクラスターをインストールおよびアップグレードすることはできます。しかし、Egress ゼロのクラスターでは、非接続環境での内部イメージレジストリーの機能に関するアップストリームの問題により、イメージレジストリーなどのすべてのプラットフォームコンポーネントを完全に使用することはできません。クラスターをアップグレードまたはインストールするときに、最新の ROSA バージョンを使用すると、この機能を復元できます。
7.1. 環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
リソースの作成を効率化するには、次の環境変数を設定します。
手順
次のコマンドを実行して環境変数を設定します。
export <variable_name>=<variable_value>
$ export <variable_name>=<variable_value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行すると、変数が設定されたかどうかを確認できます。
echo <variable_name>
$ echo <variable_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表7.2 非接続の Red Hat OpenShift Service on AWS クラスターに推奨される変数 変数名 変数値 注記 AWS_ACCOUNT_ID
$(aws sts get-caller-identity --query Account --output text)
rosa login
を使用して AWS アカウントにログインする必要があります。CLUSTER_NAME
クラスターに付ける名前。
26 文字を超えるクラスター名を指定することはできません。
OIDC_ID
OpenID Connect (OIDC) 設定の 32 桁の ID。
この ID は、
rosa create oidc-config
を実行して生成します。OPERATOR_ROLES_PREFIX
Operator ロール接頭辞。
AWS アカウントロールで Operator ロールと同じ接頭辞を使用するには、Operator ロール接頭辞変数を設定した後、
ACCOUNT_ROLES_PREFIX=$OPERATOR_ROLES_PREFIX
を実行できます。PRIVATE_SUBNET
プライベートサブネットの ID。
この値を引用符 (") で囲み、サブネット ID をコンマで区切る必要があります。
REGION
使用中の AWS リージョン。
-
SUBNET_IDS
すべてのサブネットの ID。
この値を引用符 (") で囲み、サブネット ID をコンマで区切る必要があります。