Amazon Web Services ブログ

Red Hat OpenShift Service on AWS の新機能

この記事は What’s new with Red Hat OpenShift Service on AWS を翻訳したものです。

お客様は、数年前から AWS 上の Red Hat OpenShift 内にアプリケーションワークロードをデプロイすることができました。AWS と Red Hat は、お客様からのフィードバックに対応し、労力を削減し、お客様が望むアジリティの要件を満たすための支援を続けてきました。

モダナイゼーションは、アプリケーションの進化に留まらず、インフラストラクチャ、プロセス、マインドセットの変化といったビジネスのあらゆる側面に関わってきます。しかし、AWS 上で OpenShift のような製品を扱う際に、アプリケーションプラットフォームやインフラストラクチャのチームはどのようにして敏捷性を高めればよいのでしょうか?推奨されるプラクティスに従って Red Hat OpenShift を調達し、AWS アカウントに最短時間でデプロイするにはするにはどうすればよいでしょうか?

Red Hat OpenShift Service on AWS は、お客様のデプロイとクラウドへの移行をスピードアップするいくつかのメリットを提供します。まず、AWS 上の Red Hat OpenShift に必要なサブスクリプションをどのように購入すればよいのでしょうか?次に、Red Hat OpenShift Service を AWS アカウントにデプロイするにはどのくらいの労力と時間が必要でしょうか?

私はかつては、購買や調達のプロセスは重要な問題ではないと考えていました。しかし、お客様からのフィードバックや私自身の経験では、大規模な運用や移行を行う際には、これが課題となることがあります。過去に私は AWS のアカウントチームと Red Hat のアカウントチームの間を行ったり来たりしました。OpenShift のコンポーネントが AWS 上でどのように実装されているのか、例えば EC2 インスタンスの数やサイジング、およびこれらがアプリケーションのワークロードにどう関連するかなどを理解するために、さまざまな議論を行いました。Red Hat のアカウントチームと協力してサブスクリプションを購入するプロセスを進めることができるのはそれからです。購入プロセスが終わったら、製品のプロビジョニングに移ることができます。access.redhat.com にログインしてサブスクリプションを管理することはできましたが、それでも 2 つのプロバイダーとさまざまなシステムの間を行き来し、2 か所で請求を管理する必要がありました。私が関わった多くのお客様は、これは理想的ではないと感じていました。

Red Hat OpenShift Service on AWS は、調達と請求の課題にどのように対処しますか?

お客様は、ボタンをクリックするだけで、AWS マネジメントコンソール内から直接 Red Hat OpenShift Service on AWS のサブスクリプションを購入することができます。これにより、購入までの時間やベンダー間のやりとりが劇的に短縮されます。この作業は、AWS アカウントごとに 1 回だけ行う必要があります。Red Hat OpenShift Service on AWS は、お客様が他の AWS サービスで慣れ親しんでいる消費ベースの課金モデル (時間単位) を OpenShift のお客様にも提供します。これは、OpenShift クラスターを頻繁に起動・停止したり、ワークロードをスケールアップ・ダウンさせたりするお客様にとって、ゲームチェンジャーとなります。現在、お客様は OpenShift のサブスクリプションと基盤となる AWS リソースに対して “使った分だけ支払う” という形で料金を支払うことができます。

Red Hat OpenShift Service on AWS のプロビジョニング:

Red Hat OpenShift Service on AWS では、OpenShift をデプロイするために Infrastructure as Code のテンプレートや自動化スクリプトを扱う必要性はありません。また、AWS アカウントにデプロイするために SRE チームとの長時間の協議も必要としません。その代わりに Red Hat OpenShift Service on AWS はシンプルな API と CLI を備えています。CLI は AWS マネジメントコンソールから直接ダウンロードすることができ、お客様はクラスター要件に関するパラメータを CLI に渡すことができます。OpenShift クラスターのプロビジョニングにかかる時間は約 40 分です。

OpenShift クラスターのプロビジョニングのウォークスルー:

