ROSA(Red Hat OpenShift Service on AWS)を利用したコンテナプラットフォーム構築 ~ROSAの特徴とメリット~

Hero banner for ROSA (Red Hat OpenShift Service on AWS) with bilingual large white text on the left and a glowing neon ROSA card on the right against a dark background.

本記事では、AWSとRed Hatが共同提供するフルマネージドなOpenShiftサービス「ROSA」について紹介します。

特に、近年の主流であり、インフラ費用や運用負荷を劇的に削減できるROSAの最新アーキテクチャモデル「HCP(Hosted Control Planes)」の仕組みと、導入による4つのメリットを分かりやすく紹介し、最適なコンテナ基盤選定のヒントをお届けします。

ROSAとは

ROSA(Red Hat OpenShift Service on AWS)とは、Red Hatが提供しているコンテナオーケストレーションプラットフォームであるOpenShiftを、AWS上のフルマネージドサービスとして利用できるようにしたサービスです。(OpenShiftについて詳しく知りたい方は、こちらの記事をご参考ください)

ROSAを利用してコンテナ基盤を運用することには、以下の利点があります。

Red HatとAWSの共同サポート

ROSAは、サポート窓口が完全に一元化されていて、問い合わせを受けると、裏側でAWSとRed Hatのエンジニアが直接連携して原因を突き止めてくれる仕組みになっています。自分たちでAWS上にOpenShiftを構築した場合、トラブルが起きると「AWSのインフラが悪いのか、それともOpenShiftのバグなのか」を自力で調べ、それぞれのサポートに別々に問い合わせなければなりません。ROSAであればそのようなアクションが一切不要になるため、運用の負担を大きく軽減できます。

Red Hatの専門チームによる24時間監視

ROSAのクラスターは、Red HatのSREチームによって24時間365日体制で監視・運用されるようになります。
クラスターに何か障害が起きても、Red HatのSREチームが裏側で迅速に対応・復旧をしてくれるため、ユーザーとしては、監視や障害対応に対する運用コストを飛躍的に削減できます。
また、パッチ当てやセキュリティのアップデートなどもRed Hat側が対応してくれるので、ユーザーはそのスケジュール(実行するタイミング)を決めるだけで済みます。

AWSサービスと連携しやすくなる

ROSAは、最初からAWSの各種サービスとスムーズに連携できるよう設計されています。これによって、複雑なインフラ設定に時間を取られなくなるため、より迅速かつ安全にコンテナ基盤を構築・提供できるようになります。

Copyright © Red Hat, Inc.

AWSのRoleとPolicyを利用したRed Hat側との連携

請求書の統合

ROSAの利用料金(OpenShiftのライセンス料やAWSのインフラ費用)は、すべてAWSの請求書に統合されて支払われます。 別個に契約や支払いを行う必要がないため、企業の購買手続きや予算管理の負担を大幅に軽減できるメリットがあります。

 

ROSAを使うことで、上記のように様々なメリットが得られますが、現在の標準アーキテクチャである「HCP(Hosted Control Planes)」の登場によって、更なるフルマネージドのサービスが利用可能になりました。
ここからは、コストや運用の楽さを劇的に向上させる「ROSA with HCP」について詳しく説明します。


ROSA with HCPとは

ROSA with HCP (Red Hat OpenShift Service on AWS with hosted control planes) とは、簡単に言うとコントロールプレーンをRed Hat側のAWSに配置し、完全に管理を任せる仕組みです。

HCPが登場する前の従来の方式は、HCPと区別するために「ROSA Classic」と呼ばれていますが、以下の構成図を見ていただくと、一目でその違いが理解できると思います。

ROSA Classic

Copyright © Red Hat, Inc.

ROSA Classicの構成図

ROSA With HCP

Copyright © Red Hat, Inc.

ROSA with HCPの構成図

構成図からもわかるように、Classic方式では、コントロールプレーンノードがユーザー自身のAWSアカウント(VPC)内に配置され、ワーカーノードと共存していました。

