ROSAはクラウドサービスです、本記事は2022年6月29日現在の状態で検証した内容となっており、その後サービス提供内容が変化している可能性が御座います。
・HCCからROSAをデプロイする手順の紹介
はじめに
田舎の高地で育った暑さに苦手なクラウドインフラ全般を担当しているソリューションアーキテクトの伊藤です。最近の太陽と高気圧のコンビに対抗するには夜行性になる事くらいしか無いのではないかと考えています。#現在JST AM2時です。
本日は2022/6/28に新しいROSAのUXとして紹介が行われたレッドハットが提供するWebコンソールからROSAクラスタをデプロイする方法を日本語で紹介したいと思います。
昨年春よりROSAは、セルフサービスでデプロイを開始することが出来るOpenShiftのマネージドサービスとしてレッドハットが提供を行ってきました。
先日までROSAをデプロイしようと思った場合は、ターミナル画面からデプロイを行う必要がありました。
しかしながら、デプロイをする度にターミナル画面を開いて作業を行っていくのは面倒で、もっともっと簡易にWebからデプロイを行いたいというニーズがありました。
本日の内容はROSAのデプロイ作業をWebから行えるという機能の紹介になります。
#ただし、お手持ちのAWSアカウントとレッドハットアカウントの連携が必要なので、ターミナルからAWS IAM ARNを関連付ける作業が初回1回だけ必要です。
ROSAをデプロイする前に行っておくこと
さて、どんな環境からであれ、ROSAをデプロイする前に行っておくことは以下の4つです。
#過去STSモードでROSAデプロイをしたことがない場合は、再度ご確認されることを推奨します。
- STS with ROSAのAWSの前提条件を確認し、設定します。
- 利用可能なAWSクォータがあることを確認します。
- AWSコンソールでROSAを有効化します。
- ワークステーションに最新のAWS、ROSA、oc CLIをインストールし、設定する(推奨)
STS with ROSAのAWSの前提条件を確認し、設定します。
第1章 STS を使用した ROSA の AWS 前提条件 Red Hat OpenShift Service on AWS 4 | Red Hat Customer Portal
- AWSアカウントとレッドハットアカウントの関連付け
- レッドハットがAWSアカウントにアクセスするための要件
- レッドハットがAWSアカウントをサポートするための要件
- セキュリティ要件
上記のURLにある章1.1 から 章1.2.7 までを確認します。
利用可能なAWSクォータがあることを確認します
1.2. デプロイメントに STS を使用する場合のカスタマー要件 Red Hat OpenShift Service on AWS 4 | Red Hat Customer Portal
今回利用するAWSアカウントに十分なAWSサービスクオータが設定されていることを確認します。必要なクオータコードは以下のURLに記載されています。
第5章 必要な AWS サービスクォータ Red Hat OpenShift Service on AWS 4 | Red Hat Customer Portal
AWSコンソールでROSAを有効化します。
https://ap-northeast-1.console.aws.amazon.com/rosa/home?region=ap-northeast-1#/
上記のAWSマネージメントコンソールにアクセスして、今回ROSAをデプロイするAWSアカウント上でRed Hat OpenShiftサブスクリプションを有効にしていることを確認します。
ワークステーションに最新のAWS、ROSA、oc CLIをインストールし、設定する
以下の3つのCLIを最新版にしてインストールします。
- AWS CLI
https://aws.amazon.com/jp/cli/ - ROSA CLI
https://console.redhat.com/openshift/downloads#tool-rosa - OpenShift CLI
初回だけ:AWS IAMロールとレッドハットアカウントの連携
さて、デプロイ前に行う作業を終えたら早速WebからROSAをデプロイしたいところですが、唯一ターミナルで作業を行う事があります。
各CLIツールを使用して、AWS IAM ARNとレッドハットアカウントと連携する作業です。
STS with ROSAの前提条件を達成する作業の中で予め行った方もいらっしゃると思いますので、以下のURLにアクセスをして現在の連携状態を確認しておきましょう。
https://console.redhat.com/openshift/create/rosa/wizard
ウィザードの中で以下の画像のように各IAM ARNが記載されていれば既にAWSアカウントとの連携が完了しています。
通常はまだAWSアカウントとの連携が完了していないので、空白になっていると思います。
空白になっていれば、Associated AWS accountのリストボックスを開きます。
Associate AWS account という青文字のボタンが表示されていますのでクリックしましょう。
クリックをすると、Link your AWS account to your Red Hat account.という画面になります。
ここではターミナルを使って作業を行っていきます。
docs.openshift.com
- ROSAコマンドでターミナルでレッドハットアカウントの認証をする
- ROSAコマンドでOCM(Webコンソールで使う) のIAM ARNを作成する
- ROSAコマンドでUser(デプロイで使う) のIAM ARNを作成する
以下のようなWebコンソール画面になったと思います。
- アカウントロールを作成します。
ターミナルでコマンドを打ったら、ブラウザに戻ってきて何度かRefresh ARNsをクリックしてみましょう。
おめでとうございます!アカウントロールが作成され次に進めるようになりました。
以上でIAM ARNの設定が完了しました。後はすべてWebコンソールからパラメータを入力してROSAクラスタをご自身のAWSアカウント上にデプロイするだけです!
ちなみに、ターミナルを打つ前に今回のAWSアカウントが作業対象であることか確認を行いましたか?
$ aws sts get-caller-identity
などのコマンドを使って意図したAWSアカウントを利用しているか必ず確認をしましょう。
今回例で作成したIAMロールはAdmin属性が付いたものを作成しますが、企業内ポリシーなどで任意のIAMポリシーを作成して付与する場合は以下のURLを読んで適合するポリシーをマニュアルで作成することもできます。
ROSAをWebコンソールからデプロイ
これからは全てWebコンソール上で作業を行います。
スクリーンショットでBlog Entryを埋めるのではなく、各パラメータを文字でご紹介します。
クラスタ設定
詳細
- クラスタ名
- バージョン
- リージョン
- 可用性の選択 シングルAZ か マルチAZ
- ユーザ領域のモニタリングの選択
- ETCDの暗号化
- PV暗号化のためのAWS KMS ARNの指定
マシンプール
- ワーカーノードのインスタンスタイプ指定
- マシンプールのオートスケール有効化
- 初期ノード数の指定
- ノードラベルの指定
ネットワーキング
コンフィグレーション
- 初期にインターネットからアクセスを許可するかPublic / Private
- 既存のVPCにROSAクラスタをデプロイするか
- cluster-wideプロキシを使うか(エアギャップ環境か)
VPC設定
- 既存のVPCにデプロイする場合、サブネットIDを指定します
Cluster-wideプロキシ
- プロキシを利用する場合はプロキシのコンフィグを設定します
CIDRレンジ
- 任意のCIDRレンジを割り当てたい場合は指定をします
クラスタロール&ポリシー
- OIDCプロバイダを使って利用するロールを制御する場合は設定します
クラスタアップデート
- ROSAクラスタのアップデートタイミングを指定します。
任意のタイミングアップデート / 自動アップデート
レビュー
この画面では設定したコンフィグレーションが1画面に出力されるので問題なければCreate Clusterをクリックしましょう!
クラスタのデプロイが開始されるとAWS上で各種リソースの作成が始まります。途中からクラスタインストールのログも確認できるようになります。
クラスタのデプロイが完了すると、レッドハットのHCC WebコンソールからOpenShiftのWebコンソールを開くことができる画面が出てきます。(Open console)
以上でROSAクラスタを利用することができるようになりました。
まとめ
まだかまだかと待っていた機能で、実際に利用可能になると本当に好きなタイミングでOpenShiftクラスタを任意の構成でデプロイできることが確認できました。
ターミナルを利用せずともどんどんクラスタを増やすことができるようになったので自分のOpenShiftクラスタを今まで以上に増やしていきたいと思います。