コンソールにログインして Services を見てみると、Amazon Elastic Kubernetes ServiceAmazon Elastic Container Service とともに、Red Hat OpenShift Service on AWS が追加のオプションとして確認できます。Red Hat OpenShift Service on AWS のランディングページページには、いくつかの非常にシンプルなコントロールがあります。

サブスクリプションのサインアップ:
右上の Enable OpenShift ボタンをクリックすると、この AWS アカウント内での ROSA の使用が有効になり、以降、このアカウント内で Red Hat OpenShift Service on AWS を使用すると、自動的に OpenShift のサブスクリプションが請求されるようになります。あらかじめサブスクリプションを持っている必要はなく、またどこかに連絡する必要もありません。請求レポートや AWS コストエクスプローラーを見ると、EC2 インスタンスなどの基礎となる AWS リソースのコストが表示され、OpenShift サブスクリプションの項目の行が表示されます。

AWS License Manager を使用すると、組織内の様々な AWS アカウントにまたがるルールを作成することができます。これにより、支払アカウント以外のチームは、AWS Marketplace のソリューションにサインアップできなくても、ROSA サービスを有効にすることができます。ROSA サービスをメインの支払アカウントで有効にすると ROSA サービスは組織全体で有効になります。

ROSA CLI のダウンロード:
サブスクリプションが有効になったら、次に OpenShift クラスターを AWS アカウントにプロビジョニングするために、ROSA CLI をダウンロードする必要があります。Red Hat OpenShift Service on AWS のページには右側にダウンロードリンクがありますし、アカウント内で ROSA を有効にした直後はポップアップ通知もあります。ダウンロードしてインストールしたら、簡単な検証を行うと良いでしょう。

開発者用 IDE である AWS Cloud 9 を使用して、ROSA クラスターのデプロイを確認できます。Cloud 9 は AWS CLI があらかじめインストールおよび構成された、完全な環境を開発者に提供します。

$ wget https://github.com/openshift/rosa/releases/download/v0.1.10/rosa-linux-amd64

ROSA CLI を使用して、AWS アカウント内に Red Hat OpenShift Service on AWS のクラスターを作成、削除、編集できます。

ROSA CLI は、リージョン内に AWS のサービス制限に関する問題がないかを確認するためにも使用できます。このツールは可能な場合に AWS API を照会します。

$ rosa verify quota --region=us-west-2

I: Validating AWS quota...
E: Insufficient AWS quotas
E: Service ec2 quota code L-0263D0A3 Number of EIPs - VPC EIPs not valid, expected quota of at least 5, but got 2

上記を見ると、このリージョンには十分な EIP がないことがわかります。ここで、AWS プレミアムサポートに連絡してサービス制限の増加をリクエストするか、他の AWS リージョンを利用することができます。ROSA クラスターのデプロイに必要な AWS サービス制限のほとんどは、自動承認に対応しており、解決までの時間を短縮できます。私は追加の EIP と追加の EC2 インスタンスをリクエストし、10 分以内にこれは承認され、AWS アカウントに適用されました。

ROSA CLIを使用して、アカウントで ROSA が有効になっていることを確認したり、AWS CLI、IAM 権限、OpenShift CLI (oc) がすべて揃っているかを確認したりすることもできます。 実は、これらすべての確認は 1 つのコマンドで行うことができます。

クラスターの作成:
ROSA クラスターをプロビジョニングするためには、いくつかのパラメータを CLI インストーラーに渡す必要があります。これらのパラメータには、AWS リージョン、マルチ AZ の有無、クラスターに必要な OpenShift ノードの種類ごとの数などが含まれます。

どのような情報が必要なのかを知るには、インタラクティブモードを使うのが良いでしょう。

$ rosa create cluster --interactive
  • AWS CLI に設定した AWS リージョン
  • ROSA で利用可能な OpenShift の最新バージョン
  • 単一のアベイラビリティーゾーン
  • パブリックなクラスター (パブリック API)
  • Master ノード: 3
  • Infra ノード: 2
  • Compute ノード: 2 (m5.xlarge インスタンスタイプ)

以下は、ROSA クラスター作成時に AWS アカウント内に作成されるリソースの概要です。

