AWS認定資格 WEB問題集&徹底解説DevOpsエンジニア プロフェッショナル(DOP)
AWSサービスの一つであるRed Hat OpenShift Service on AWS (ROSA)はどんな内容なのでしょうか?また、AWS認定資格のDevOpsエンジニア-プロフェッショナル(DOP)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Red Hat OpenShift Service on AWS(ROSA)は、Red HatのエンタープライズKubernetesプラットフォームであるOpenShiftを、AWS上のマネージドサービスとして利用できるサービスです。 AWSとRed Hatが共同で提供・運用し、クラスターのインストール、保守、アップグレードはRed HatのSRE(サイト信頼性エンジニア)が24時間体制で担当します。Red Hatは99.95%の稼働率SLAを提供しています。
OpenShiftのAPI、Webコンソール、oc CLI、Operator、Route、Source-to-Image(S2I)ビルドなどがそのまま使えるため、オンプレミスのOpenShiftで動いているワークロードを、作り直しを最小限にしてAWSへ移せるのが最大の価値です。
サービスの有効化とソフトウェア契約の購入はAWSのROSAコンソールから行い、費用はAWSの請求にまとめられます。
DOP-C02の試験ガイドは対象サービスにROSAを掲載しています。Amazon EKSとの使い分け(OpenShift固有の資産・運用体制を維持したいかどうか)が判断の軸になります。
2. 主な特徴と機能
2.1 共同サポートとSREによる運用
- クラスターの構築、パッチ、アップグレード、障害対応をRed HatのSREが担い、利用者の運用チームはアプリケーションに集中できる。
- サポート窓口はAWSとRed Hatの両方から利用でき、両社が連携して対応する。
- Kubernetesのコントロールプレーンは複数のアベイラビリティーゾーンにまたがって高可用性を確保する。
2.2 2つのアーキテクチャ: HCPとクラシック
- ROSA with HCP(Hosted Control Planes): コントロールプレーン(etcd、APIサーバー、OAuthなど)はRed Hatが所有するAWSアカウントでホストされ、ワーカーノードだけが利用者のアカウントに置かれる。ワーカーとコントロールプレーンはAWS PrivateLinkで通信する。最小2台のEC2から作成でき、作成が速く、インフラ費用も抑えやすい。コントロールプレーンとマシンプールを別々にアップグレードできる。新規構築で推奨される方式。
- ROSA classic: コントロールプレーンもワーカーも利用者のアカウントとVPCに置かれる。専用のインフラノードを持ち、シングルAZで7台、マルチAZで9台のEC2が最小構成。クラスター全体を一度にアップグレードする。
2.3 OpenShiftの開発者体験をそのまま
開発者は従来どおりoc CLIやOpenShiftのWebコンソールを使い、Operator、OpenShift Pipelines、OpenShift Serverless、Service Meshなどのツールを利用できます。
マニフェストやCI/CDをEKS向けに書き換える必要がないため、移行時の手戻りと開発者の学習コストを抑えられます。
2.4 AWSサービスとの連携
- アプリケーションからAmazon RDS、Amazon S3、Amazon DynamoDBなどのマネージドサービスを利用できる。
- AWS Controllers for Kubernetes(ACK)を使えば、KubernetesのマニフェストからAWSリソースを作成・管理できる。
- Elastic Load Balancing、EBS/EFSなどのストレージ、CloudWatchへのログ転送などと組み合わせられる。
3. アーキテクチャおよび技術要素
- AWSのROSAコンソールでROSAを有効化し、Red Hatのアカウントと連携する。
- クラスター用のVPCを用意する(HCPではAZごとにパブリック/プライベートサブネットを用意し、マルチAZなら3つのAZが必要)。
rosaCLIで、アカウント単位のIAMロールとポリシー、OIDC設定、Operator用のIAMロールを作成する。rosa create clusterでクラスターを作成する。HCPでは利用者のVPCにワーカーノードが作られ、コントロールプレーンへはPrivateLinkで接続する。- クラスター組み込みのOAuthサーバーにIDプロバイダー(GitHub、LDAP、OpenID Connectなど)を設定し、ユーザーに権限を付与する。
- 開発者は
ocやWebコンソールからアプリをデプロイし、AWSのマネージドサービスと連携させる。
4. セキュリティと認証・認可
- AWS STSによる一時的な認証情報: ROSAはクラスターの構築や各Operatorの動作に、長期のアクセスキーではなくSTSの短期の認証情報を使う。アカウント単位のロール、Operator単位のロール、OIDCプロバイダーで権限を分ける。
- IAMポリシー: HCPはAWS管理ポリシーを、クラシックはサービスが定義したカスタマー管理ポリシーを使う。
rosaCLIのmanualモードでは、作成コマンドを出力して管理者がレビューしてから実行できる。 - プライベートクラスター: APIとIngressをプライベートにしたクラスターを作れ、Direct ConnectやVPN経由の社内アクセスに限定できる。
- ユーザー認証と権限: IDプロバイダーを設定し、
cluster-adminやdedicated-adminなどの権限を必要な人にだけ付与する。HTPasswdは単一の管理者を作るための補助的な手段。 - コンプライアンス: AWS GovCloudではFedRAMP HighやHIPAA適格の認定を受けている(HCP・クラシックとも)。
- 監査: AWS側のAPI呼び出しはCloudTrailに記録される。
5. 料金形態
ROSAの費用は「ROSAのサービス料金」と「AWSインフラ料金」の2つで構成されます。
- ワーカーノードのサービス料金: ワーカーノードが使う4 vCPUあたり1時間0.171 USD(オンデマンド)。全標準リージョンで同一。
- HCPのクラスター料金: ROSA with HCPのクラスターには、上記に加えて1クラスターあたり1時間0.25 USDがかかる。
- 契約による割引: ワーカーノードのサービス料金には1年・3年の契約があり、オンデマンドより33〜55%程度安くなる。
- AWSインフラ料金: ワーカーノード、(クラシックでは)コントロールプレーンとインフラノードのEC2、EBS、ロードバランサー、データ転送などの料金。HCPはコントロールプレーンを利用者のアカウントに置かないため、この部分を抑えやすい。
6. よくあるアーキテクチャ・設計パターン
- オンプレOpenShiftの移行: DeploymentConfig、Route、S2Iビルド、Operatorなどを多用するアプリを、マニフェストとCI/CDを作り直さずにROSAへ移す。クラスター運用はRed HatのSREに任せ、費用はAWSの請求へ統合する。
- ハイブリッド運用: オンプレのOpenShiftとROSAで同じプラットフォームと運用手順をそろえ、ワークロードを段階的にクラウドへ寄せる。
- 移行後のモダナイゼーション: ROSA上のアプリからRDSやS3などのマネージドサービスを使い、データベースの運用負担も減らす。
- 閉域の業務システム: プライベートクラスターとDirect Connectで、社内ネットワークからだけ使えるOpenShift基盤を作る。
6.1 EKSとの使い分け
- ROSAを選ぶ: OpenShift固有の資産(Route、S2I、Operator、oc前提の運用)を維持したい、OpenShiftのサブスクリプションとRed Hatのサポートを続けたい、クラスター運用をSREに任せたい。
- EKSを選ぶ: OpenShiftへの依存がなく、アップストリーム互換のKubernetesとAWSネイティブの機能(EKS Auto Mode、Pod Identityなど)を使いたい。OpenShiftの資産がある場合、EKSへの移行はマニフェストやパイプラインの書き換えを伴う。
- EC2上に自分でOpenShiftを構築する: 可能だが、インストール・アップグレード・障害対応を自社で抱えることになる。
7. 設定・デプロイ手順(ハンズオン例)
ROSA with HCPのクラスターをCLIで作成する流れです。
- ROSAコンソールでROSAを有効化し、前提条件(サービスクォータ、ELBのサービスリンクロールなど)を確認してRed Hatのアカウントと連携する。
- AWS CLI、
rosaCLI、ocCLIを用意し、rosa loginでログインする。 - VPCとサブネットを用意する(ロードバランサー用のサブネットタグを付ける)。
- アカウント単位のロールを作る:
rosa create account-roles --force-policy-creation - OIDC設定を作る:
rosa create oidc-config --mode=auto - Operatorロールを作る:
rosa create operator-roles --prefix PREFIX --oidc-config-id OIDC_ID --hosted-cp - クラスターを作成する:
rosa create cluster --cluster-name demo --sts --mode=auto --hosted-cp --operator-roles-prefix PREFIX --oidc-config-id OIDC_ID --subnet-ids SUBNET_IDS - IDプロバイダーを設定し、管理者権限を付与する:
rosa create idp --cluster=demo --interactive、rosa grant user cluster-admin --user=USER --cluster=demo - コンソールのURLを確認してログインし(
rosa describe cluster -c demo)、アプリをデプロイする。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: オンプレミスのOpenShiftで動くアプリを、マニフェストや開発者の操作手順を変えずにAWSへ移し、クラスターの運用も自社で抱えたくない。
A: ROSA。OpenShiftのAPIとツールをそのまま使え、クラスターの構築・保守・アップグレードはRed HatのSREが担う。 - Q: 同じ要件でEKSを選ぶと何が問題になる?
A: DeploymentConfig、Route、S2IなどOpenShift固有の資産をKubernetes標準やAWSのサービスへ書き換える必要があり、開発者の操作手順も変わる。 - Q: EC2にOpenShiftを自分でインストールする案の欠点は?
A: インストール、バージョンアップ、24時間の障害対応を自社の運用チームが抱え続ける。 - Q: OpenShiftの費用をAWSの請求にまとめたい場合は?
A: ROSAコンソールで有効化し、ソフトウェア契約もAWS経由で購入する。料金はAWSの請求に含まれる。
8.2 アーキテクチャ
- Q: ROSA with HCPのコントロールプレーンはどこで動く?
A: Red Hatが所有するAWSアカウント。利用者のアカウントにはワーカーノードだけが置かれ、PrivateLinkで接続する。 - Q: HCPがクラシックより有利な点は?
A: 作成が速く、必要なEC2が少ない(最小2台)ためインフラ費用を抑えやすい。コントロールプレーンとマシンプールを別々にアップグレードできる。
8.3 セキュリティ
- Q: ROSAがAWSリソースを操作するときの認証方式は?
A: AWS STSによる短期の認証情報。アカウント単位のロール、Operatorロール、OIDCプロバイダーを使う。 - Q: IAMロールの作成内容を事前にセキュリティチームにレビューさせたい場合は?
A:rosaCLIをmanualモードで実行し、出力されたコマンドをレビューしてから実行する。 - Q: 社内からのみアクセスできるクラスターにするには?
A:--privateでプライベートなAPI/Ingressのクラスターを作り、Direct ConnectやVPNで接続する。
8.4 料金
- Q: ROSAの料金の構成要素は?
A: ワーカーノードの4 vCPUあたりのサービス料金(HCPはさらにクラスターごとの時間料金)と、EC2などのAWSインフラ料金。 - Q: 長期利用でサービス料金を下げるには?
A: 1年または3年のROSA契約を購入する。