第9章 AWS STS を使用しない ROSA のデプロイ
9.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) にクラスターをインストールして操作するのに推奨される認証情報モードです。
9.1.1. デプロイメントの前提条件
Red Hat OpenShift Service on AWS (ROSA) を既存の Amazon Web Services (AWS) アカウントにデプロイするには、Red Hat が求める複数の前提条件を満たす必要があります。
Red Hat では、複数の AWS アカウントを管理するために AWS Organizations を使用することを推奨します。お客様が管理する AWS Organizations は、複数の AWS アカウントをホストします。すべてのアカウントがアカウント階層で参照する組織には root アカウントがあります。
ROSA クラスターが AWS Organizational Unit 内の AWS アカウントでホストされるようにすることがベストプラクティスです。Service Control Policy (SCP) が作成され、AWS サブアカウントのアクセスが許可されるサービスを管理する AWS Organizational Unit に適用されます。SCP は、Organizational Unit 内のすべての AWS サブアカウントの単一の AWS アカウント内で利用可能なパーミッションにのみ適用されます。SCP を単一の AWS アカウントに適用することもできます。お客様の AWS Organizations 内の他のすべてのアカウントは、お客様が必要とされる方法に応じて管理されます。Red Hat のサイト信頼性エンジニアリング (SRE) には、AWS Organizations 内の SCP に対する制御がありません。
9.1.2. お客様の要件
Red Hat OpenShift Service on AWS (ROSA) クラスターは、デプロイする前に複数の前提条件を満たす必要があります。
クラスターを作成するには、ユーザーは予想されるロールまたは STS ユーザーとしてではなく、IAM ユーザーとしてログインする必要があります。
9.1.2.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) でリソースをデプロイすることが推奨されますが、これは義務ではありません。
9.1.2.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 Hybrid Cloud Console コンソールで使用可能なアクションは、お客様の AWS アカウントで直接実行することはできません。
9.1.2.3. サポート要件
- Red Hat では、お客様が少なくとも AWS の ビジネスサポート を用意することを推奨します。
- Red Hat は、お客様の代わりに AWS サポートをリクエストする権限をお客様から受けます。
- Red Hat は、お客様のアカウントで AWS リソース制限の引き上げをリクエストする権限をお客様から受けます。
- Red Hat は、この要件に関するセクションで指定されていない場合に、すべての Red Hat OpenShift Service on AWS クラスターについての制約、制限、予想される内容およびデフォルトの内容を管理します。
9.1.2.4. セキュリティー要件
- ボリュームスナップショットは、お客様の AWS アカウントおよびお客様が指定するリージョン内に残ります。
- Red Hat には、許可リストにある IP アドレスから EC2 ホストおよび API サーバーへの ingress アクセスが必要です。
- Red Hat では、Red Hat が管理する中央ロギングスタックにシステムおよび監査ログを転送できるようにするために egress が必要です。
9.1.3. 必要なお客様の手順
Red Hat OpenShift Service on AWS (ROSA) をデプロイする前に、以下の手順を実行します。
手順
- お客様が AWS Organizations を使用している場合は、組織内の AWS アカウントを使用するか、新規アカウントを作成 する必要があります。
- Red Hat が必要なアクションを実行できるようにするには、Service Control Policy (SCP) を作成するか、AWS アカウントに適用されているものがないことを確認する必要があります。
- SCP を AWS アカウントに 割り当て ます。
- 環境を設定するには、ROSA の手順に従います。
9.1.3.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 Support | すべて | 許可 | |
| AWS Key Management Service | すべて | 許可 | |
| AWS Security Token Service | すべて | 許可 | |
| 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 | すべて | 許可 |
9.1.4. AWS の Red Hat 管理 IAM リファレンス
Red Hat は、IAM ポリシー、IAM ユーザー、および IAM ロールなどの以下の Amazon Web Services (AWS) リソースを作成し、管理します。
9.1.4.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" } ] }
9.1.4.2. IAM ユーザー
osdManagedAdmin ユーザーは、ROSA をお客様の AWS アカウントにインストール後すぐに作成されます。
9.1.5. プロビジョニングされる AWS インフラストラクチャー
以下は、デプロイされた Red Hat OpenShift Service on AWS (ROSA) クラスターでプロビジョニングされる Amazon Web Services (AWS) コンポーネントの概要です。プロビジョニングされたすべての AWS コンポーネントの詳細な一覧は、OpenShift Container Platform ドキュメント を参照してください。
9.1.5.1. EC2 インスタンス
AWS EC2 インスタンスは、AWS パブリッククラウドに ROSA のコントロールプレーンおよびデータプレーン機能をデプロイするために必要です。
インスタンスタイプは、ワーカーノードの数に応じてコントロールプレーンおよびインフラストラクチャーノードによって異なる場合があります。少なくとも、以下の EC2 インスタンスがデプロイされます。
-
3 つの
m5.2xlargeコントロールプレーンノード -
2 つの
r5.xlargeインフラストラクチャーノード -
2 つの
m5.xlargeカスタマイズ可能なワーカーノード
ワーカーノード数の詳細なガイダンスは、このページの関連情報セクションに一覧表示されている「制限およびスケーラビリティー」トピックの初期計画に関する考慮事項に関する情報を参照してください。
9.1.5.2. Amazon Elastic Block Store ストレージ
Amazon Elastic Block Store (Amazon EBS)ブロックストレージは、ローカルノードストレージと永続ボリュームストレージの両方に使用されます。
各 EC2 インスタンスのボリューム要件:
コントロールプレーンボリューム
- サイズ: 350GB
- タイプ: io1
- 1 秒あたりの I/O 処理数: 1000
インフラストラクチャーボリューム
- サイズ: 300GB
- タイプ: gp3
- 1 秒あたりの入出力操作: 900
ワーカーボリューム
- サイズ: 300GB
- タイプ: gp3
- 1 秒あたりの入出力操作: 900
OpenShift Container Platform 4.11 のリリースより前にデプロイされたクラスターは、デフォルトで gp2 タイプのストレージを使用します。
9.1.5.3. Elastic Load Balancing
API 用に最大 2 つのネットワークロードバランサー、アプリケーションルーター用に最大 2 つのクラシックロードバランサー。詳細は、AWS についての ELB ドキュメント を参照してください。
9.1.5.4. S3 ストレージ
イメージレジストリーは、AWS S3 ストレージによって支えられています。S3 の使用およびクラスターのパフォーマンスを最適化するために、リソースのプルーニングを定期的に実行します。
通常のサイズがそれぞれ 2TB の 2 つのバケットが必要です。
9.1.5.5. VPC
お客様はクラスターごとに 1 つの VPC を確認できるはずです。さらに、VPC には以下の設定が必要です。
サブネット: 単一アベイラビリティーゾーンがあるクラスターの 2 つのサブネット、または複数のアベイラビリティーゾーンがあるクラスターの 6 つのサブネット。
注記パブリックサブネット は、インターネットゲートウェイを介してインターネットに直接接続します。プライベートサブネット は、ネットワークアドレス変換 (NAT) ゲートウェイを介してインターネットに接続します。
- ルートテーブル: プライベートサブネットごとに 1 つのルートテーブルと、クラスターごとに 1 つの追加テーブル。
- インターネットゲートウェイ: クラスターごとに 1 つのインターネットゲートウェイ。
- NAT ゲートウェイ: パブリックサブネットごとに 1 つの NAT ゲートウェイ。
9.1.5.5.1. サンプル VPC アーキテクチャー

