
※本記事は OpenShift Virtualization アドベントカレンダーの 19日目の記事です。qiita.com
目次
はじめに
皆さんこんにちわ、Red Hat Global Learning ServicesでLearning Solution Architectを担当している坂井 大和(@lab8010)です。

主にX.com上でRed Hat製品やサービスについて配信をしているので、もしよければフォローくださると幸いです。
この記事では、『Microsoft Azure上で実行するRed Hat OpenShiftに、なんとサーバ仮想化機能もGAしたけども、これって何?』という疑問に対して解説します。
【積極採用中!】Red Hat 採用に関するお知らせ
Red Hatでは事業拡大に伴い人材を募集しています。
本記事でご紹介している『OpenShift Virtualization』に関するコンサルタントを募集しています。もし少しでも興味がある方は、ご応募または本記事を執筆している私坂井までお気軽にDMをください。(X / Linkedin)
この記事のゴール
この記事を読み終わった頃には、読者様が次のことが出来る状態になって頂きたいと考えています。
- Azure Red Hat OpenShiftについてそれとなくわかるようになる。
- OpenShift Virtualization on AROとAzure Virtual Machinesの違いをそれとなく理解できる。
なお、私のこの記事では、あくまでもAROが持つVirtualization機能にフォーカスをしたいため、AROそのものについてはそこまで深掘りはしません。
本赤帽ブログでは次の記事が過去に投稿されていますので、AROそのものについて知りたい方はこちらの記事を参考にしてください。
(数年前の記事であるため、差分についてはお手数ですが最新情報をご確認いただくことを強くお勧めいたします。)
それでは、早速本編に入っていきましょう。
おさらい Azure Red Hat OpenShift(通称ARO)とは?
AROとは、Microsoft Azureのデータセンター内で実行されるRed Hat OpenShiftです。
Red Hat OpenShiftは、Red Hatが提供するKubernetesディストリビューションであり、ネイティブなKubernetesに対してRed Hatが選定したりカスタムした追加要素を組み込んだカスタムKubernetesです。
このRed Hat OpenShiftは、オンプレミスな自社データセンターにて管理運用は可能ですが、AROで動かす価値は次の通りです。
- パブリッククラウドが持つ堅牢なデータセンターとスタッフにより運用管理の活用(マネージドサービス)
- Microsoftが提供する他のサービスとの連携が可能
AROについて体系的に概要を学びたい場合は、以下のサイトより学習コンテンツにアクセスができます。
あれ、Microsoft AzureにもKubernetesサービスってなかったっけ?
はい、あります。Azure Kubernetes ServicesことAKSが存在します。
じゃあ、AROとAKS(Azure Kubernetes Service)はどう違うんだっけ?
どちらもカスタムされたKubernetesという点では共通していると言えます。
ですが、内部で使用されているテクノロジーを比較してみた所以下の違いがあります。
ベースとなるテクノロジーは上記のように違いますが、さらに言えばコンテナの中で使用可能なRHEL(UBI)については違いがあると言えます。
UBIについて知りたい場合はこちらのページが参考となります。
AKSでもAROでもUBIを使用したコンテナイメージは活用できますが、上記記事内の次の記載が差別化をしています。
- Run anywhere: you get the same quality bits, but you only get community and self-support.
- Run on RHEL or OpenShift: you get the same quality bits, but it’s fully supported by Red Hat, you can simply file a support ticket if you need any help.
このことから、コンテナの中のイメージについてもRed Hatのサポートが必要であり、かつMicrosoft Azureが提供する他のマネージドサービスとの連携が必要な場合はAROが向いていると言えるでしょう。
また、AROはRed Hat OpenShiftということもあり、Ansibleによる制御
で、Red Hat OpenShift Virtualizationって何?
こちらの記事で解説をしていますので、ご一読ください。
Auzre Virtual MachineとRed Hat OpenShift Virtualization on AROはどう使い分けするの?

アークテクチャ視点で言えば明確な違いがあります。
Azure Virtual Machines(Azure VM)は、Microsoft内のAzureデータセンター内の物理サーバー上のハイパーバイザー上の仮想マシンとして実行されます。
Red Hat OpenShift Virtualization on AROは、AROのために準備されたAzure Virtual Machines仮想マシンインスタンス内のRHCOS内のKVM/QEMUを使用して仮想マシンを実行する、いわゆるネスト化された仮想マシンが実行されます。
この点だけをパッと見てみると、パフォーマンス特性的な視点ではAzure VMの方が処理場登場するレイヤーは少ないためボトルネック面の懸念は少なく見えます。
(個人的な感想であり、データに基づく分析は必要だと思います。)
では、そこまでしてRed Hat OpenShift上で仮想マシンを動かす価値は何か?と言われれば次の点があると言えます。
- 既にAROを用いてアプリケーションプラットフォームを構築しているが、どうしてもコンテナ化できない仮想マシンを部分的に所有している
- 仮想マシン内のゲストOSとしてのRHELについてRed Hatのサポートを受けたい
この機能が登場したことで、『AROは使っているんだけど、どうしてもコンテナ化できない仮想マシンがあって、それをどうするか悩んでいたんだよなぁ...』というユーザーの方にとって見れば、この機能強化はそうした状況に対するソリューションになると言えます。
他にもピンポイントなユースケースはあるかもしれませんが、リリースされて間もない時点での記事のため、一般的に考え得るケースをまずは紹介してみました。
今後も本機能の魅力を伝える上で新しい視点があれば、この記事への追記または新しい記事でご紹介をしたいと思います。
あとがき
実は私、前職ではVMware認定インストラクターだけでなく、Microsoft認定トレーナーもやっていました。
Azureについてもいくつかの基本的なコースを教えていたこともあり、記事を書いていて非常に懐かしくもあり、そして身につけたスキルが思わぬ形で役に立つタイミングが来たなとも感じています。
ITインフラに関わるものとしては、プライベートもパブリックも両方のクラウドインフラに携わることは刺激にもなりますし、常に業務の中で両方に関われれば良いなと感じていたので、今後も赤帽ブログにてAROについても魅力的な記事を書いていきたいと思います。