第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) は、セキュリティーが強化されているため、Red Hat OpenShift Service on AWS (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) をデプロイする前に、以下の手順を実行します。
手順
- お客様が AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、新規アカウントを作成 する必要があります。
- Red Hat が必要なアクションを実行できるようにするには、Service Control Policy (SCP) を作成するか、AWS アカウントに適用されているものがないことを確認する必要があります。
- SCP を AWS アカウントに 割り当て ます。
- 環境を設定するには、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) がこれらの必要なパーミッションを制限していないことを確認します。
サービス | アクション | 効果 | |
---|---|---|---|
必須 | 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" } ] }
11.1.3.2. IAM ユーザー
osdManagedAdmin
ユーザーは、ROSA をお客様の AWS アカウントにインストール後すぐに作成されます。
11.1.4. プロビジョニングされる AWS インフラストラクチャー
以下は、デプロイされた Red Hat OpenShift Service on AWS (ROSA) クラスターでプロビジョニングされる Amazon Web Services (AWS) コンポーネントの概要です。プロビジョニングされたすべての AWS コンポーネントの詳細なリストは、OpenShift Container Platform ドキュメント を参照してください。
11.1.4.1. EC2 インスタンス
AWS EC2 インスタンスは、AWS パブリッククラウドに ROSA のコントロールプレーンおよびデータプレーン機能をデプロイするために必要です。
インスタンスタイプは、ワーカーノードの数に応じてコントロールプレーンおよびインフラストラクチャーノードによって異なる場合があります。少なくとも、以下の 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
ワーカーボリューム
- サイズ: 300GB
- タイプ: gp3
- 1 秒あたりの入出力操作: 900
OpenShift Container Platform 4.11 のリリースより前にデプロイされたクラスターは、デフォルトで gp2 タイプのストレージを使用します。
11.1.4.3. Elastic Load Balancing
API 用に最大 2 つのネットワークロードバランサー、アプリケーションルーター用に最大 2 つのクラシックロードバランサー。詳細は、AWS に関する ELB ドキュメント を参照してください。
11.1.4.4. S3 ストレージ
イメージレジストリーは、AWS S3 ストレージによって支えられています。S3 の使用およびクラスターのパフォーマンスを最適化するために、リソースのプルーニングを定期的に実行します。
通常のサイズがそれぞれ 2TB の 2 つのバケットが必要です。
11.1.4.5. VPC
お客様はクラスターごとに 1 つの VPC を確認できるはずです。さらに、VPC には以下の設定が必要です。
サブネット: 単一アベイラビリティーゾーンがあるクラスターの 2 つのサブネット、または複数のアベイラビリティーゾーンがあるクラスターの 6 つのサブネット。
注記パブリックサブネット は、インターネットゲートウェイを介してインターネットに直接接続します。プライベートサブネット は、ネットワークアドレス変換 (NAT) ゲートウェイを介してインターネットに接続します。
- ルートテーブル: プライベートサブネットごとに 1 つのルートテーブルと、クラスターごとに 1 つの追加テーブル。
- インターネットゲートウェイ: クラスターごとに 1 つのインターネットゲートウェイ。
- NAT ゲートウェイ: パブリックサブネットごとに 1 つの NAT ゲートウェイ。
図11.1 サンプル VPC アーキテクチャー
11.1.4.6. セキュリティーグループ
AWS セキュリティーグループは、プロトコルおよびポートアクセスレベルでセキュリティーを提供します。これらは EC2 インスタンスおよび Elastic Load Balancing (ELB) ロードバランサーに関連付けられます。各セキュリティーグループには、1 つ以上の EC2 インスタンスの送受信トラフィックをフィルタリングする一連のルールが含まれます。OpenShift インストールに必要なポートがネットワーク上で開いており、ホスト間のアクセスを許可するよう設定されていることを確認する必要があります。
Group | タイプ | IP プロトコル | ポート範囲 |
---|---|---|---|
MasterSecurityGroup |
|
|
|
|
| ||
|
| ||
|
| ||
WorkerSecurityGroup |
|
|
|
|
| ||
BootstrapSecurityGroup |
|
|
|
|
|
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. 最小帯域幅
Red Hat OpenShift Service on AWS では、クラスターをデプロイする際に、クラスターリソースとパブリックインターネットリソース間で 120 Mbps の最小帯域幅が必要です。ネットワーク接続が 120 Mbps より遅い場合 (たとえば、プロキシー経由で接続している場合)、クラスターのインストールプロセスがタイムアウトし、デプロイメントが失敗します。
デプロイ後のネットワーク要件はワークロードに基づきます。ただし、最小帯域幅 120 Mbps は、クラスターと Operator を適切なタイミングで確実にアップグレードするために役立ちます。
11.1.5.2. AWS ファイアウォールの前提条件
ファイアウォールを使用して Red Hat OpenShift Service on AWS からの Egress トラフィックを制御している場合は、以下の特定のドメインとポートの組み合わせへのアクセスを許可するようにファイアウォールを設定する必要があります。Red Hat OpenShift Service on AWS は、フルマネージド OpenShift サービスを提供するためにこのアクセスを必要とします。
PrivateLink でデプロイメントされた ROSA クラスターのみが、ファイアウォールを使用して出力トラフィックを制御できます。
前提条件
- AWS Virtual Private Cloud (VPC) に Amazon S3 ゲートウェイエンドポイントを設定した。このエンドポイントは、クラスターから Amazon S3 サービスへのリクエストを完了するために必要です。
手順
パッケージとツールのインストールおよびダウンロードに使用される以下の URL を許可リストに指定します。
ドメイン ポート 機能 registry.redhat.io
443
コアコンテナーイメージを指定します。
quay.io
443
コアコンテナーイメージを指定します。
cdn01.quay.io
443
コアコンテナーイメージを指定します。
cdn02.quay.io
443
コアコンテナーイメージを指定します。
cdn03.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
コアコンテナーイメージを指定します。
openshift.org
443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージを提供します。
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 Console Manager との間の対話が、スケジューリングアップグレードなどの機能を有効にすることを許可します。
sso.redhat.com
443
https://console.redhat.com/openshift
サイトは、sso.redhat.com
からの認証を使用します。pull.q1w2.quay.rhcloud.com
443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
.q1w2.quay.rhcloud.com
443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
www.okd.io
443
openshift.org
サイトはwww.okd.io
にリダイレクトされます。www.redhat.com
443
sso.redhat.com
サイトはwww.redhat.com
にリダイレクトされます。aws.amazon.com
443
iam.amazonaws.com
およびsts.amazonaws.com
サイトはaws.amazon.com
にリダイレクトされます。catalog.redhat.com
443
registry.access.redhat.com
およびhttps://registry.redhat.io
サイトはcatalog.redhat.com
にリダイレクトされます。dvbwgdztaeq9o.cloudfront.net
[1]443
マネージド OIDC 設定を使用した STS 実装で、ROSA が使用します。
-
リソースのリダイレクトが必要な大規模なクラウドフロントの停止が発生した場合、
cloudfront.net
の前の英数字の文字列が変更される可能性があります。
-
リソースのリダイレクトが必要な大規模なクラウドフロントの停止が発生した場合、
次のテレメトリー URL を許可リストします。
ドメイン ポート 機能 cert-api.access.redhat.com
443
テレメトリーで必要です。
api.access.redhat.com
443
テレメトリーで必要です。
infogw.api.openshift.com
443
テレメトリーで必要です。
console.redhat.com
443
Telemetry と Red Hat Insights で必要です。
cloud.redhat.com/api/ingress
443
Telemetry と Red Hat Insights で必要です。
observatorium-mst.api.openshift.com
443
マネージド OpenShift 固有のテレメトリーに使用されます。
observatorium.api.openshift.com
443
マネージド OpenShift 固有のテレメトリーに使用されます。
マネージドクラスターでは、テレメトリーを有効にして、Red Hat が問題に迅速に対応し、顧客をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにする必要があります。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は 関連情報 セクションの リモートヘルスモニタリングについて を参照してください。
次の Amazon Web Services (AWS) API URl を許可リストします。
ドメイン ポート 機能 .amazonaws.com
443
AWS サービスおよびリソースへのアクセスに必要です。
または、Amazon Web Services (AWS) API にワイルドカードを使用しない場合は、次の URL を許可リストに追加する必要があります。
ドメイン ポート 機能 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 環境でのクラスターのインストールおよび管理に使用されます。
servicequotas.<aws_region>.amazonaws.com
443
必須。サービスをデプロイするためのクォータを確認するのに使用されます。
tagging.<aws_region>.amazonaws.com
443
タグの形式で AWS リソースに関するメタデータを割り当てることができます。
以下の OpenShift URL を許可リストします。
ドメイン ポート 機能 mirror.openshift.com
443
ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。Cluster Version Operator (CVO) には単一の機能ソースのみが必要ですが、このサイトはリリースイメージ署名のソースでもあります。
storage.googleapis.com/openshift-release
(推奨)443
mirror.openshift.com/ の代替サイト。quay.io からプルするイメージを把握するのにクラスターが使用するプラットフォームリリース署名をダウンロードするのに使用されます。
api.openshift.com
443
クラスターに更新が利用可能かどうかを確認するのに使用されます。
次のサイトリライアビリティーエンジニアリング (SRE) および管理 URL を許可リストします。
ドメイン ポート 機能 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 を送信するために使用するアラートサービス。
.osdsecuritylogs.splunkcloud.com
またはinputs1.osdsecuritylogs.splunkcloud.com
inputs2.osdsecuritylogs.splunkcloud.com
inputs4.osdsecuritylogs.splunkcloud.com
inputs5.osdsecuritylogs.splunkcloud.com
inputs6.osdsecuritylogs.splunkcloud.com
inputs7.osdsecuritylogs.splunkcloud.com
inputs8.osdsecuritylogs.splunkcloud.com
inputs9.osdsecuritylogs.splunkcloud.com
inputs10.osdsecuritylogs.splunkcloud.com
inputs11.osdsecuritylogs.splunkcloud.com
inputs12.osdsecuritylogs.splunkcloud.com
inputs13.osdsecuritylogs.splunkcloud.com
inputs14.osdsecuritylogs.splunkcloud.com
inputs15.osdsecuritylogs.splunkcloud.com
9997
splunk-forwarder-operator
によって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。http-inputs-osdsecuritylogs.splunkcloud.com
443
必須。
splunk-forwarder-operator
によって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。sftp.access.redhat.com
(推奨)22
must-gather-operator
が、クラスターに関する問題のトラブルシューティングに役立つ診断ログをアップロードするのに使用される SFTP サーバー。オプションのサードパーティーコンテンツに対する次の URL を許可リストに追加します。
Domain ポート 機能 registry.connect.redhat.com
443
すべてのサードパーティーのイメージと認定 Operator に必要です。
rhc4tp-prod-z8cxf-image-registry-us-east-1-evenkyleffocxqvofrk.s3.dualstack.us-east-1.amazonaws.com
443
registry.connect.redhat.com
でホストされているコンテナーイメージにアクセスできますoso-rhc4tp-docker-registry.s3-us-west-2.amazonaws.com
443
Sonatype Nexus、F5 Big IP Operator に必要です。
- ビルドに必要な言語またはフレームワークのリソースを提供するサイトを許可リストに指定します。
- OpenShift で使用される言語およびフレームワークに依存するアウトバウンド URL を許可リストに指定します。ファイアウォールまたはプロキシーで許可できる推奨 URL のリストは、OpenShift Outbound URLs to Allow を参照してください。