一方、HCP方式では、コントロールプレーンがユーザーのネットワーク環境から安全に分離された場所に配置され、AWS PrivateLinkを介してやり取りする仕組みになっています。

このような構成の違い以外にも、HCP方式は数多くのメリットを持っています。ここからは、どのようなメリットがあるか紹介します。

コントロールプレーンの管理コストの削減

コントロールプレーンには、APIサーバーやetcdデータベースなど、クラスター全体を制御する極めて重要なコンポーネントが含まれています。これらをRed Hat側が完全に管理・運用してくれるため、ユーザーの運用保守のコストが大幅に削減されます。

AWSインフラ費用(EC2代金)を節約できる

従来のClassic方式では、コントロールプレーンを構成するノード(EC2インスタンス)をユーザー自身のAWS環境内に作成する必要がありました。
OpenShiftの仕様上、クラスターの安定稼働(高可用性)を維持するためには最低3台のコントロールプレーンノードが必須となりますので、小規模な開発環境であっても、ベースとなるEC2の固定費用がどうしても高くなってしまうというコスト面の課題がありました。

HCP方式では、このコントロールプレーンがRed Hat側に完全に移動するので、ユーザーのAWSアカウントからは最低3台分のEC2の料金が完全に消えることになります。
これは、AWSのインフラコストを劇的に節約・削減できるというHCP方式だけの大きなメリットになります。

クラスター作成速度の向上

従来のClassic方式では、クラスターを新規作成するたびに、ユーザーのAWS環境内でコントロールプレーンのインフラも一から組み立てる必要がありました。そのため、クラスターが完全に起動して利用可能になるまでに、約30分〜40分ほどの待ち時間が発生していました。

HCP方式では、コントロールプレーンの構築・プロビジョニングがRed Hat側の環境で迅速に行われます。 ユーザーのAWS環境内では、アプリケーションを動かすためのワーカーノードのみを作成すれば良いため、クラスターの作成時間が約10分程度へと大幅に短縮されました。急ぎで新しい環境が必要になったりするビジネスシーンにおいて、このような時間の短縮は大きなメリットになります。

アップグレードの柔軟性

従来のClassic方式では、コントロールプレーンとワーカーノードのバージョンアップを密に連動させて管理する必要がありました。そのため、互換性の確認や影響範囲の調査を慎重に行わなければならず、事前の計画や検証に多くの工数を割く必要がありました。

HCP方式では、コントロールプレーンとワーカーノードの管理が完全に切り離されていますので、両者のアップグレードを別々のタイミングでスケジュールすることも可能です。

例えば、まずはRed Hat側が管理するコントロールプレーンだけを先行してアップデートし、アプリケーションが動くワーカーノードは業務影響の最も少ない別の日時に実施する、といった柔軟な運用ができるようになりました。

 

以上が、ROSA Classicと比べたHCP方式の特徴とメリットの解説になります。最後に、これまでご紹介した内容を表で簡単にまとめます。

ROSA ClassicとROSA HCPの比較表

比較項目ROSA Classic(従来方式)ROSA with HCP(最新モデル)
コントロールプレーンの配置ユーザー自身のAWSアカウントRed Hat側
マスターノードのEC2費用ユーザー負担ユーザー側の負担ゼロ(Red Hat側で稼働するため)
クラスター作成時間約40分約10分
アップグレード調整両ノードが連動しているため、スケジュールの調整がしづらい別々のタイミングで柔軟に調整・実行が可能

まとめ

以上、ROSAの概要から、現在の主流である「HCP(Hosted Control Planes)」の特徴と数々のメリットについてご紹介しました。
ROSA with HCPは、コスト・速度・運用のすべてにおいて優れており、現在のROSA構築におけるベストプラクティスとなっています。
これから新しくコンテナ基盤を検討される方に、この記事の内容が参考になれば幸いです。

次回は、実際にAWS上でROSA with HCPのクラスターを構築していく手順を詳しく解説します。ぜひ楽しみにしてください。

参考資料

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です