第17章 ROSA のスタートガイド
17.1. チュートリアル: ROSA とは
Red Hat OpenShift Service on AWS (ROSA) は、フルマネージドのターンキーアプリケーションプラットフォームです。ROSA を利用すると、アプリケーションを構築およびデプロイして顧客に価値を提供するという、最も重要なことに集中できます。Red Hat と AWS の SRE エキスパートが基盤となるプラットフォームを管理するため、お客様がインフラストラクチャーの管理について心配する必要はありません。ROSA は、幅広い AWS コンピュート、データベース、分析、機械学習、ネットワーク、モバイル、およびその他のサービスとのシームレスな統合を提供し、差別化されたエクスペリエンスの構築とお客様への提供をさらに加速します。
ROSA は、AWS Security Token Service (STS) を利用して、AWS アカウントのインフラストラクチャーを管理するための認証情報を取得します。AWS STS は、IAM ユーザーまたはフェデレーションユーザーの一時的な認証情報を作成するグローバル Web サービスです。ROSA はこれを使用して、権限が限られた短期間のセキュリティー認証情報を割り当てます。これらの認証情報は、AWS API 呼び出しを行う各コンポーネントに固有の IAM ロールに関連付けられます。この方法は、クラウドサービスのリソース管理における最小権限と安全なプラクティスの原則に沿ったものです。ROSA コマンドラインインターフェイス (CLI) ツールは、固有のタスクに割り当てられた STS 認証情報を管理し、OpenShift 機能の一部として AWS リソースに対してアクションを実行します。
17.1.1. ROSA の主な特徴
- ネイティブ AWS サービス: AWS マネジメントコンソールから、セルフサービスのオンボーディングにより、オンデマンドで Red Hat OpenShift にアクセスし、使用できます。
- 柔軟な従量制の価格設定: ビジネスニーズに合わせたスケールアップが可能で、柔軟な価格設定と時間単位または年単位のオンデマンド請求モデルに基づく従量課金制が導入されています。
- Red Hat OpenShift と AWS の使用に対する一括請求書: お客様は、Red Hat OpenShift と AWS の両方の使用に対して、AWS から単一の請求書を受け取ります。
- 完全に統合されたサポートエクスペリエンス: インストール、管理、メンテナンス、アップグレードは、Red Hat と Amazon の共同サポートと 99.95 % のサービスレベルアグリーメント (SLA) に基づき、Red Hat site reliability engineer (SRE) が行います。
- AWS サービスインテグレーション: AWS には、コンピューティング、ストレージ、ネットワーキング、データベース、分析、機械学習など、堅牢なクラウドサービスポートフォリオがあります。これらのサービスはすべて、ROSA を通じて直接アクセスできます。これにより、使い慣れた管理インターフェイスを通じて、グローバルかつオンデマンドでの構築、運用、拡張が容易になります。
- 可用性の最大化: サポート対象リージョン内の複数のアベイラビリティーゾーンにクラスターをデプロイして可用性を最大化し、最も要求の厳しいミッションクリティカルなアプリケーションとデータの高可用性を維持します。
- クラスターノードのスケーリング: リソースのニーズに合わせてコンピューティングノードを簡単に追加または削除できます。
- 最適化されたクラスター: ニーズを満たすサイズのクラスターを備えた EC2 インスタンスタイプ (メモリー最適化型、コンピュート最適型、汎用型) を選択できます。
- グローバルな可用性: ROSA が使用できる世界の地域を確認するには、製品の地域別可用性ページ を参照してください。
17.1.2. ROSA と Kubernetes
ROSA には、コンテナー管理、Operator、ネットワーキング、負荷分散、サービスメッシュ、CI/CD、ファイアウォール、モニタリング、レジストリー、認証、および認可機能など、コンテナーのデプロイと管理に必要なすべての機能がバンドルされています。これらのコンポーネントは、完全なプラットフォームとして統合された操作を行うために一緒にテストされます。無線によるプラットフォームアップグレードを含む自動化されたクラスター操作により、Kubernetes エクスペリエンスがさらに強化されています。
17.1.3. 基本的な責任
一般的に、クラスターのデプロイメントと維持は Red Hat または AWS がその責任を果たし、アプリケーション、ユーザー、データについてはお客様が責任を果たします。責任の詳細な内訳については、責任マトリクス を参照してください。
17.1.4. ロードマップと機能リクエスト
現在開発中の機能の最新ステータスは、ROSA ロードマップ で確認してください。製品チームに提案がある場合は、新規 Issue を作成してください。
17.1.5. リージョン別の AWS 可用性
最新の ROSA 可用性については、リージョン別の製品可用性 ページを参照してください。
17.1.6. コンプライアンス認証
ROSA は現在、SOC-2 タイプ 2、SOC 3、ISO-27001、ISO 27017、ISO 27018、HIPAA、GDPR、および PCI-DSS に準拠しています。現在、FedRAMP High に向けて取り組んでいます。
17.1.7. ノード
17.1.7.1. 複数の AWS リージョンにまたがるワーカーノード
ROSA クラスター内のすべてのノードは、同じ AWS リージョンに配置する必要があります。複数のアベイラビリティーゾーン用に設定されたクラスターの場合、コントロールプレーンノードとワーカーノードはアベイラビリティーゾーンをまたいで分散的に配置されます。
17.1.7.2. ワーカーノードの最小数
ROSA クラスターにおけるワーカーノードの最小数は、アベイラビリティーゾーンが 1 つの場合は 2 台、アベイラビリティーゾーンが複数の場合は 3 台です。
17.1.7.3. 基盤となるノードのオペレーティングシステム
すべての OpenShift v4.x 製品と同様に、コントロールプレーン、インフラおよびワーカーノードは Red Hat Enterprise Linux CoreOS (RHCOS) を実行します。
17.1.7.4. ノードのハイバネートまたはシャットダウン
現時点では、ROSA にノードのハイバネート機能またはシャットダウン機能はありません。シャットダウンおよびハイバネート機能は OpenShift プラットフォームの機能ですが、広範なクラウドサービスで使用できるほど十分には成熟していません。
17.1.7.5. ワーカーノードでサポートされるインスタンス
ワーカーノードでサポートされるインスタンスの完全なリストは、AWS インスタンスタイプ を参照してください。スポットインスタンスもサポートされています。
17.1.7.6. ノードの自動スケーリング
自動スケーリングを使用すると、現在のワークロードに基づいてクラスターのサイズを自動的に調整できます。詳細は、クラスター上のノードの自動スケーリング を参照してください。
17.1.7.7. ワーカーノードの最大数
ワーカーノードの最大数は、ROSA クラスターごとに 180 台です。ノード数の詳細は、制限とスケーラビリティー を参照してください。
アカウント全体およびクラスターごとのロールのリストは、ROSA のドキュメント に記載されています。
17.1.8. 管理者
お客様側の ROSA 管理者は、ユーザーが作成したすべてのプロジェクトにアクセスできる他に、ユーザーとクォータを管理できます。
17.1.9. OpenShift のバージョンとアップグレード
ROSA は、OpenShift Container Platform をベースとするマネージドサービスです。現行バージョンとライフサイクルの日付は、ROSA のドキュメント で確認できます。
お客様は、OpenShift の最新バージョンにアップグレードして、そのバージョンの OpenShift 機能を使用できます。詳細は、ライフサイクルの日付 を参照してください。ROSA では、一部の OpenShift 機能を使用できません。詳細は、サービス定義 を参照してください。
17.1.10. サポート
OpenShift Cluster Manager から直接チケットを作成できます。サポートを受ける方法の詳細は、ROSA サポートドキュメント を参照してください。
Red Hat カスタマーポータル にアクセスして、Red Hat ナレッジベースで Red Hat 製品に関連する記事やソリューションを検索または参照したり、Red Hat サポートに対してサポートケースを作成したりすることもできます。
17.1.10.1. Limited support
ROSA クラスターが "サポート終了日" までにアップグレードされなかった場合、クラスターは限定サポートステータスで引き続き動作します。そのクラスターの SLA は適用されなくなりますが、そのクラスターのサポートはその後も受けることができます。詳細は、限定サポートステータス のドキュメントを参照してください。
その他のサポートリソース
- Red Hat サポート
お客様が AWS サポートを使用するためには、有効な AWS サポート契約が必要です。
17.1.11. Service Level Agreement (SLA)
詳細は、ROSA SLA のページを参照してください。
17.1.12. 通知と連絡
Red Hat は、Red Hat および AWS の新機能、更新、定期メンテナンスに関する通知を、メールおよび Hybrid Cloud Console サービスログを通じて提供します。
17.1.13. Open Service Broker for AWS (OBSA)
ROSA では OSBA を使用できます。ただし、より新しい AWS Controller for Kubernetes の使用が推奨されます。OSBA の詳細は、Open Service Broker for AWS を参照してください。
17.1.14. オフボーディング
お客様はいつでも ROSA の使用を停止し、アプリケーションをオンプレミス、プライベートクラウド、または他のクラウドプロバイダーに移行できます。標準予約インスタンス (RI) ポリシーは、未使用の RI に適用されます。
17.1.15. 認証
ROSA がサポートする認証メカニズムは、OpenID Connect (OAuth2 のプロファイル)、Google OAuth、GitHub OAuth、GitLab、および LDAP です。
17.1.16. SRE クラスターアクセス
すべての SRE クラスターへのアクセスは、MFA で保護されます。詳細は、SRE アクセス を参照してください。
17.1.17. 暗号化
17.1.17.1. 暗号鍵
ROSA は、KMS に保存されている鍵を使用して EBS ボリュームを暗号化します。オプションとして、お客様はクラスター作成時に独自の KMS キーを指定することもできます。
17.1.17.2. KMS キー
KMS キーを指定すると、コントロールプレーン、インフラストラクチャーおよびワーカーノードのルートボリュームと永続ボリュームがそのキーで暗号化されます。
17.1.17.3. データの暗号化
デフォルトでは、保存時に暗号化されます。AWS Storage プラットフォームは、データを永続化する前に自動的に暗号化し、取得する前にデータを復号化します。詳細は、AWS EBS Encryption を参照してください。
AWS ストレージ暗号化と組み合わせて、クラスター内の etcd を暗号化することもできます。その結果、暗号化が 2 倍になり、パフォーマンスが最大 20% 低下します。詳細は、etcd 暗号化 のドキュメントを参照してください。
17.1.17.4. etcd 暗号化
etcd 暗号化は、クラスター作成時にのみ有効にできます。
etcd 暗号化では追加のオーバーヘッドが発生しますが、セキュリティーリスクはほとんど軽減されません。
17.1.17.5. etcd 暗号化の設定
etcd 暗号化は、OpenShift Container Platform と同じように設定されます。aescbc 暗号が使用され、設定はクラスターのデプロイメント中にパッチが適用されます。詳細は、Kubernetes のドキュメント を参照してください。
17.1.17.6. EBS 暗号化用のマルチリージョン KMS キー
現在、ROSA CLI は EBS 暗号化用のマルチリージョン KMS キーを許可しません。この機能は、製品更新のバックログに入っています。クラスター作成時に定義されている場合、ROSA CLI は EBS 暗号化用のシングルリージョン KMS キーを許可します。
17.1.18. Infrastructure
ROSA は、仮想マシン、ストレージ、ロードバランサーなど、複数のクラウドサービスを使用します。定義済みのリストは、AWS の前提条件 で確認できます。
17.1.19. 認証情報メソッド
AWS アカウントで必要な操作を行うために必要な権限を付与する認証情報メソッドには、AWS with STS を使用する方法と、管理者権限を持つ IAM ユーザーを使用する方法の 2 つがあります。推奨されるのは AWS with STS で、IAM ユーザーを使用する方法はいずれ非推奨になる予定です。AWS with STS は、クラウドサービスのリソース管理における最小権限と安全なプラクティスの原則に沿うものです。
17.1.20. 前提条件となる権限または失敗エラー
ROSA CLI の新しいバージョンを確認してください。ROSA CLI の各リリースは、Github と Red Hat 署名付きバイナリーリリース の 2 カ所にあります。
17.1.21. ストレージ
サービス定義の ストレージ セクションを参照してください。
OpenShift には、AWS EFS 用の CSI ドライバーが含まれています。詳細は、Setting up AWS EFS for Red Hat OpenShift Service on AWS を参照してください。
17.1.22. VPC の使用
インストール時に、既存の VPC にデプロイするか、独自の VPC を使用するかを選択できます。次に、必要なサブネットを選択し、それらのサブネットを使用する際にインストールプログラムのサブネットを含む有効な CIDR 範囲を指定できます。
ROSA を使用すると、複数のクラスターが同じ VPC を共有できます。1 つの VPC 上のクラスター数は、残りの AWS リソースクォータと重複不可の CIDR 範囲で制限されます。詳細は、CIDR 範囲の定義 を参照してください。
17.1.23. ネットワークプラグイン
ROSA は、OpenShift OVN-Kubernetes のデフォルトの CNI ネットワークプロバイダーを使用します。
17.1.24. cross-namespace ネットワーキング
クラスター管理者は、NetworkPolicy オブジェクトを使用して、プロジェクトごとに cross-namespace をカスタマイズまたは拒否できます。詳細は ネットワークポリシーを使用してマルチテナント分離を設定する を参照してください。
17.1.25. Prometheus と Grafana の使用
Prometheus と Grafana を使用してコンテナーを監視し、OpenShift User Workload Monitoring を使用してキャパシティを管理できます。これは、OpenShift Cluster Manager のチェックボックスオプションです。
17.1.26. クラスターコントロールプレーンから出力される監査ログ
Cluster Logging Operator アドオンがクラスターに追加されている場合は、CloudWatch を通じて監査ログを利用できます。そうでない場合は、サポートリクエストで監査ログをリクエストできます。対象を絞り、タイムボックス化された小規模なログのエクスポートをリクエストして、お客様に送信できます。利用可能な監査ログは、プラットフォームのセキュリティーとコンプライアンスのカテゴリーにおける SRE の裁量によって選ばれます。クラスターのログ全体のエクスポートリクエストは拒否されます。
17.1.27. AWS アクセス許可の境界
クラスターのポリシーの周囲に AWS アクセス許可の境界を使用できます。
17.1.28. AMI
ROSA ワーカーノードは、OSD や OpenShift Container Platform とは異なる AMI を使用します。コントロールプレーンとインフラノード AMI は、同じバージョンの製品間で共通しています。
17.1.29. クラスターのバックアップ
ROSA STS クラスターにはバックアップがありません。ユーザーは、アプリケーションとデータに対する独自のバックアップポリシーを持つ必要があります。詳細は、バックアップポリシー を参照してください。
17.1.30. カスタムドメイン
アプリケーションのカスタムドメインを定義できます。詳細は、アプリケーションのカスタムドメインの設定 を参照してください。
17.1.31. ROSA ドメイン証明書
Red Hat インフラストラクチャー (Hive) は、デフォルトのアプリケーション ingress に使用する証明書ローテーションを管理します。
17.1.32. 非接続環境
ROSA は、エアギャップのある非接続環境をサポートしません。ROSA クラスターには、レジストリー、S3 にアクセスしてメトリクスを送信するために、インターネットへの egress が必要です。サービスには多数の egress エンドポイントが必要です。Ingress は、Red Hat SRE 用の PrivateLink とお客様のアクセス用の VPN に制限できます。