9.1.5.6. セキュリティーグループ
AWS セキュリティーグループは、プロトコルおよびポートアクセスレベルでセキュリティーを提供します。これらは EC2 インスタンスおよび Elastic Load Balancing (ELB) ロードバランサーに関連付けられます。各セキュリティーグループには、1 つ以上の EC2 インスタンスの送受信トラフィックをフィルタリングする一連のルールが含まれます。OpenShift インストールに必要なポートがネットワーク上で開いており、ホスト間のアクセスを許可するよう設定されていることを確認する必要があります。
| グループ | タイプ | IP プロトコル | ポート範囲 |
|---|---|---|---|
| MasterSecurityGroup |
|
|
|
|
|
| ||
|
|
| ||
|
|
| ||
| WorkerSecurityGroup |
|
|
|
|
|
| ||
| BootstrapSecurityGroup |
|
|
|
|
|
|
9.1.6. AWS ファイアウォールの前提条件
PrivateLink で展開された ROSA クラスターのみが、ファイアウォールを使用して出力トラフィックを制御できます。
このセクションでは、Red Hat OpenShift Service on AWS クラスターからの出力トラフィックを制御できるようにするために必要な詳細を提供します。ファイアウォールを使用して出力トラフィックを制御している場合は、以下のドメインとポートの組み合わせへのアクセスを許可するようにファイアウォールを設定する必要があります。Red Hat OpenShift Service on AWS は、フルマネージド Open Shift サービスを提供するためにこのアクセスを必要とします。
手順
パッケージとツールのインストールおよびダウンロードに使用される以下の URL を許可リストに指定します。
ドメイン ポート 機能 registry.redhat.io443
コアコンテナーイメージを指定します。
quay.io443
コアコンテナーイメージを指定します。
*.quay.io443
コアコンテナーイメージを指定します。
sso.redhat.com443、80
必須。
https://console.redhat.com/openshiftサイトでは、sso.redhat.comからの認証を使用してプルシークレットをダウンロードし、Red Hat SaaS ソリューションを使用してサブスクリプション、クラスターインベントリー、チャージバックレポートなどのモニタリングを行います。quay-registry.s3.amazonaws.com443
コアコンテナーイメージを指定します。
ocm-quay-production-s3.s3.amazonaws.com443
コアコンテナーイメージを指定します。
quayio-production-s3.s3.amazonaws.com443
コアコンテナーイメージを指定します。
cart-rhcos-ci.s3.amazonaws.com443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージを提供します。
openshift.org443
Red Hat Enterprise Linux CoreOS (RHCOS) イメージを提供します。
registry.access.redhat.com[1]443
Red Hat Ecosytem Catalog に保存されているすべてのコンテナーイメージをホストします。さらに、レジストリーは、開発者が OpenShift および Kubernetes 上で構築するのに役立つ
odoCLI ツールへのアクセスを提供します。registry.connect.redhat.com443、80
すべてのサードパーティーのイメージと認定 Operator に必要です。
console.redhat.com443、80
必須。クラスターと OpenShift Console Manager との間の対話が、スケジューリングアップグレードなどの機能を有効にすることを許可します。
sso.redhat.com443
https://console.redhat.com/openshiftサイトは、sso.redhat.comからの認証を使用します。pull.q1w2.quay.rhcloud.com443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
.q1w2.quay.rhcloud.com443
quay.io が利用できない場合のフォールバックとして、コアコンテナーイメージを提供します。
www.okd.io443
openshift.orgサイトはwww.okd.ioにリダイレクトされます。www.redhat.com443、80
sso.redhat.comサイトはwww.redhat.comにリダイレクトされます。aws.amazon.com443
iam.amazonaws.comおよびsts.amazonaws.comサイトはaws.amazon.comにリダイレクトされます。catalog.redhat.com443
registry.access.redhat.comおよびhttps://registry.redhat.ioサイトはcatalog.redhat.comにリダイレクトされます。-
ファイアウォール環境では、
access.redhat.comリソースが許可リストに含まれていることを確認してください。このリソースは、コンテナークライアントがregistry.access.redhat.comからイメージを取得するときにイメージを検証するために必要な署名ストアをホストします。
quay.ioなどのサイトを許可リストに追加する場合は、*.quay.ioなどのワイルドカードエントリーを拒否リストに加えないでください。ほとんどの場合、イメージレジストリーはコンテンツ配信ネットワーク (CDN) を使用してイメージを提供します。ファイアウォールがアクセスをブロックすると、初回のダウンロード要求がcdn01.quay.ioなどのホスト名にリダイレクトされると、イメージのダウンロードが拒否されます。cdn01.quay.ioなどの CDN ホスト名は、許可リストに.quay.ioなどのワイルドカードエントリーを追加する場合に説明されます。-
ファイアウォール環境では、
次のテレメトリー URL を許可リストします。
ドメイン ポート 機能 cert-api.access.redhat.com443
テレメトリーで必要です。
api.access.redhat.com443
テレメトリーで必要です。
infogw.api.openshift.com443
テレメトリーで必要です。
console.redhat.com443
テレメトリーと Red Hat Insights で必要です。
cloud.redhat.com/api/ingress443
テレメトリーと Red Hat Insights で必要です。
observatorium-mst.api.openshift.com443
Managed OpenShift 固有のテレメトリーに使用されます。
observatorium.api.openshift.com443
Managed OpenShift 固有のテレメトリーに使用されます。
マネージドクラスターでは、テレメトリーを有効にして、Red Hat が問題に迅速に対応し、顧客をより適切にサポートし、製品のアップグレードがクラスターに与える影響をよりよく理解できるようにする必要があります。Red Hat によるリモートヘルスモニタリングデータの使用方法の詳細は、リモートヘルスモニタリングについて を参照してください。
次の Amazon Web Services (AWS) API URl を許可リストします。
ドメイン ポート 機能 .amazonaws.com443
AWS サービスおよびリソースへのアクセスに必要です。
または、Amazon Web Services (AWS) API にワイルドカードを使用しない場合は、次の URL を許可リストに追加する必要があります。
ドメイン ポート 機能 ec2.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
events.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
iam.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
route53.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
sts.amazonaws.com443
AWS STS のグローバルエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。
sts.<aws_region>.amazonaws.com443
AWS STS の地域化されたエンドポイントを使用するように設定されたクラスターの場合は、AWS 環境にクラスターをインストールおよび管理するために使用されます。詳細は、AWS STS の地域化されたエンドポイント を参照してください。
tagging.us-east-1.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。このエンドポイントは、クラスターが展開されているリージョンに関係なく、常に us-east-1 です。
ec2.<aws_region>.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
elasticloadbalancing.<aws_region>.amazonaws.com443
AWS 環境でのクラスターのインストールや管理に使用されます。
servicequotas.<aws_region>.amazonaws.com443、80
必須。サービスをデプロイするためのクォータを確認するのに使用されます。
tagging.<aws_region>.amazonaws.com443、80
タグの形式で AWS リソースに関するメタデータを割り当てることができます。
以下の OpenShift URL を許可リストします。
ドメイン ポート 機能 mirror.openshift.com443
ミラーリングされたインストールのコンテンツおよびイメージへのアクセスに使用されます。Cluster Version Operator (CVO) には単一の機能ソースのみが必要ですが、このサイトはリリースイメージ署名のソースでもあります。
storage.googleapis.com/openshift-release(推奨)443
mirror.openshift.com/ の代替サイト。quay.io からプルするイメージを把握するのにクラスターが使用するプラットフォームリリース署名をダウンロードするのに使用されます。
api.openshift.com443
クラスターに更新が利用可能かどうかを確認するのに使用されます。
次のサイトリライアビリティーエンジニアリング (SRE) および管理 URL を許可リストします。
ドメイン ポート 機能 api.pagerduty.com443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知についてのアラートが送信されます。
events.pagerduty.com443
このアラートサービスは、クラスター内の alertmanager が使用します。これにより、Red Hat SRE に対してイベントの SRE 通知についてのアラートが送信されます。
api.deadmanssnitch.com443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
nosnch.in443
Red Hat OpenShift Service on AWS がクラスターが使用可能で実行中であるかどうかを示す定期的な ping を送信するために使用するアラートサービス。
*.osdsecuritylogs.splunkcloud.comまたはinputs1.osdsecuritylogs.splunkcloud.cominputs2.osdsecuritylogs.splunkcloud.cominputs4.osdsecuritylogs.splunkcloud.cominputs5.osdsecuritylogs.splunkcloud.cominputs6.osdsecuritylogs.splunkcloud.cominputs7.osdsecuritylogs.splunkcloud.cominputs8.osdsecuritylogs.splunkcloud.cominputs9.osdsecuritylogs.splunkcloud.cominputs10.osdsecuritylogs.splunkcloud.cominputs11.osdsecuritylogs.splunkcloud.cominputs12.osdsecuritylogs.splunkcloud.cominputs13.osdsecuritylogs.splunkcloud.cominputs14.osdsecuritylogs.splunkcloud.cominputs15.osdsecuritylogs.splunkcloud.com9997
splunk-forwarder-operatorによって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。http-inputs-osdsecuritylogs.splunkcloud.com443
必須。
splunk-forwarder-operatorによって使用され、ログベースのアラートについて Red Hat SRE が使用するロギング転送エンドポイントとして使用されます。sftp.access.redhat.com(推奨)22
must-gather-operatorが、クラスターに関する問題のトラブルシューティングに役立つ診断ログをアップロードするのに使用される SFTP サーバー。Amazon Web Services (AWS) API のワイルドカードを許可しなかった場合は、内部 OpenShift レジストリーに使用される S3 バケットも許可する必要があります。そのエンドポイントを取得するには、クラスターが正常にプロビジョニングされた後に次のコマンドを実行します。
$ oc -n openshift-image-registry get pod -l docker-registry=default -o json | jq '.items[].spec.containers[].env[] | select(.name=="REGISTRY_STORAGE_S3_BUCKET")'
S3 エンドポイントは '<cluster-name>-<random-string>-image-registry-<cluster-region>-<random-string>.s3.dualstack.<cluster-region>.amazonaws.com' の形式である必要があります。
- ビルドに必要な言語またはフレームワークのリソースを提供するサイトを許可リストに指定します。
- OpenShift で使用される言語およびフレームワークに依存するアウトバウンド URL を許可リストに指定します。ファイアウォールまたはプロキシーで許可できる推奨 URL の一覧は、OpenShift Outbound URLs to Allow を参照してください。