クラスターは非同期で AWS アカウントにプロビジョニングされるため、クラスターを一覧表示すると保留状態が表示されます。

クラスターがアクティブで準備が完了した状態になると、CLI を使用してクラスターを確認し、OpenShift にアクセスするために必要な詳細情報を取得できます。

API エンドポイントは、OpenShift CLI などのコマンドラインの開発者および管理者ツールを使用して OpenShift に接続するために使用されます。コンソール URL は、ウェブベースのコンソールを提供します。

API URL: https://api.testcluster.yrmp.p1.openshiftapps.com:6443
Console URL: https://console-openshift-console.apps.testcluster.yrmp.p1.openshiftapps.com

ROSA CLI を使用して、OpenShift 内に追加の管理者を作成できます。

$ rosa create admin -c testcluster

OpenShift CLI またはコンソールのいずれかを介してクラスターにログインすれば、他のフレーバーの OpenShift と同様の一貫したエクスペリエンスが得られます。開発者はプロジェクトを作成し、アプリケーションをデプロイし、OperatorHub を介してテンプレートや Operator を利用することができます。

OpenShift クラスターは、cloud.redhat.com を介して Red Hat OpenShift Cluster Manager 内に表示されます。このコンソールには、すべての OpenShift クラスター、オンプレミスまたは AWS で実行されているセルフマネージドな OpenShift Container Platform クラスター、および AWS で実行されているフルマネージドな Red Hat OpenShift Services クラスターが表示されます。 アイデンティティプロバイダーの設定、dedicated-admin や cluster-admin へのユーザー割り当て、メンテナンスウィンドウの定義は、すべてこのクラスターコンソールから制御できます。

Worker あるいは Compute ノードの自動スケーリングや自動ヒーリングは、これまでも MachineSet を介して利用できました。これらは、より新しい AWS EC2 インスタンスタイプをサポートするように更新されました。Red Hat OpenShift Service on AWS は MachinePool をサポートするようになり、これにより MachineSet の概念をマルチ AZ にまで拡張しました。アベイラビリティーゾーンごとに 1 つのマシンセットを用意し、3 つのセットを作成して管理する代わりに、複数のアベイラビリティーゾーンにまたがる 1 つの MachinePool を定義できるようになりました。

ROSA はフルマネージドなサービスであるため、メンテナンスやパッチ管理がどのように行われ、それがワークロードにどのように影響するかについて、いくつかの問い合わせがありました。新しいコンソールユーザーインターフェースがクラスターマネージャーに追加され、メンテナンスウィンドウが定義できるようになりました。また、アップグレードの処理方法に関する設定も可能です。Amazon Relational Database Service のような他の AWS マネージドサービスに慣れているお客様には、馴染み深い方法でしょう。

ROSA のログ転送:
OpenShift は、Splunk や Dynatrace などのパートナーを通じて、豊富なロギングとモニタリングをサポートしてきました。AWS と Red Hat の共同のエンジニアリングにより、OpenShift 内から直接 Amazon CloudWatch へのログ転送が可能になりました。ログ転送には、OpenShift の様々なレイヤーのクラスターレベルのログの転送が含まれ、OS レベルだけでなく Kubernetes レベルでのインサイトを提供します。また、アプリケーションレベルでは、ビルドインの Prometheus や Grafana レイヤーから収集したデータを Amazon CloudWatch に転送することができます。この統合により、以前のバージョンの OpenShift で利用可能だったログ転送オプションが拡張されます。

要約すると、AWS と Red Hat が協力して Red Hat OpenShift Service on AWS を提供することで、お客様が強調する多くの課題が簡素化されます。お客様は、OpenShift を実行するための購入、調達、プロビジョニング、および日々の運用面での管理ではなく、お客様にとって重要なこと、アプリケーションワークロードやお客様のお客様にもっと集中することができます。

詳細情報やパートナー企業からのニュースについては、Red Hat OpenShift Service on AWS の製品ページをご覧ください!

翻訳はプロフェッショナルサービスの杉田が担当しました。