みなさんこんにちは。 以前にこちらのブログ記事でAzure Arcについてご紹介いたしました。
まずはAzure Arcに接続してみようということで、様々なリソースの接続方法をご紹介しています。 今回はVMware vCenter ServerをAzure Arcに接続してみます(Azure Arc対応VMware vSphere)。
Azure Arc対応VMware vSphereにすることでAzure側からVMware仮想マシンの管理ができるほか、仮想マシン上にConnected Machineエージェントをインストールすることで仮想マシン上の環境も管理するといったことができるようになります。 機能の概要についてはこちらも併せてご参照ください。
なお、Azure Arc対応VMware vSphereは本ブログ記事執筆時点ではプレビューの状態です。
vCenter ServerをAzure Arcに接続する前に...
vCenter ServerをAzure Arcに接続するにあたって「ワークステーション」ならびに「リソースブリッジ」という語句が出てきます。 Azure Arcの接続についてご説明する前にこれらの概要を確認しておきましょう。
ワークステーション
vCenter ServerをAzure Arcに接続するにあたってはスクリプトを実行する必要があり、このスクリプトを実行する環境を別途用意します。 この環境をワークステーションと呼びます。 ワークステーションはWindowsまたはLinuxのどちらでもよく、vCenter Serverならびにインターネットにアクセス可能な状態にします。
リソースブリッジ
オンプレミス環境上にデプロイされる仮想アプライアンス(仮想マシン)であり、内部でKubernetesが稼働します。 オンプレミス環境に存在する仮想マシンの管理といったタスクをリソースブリッジによってAzure側から実行できるようになります。 詳細についてはMicrosoft Learnをご参照ください。
検証環境
今回は下図の環境を利用します。 vSphereハイパーバイザー(ESXi)上でWindowsならびにLinuxの仮想マシンが稼働しており、仮想環境はvCenter Server Applianceによって管理されています。
vSphere環境には以下のようにDatacenterがあり、「仮想マシンおよびテンプレート フォルダ」として「AzureArc」を作成しており、後ほどこちらにリソースブリッジを配置します。また、以下のように「datastore1」、「VM Network」が存在します。(「VM Network」に接続された仮想マシンはインターネットにアクセスすることができるように構成しています。) 「datastore1」と「VM Network」は既存の仮想マシンで利用しているほか、リソースブリッジのデプロイ時にも利用します。 なお、vSphere環境における要件の詳細についてはこちらをご参照ください。
また、ワークステーションとしてWindows 10を用意しました。
なお、今回はvCenter ServerをAzureに接続する途中でリソースブリッジを作成しますので、この時点ではリソースブリッジは存在していません。
vCenter ServerをAzure Arcに接続
それではMicrosoft Learnのクイックスタートの記載に従ってvCenter ServerをAzure Arcに接続してみます。
大まかな流れとしてはAzure PortalでAzure Arcに接続するためのスクリプトを入手し、ワークステーション上でスクリプトを実行します。
Azure Portalでスクリプトを入手
Azure Arcの「インフラストラクチャ」配下の「VMware vCenters (プレビュー)」を開いて「追加」をクリックします。
「AzureへのvCenterの接続」画面が表示されます。 この環境にはまだリソースブリッジはありませんので「リソースブリッジの新規作成」にチェックを入れ「次へ:基本>」をクリックします。
「基本」タブでリソースブリッジの名前、サブスクリプション、リソースグループ、地域(リージョン)を指定します。まだ日本国内のリージョンはサポートされていないためここでは「Southeast Asia」を選択しました。
また、Azure上でvCenter Serverの情報を扱うために「カスタムの場所」、「Azure内のvCenter名」を指定し、「次へ:タグ>」をクリックします。
なお、「カスタムの場所」はvCenter Serverの物理的な所在を表すものです。今回は"vCenter-CustomLocation"と入力していますが実際にご利用頂く際には具体的な場所を示す名称の設定をお奨めいたします。
タグの設定画面が表示されます。「サーバー」の場合と同様に「物理的な場所タグ」としてプリセットでDatacenter / City / SiteOrDistrict / CountryOrRegion という名称のタグが存在しています。 必要に応じて値を入力し「次へ:スクリプトのダウンロードと実行>」をクリックします。
なお、vCenter Serverの接続の場合は以下のようにタグを付与するリソースを選択することができるようになっています。
スクリプトが表示されますので、こちらをワークステーションの任意の場所に保存します。 今回はワークステーションがWindowsのためWindows用のスクリプトを使用します。
なお、必要なリソースプロバイダーが未登録の場合は「スクリプトのダウンロードと実行」タブに「登録」ボタンが表示されます。
今回はワークステーションの「ダウンロード」フォルダにスクリプトを保存しました。
スクリプトの実行
ワークステーション上でPowerShellを管理者として実行します。
PowerShellでスクリプトを保存したフォルダに移動し、以下のコマンドを実行します。 以下のコマンドはPowerShellの実行ポリシー(スクリプトを実行する条件)を変更するもので、現在のPowerShellセッションにおいてスクリプトの実行をブロックしないようにするものです。 本コマンドの詳細についてはMicrosoft Learnをご参照ください。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
スクリプトを実行します。
./resource-bridge-onboarding-script.ps1
はじめにワークステーションに関してプロキシの有無を尋ねられます。 本環境にはプロキシがありませんので"Is the current workstation behind a proxy?"に対して"No(n)"と回答しています。
しばらく待機するとAzure CLIへのログインが求められます。 スクリプトを初めて実行している場合は"Confirm login to azure cli?"に対して"Yes(y)"と回答します。
認証のためのURLとコードが表示されます。
表示されたURLにWebブラウザでアクセスし、コードを入力します。
サインインします。(Azureアカウントに必要なロールについてはこちらをご参照ください。)
認証が完了したらWebブラウザを閉じて構いません。
スクリプトの実行が継続されますので待機します。 しばらく待機すると、リソースブリッジ作成のためにvCenter Serverの情報が求められます。 まずはFQDN(またはアドレス)、ユーザー名、パスワードを入力します。
続いて、リソースブリッジをデプロイするデータセンター、リソースブリッジが利用するネットワーク、リソースプール、データストア、フォルダを指定します。 今回はDHCPの利用はせずに静的IPアドレスを利用する構成としています。 入力項目の詳細についてはこちらをご参照ください。
しばらく待機します。 なお、"Preparing the appliance configuration"でKubernetesのバージョンが表示されます。 今回はv1.22.11です。
しばらく待機すると再度vCenter Serverの情報が求められます。 ここで入力するのはAzureを介してvCenter Serverの操作を行う際に利用される資格情報です。 先程リソースブリッジ作成のために入力した情報と同じものを入力しても構いません。
その後、"Your vCenter has been successfully onboarded to Azure Arc!"が表示されスクリプトの実行が完了します。
これでAzure ArcへのvCenter Server接続は完了です。 Azure Portalを確認すると接続したvCenter Serverが表示されています。
Azure Arc接続後の状態を確認
Azure Arcに接続した後の状態を確認してみましょう。
vSphere
オンプレミスのvSphere環境に追加されたものをvSphere Clientで確認してみます。 フォルダ「AzureArc」に仮想マシンが1台新たに作成されています。 これがリソースブリッジです。 また、仮想マシンテンプレートが1つ追加されています。
Azure Portal
Azure Portalでの見え方を確認してみます。 vCenterインベントリで仮想マシン、リソースプール/クラスター/ホスト、テンプレート、ネットワーク、データストアを確認することが可能です。
ワークステーション
今回はワークステーションの「ダウンロード」フォルダでスクリプトを実行しました。 こちらには以下のようにファイル・フォルダが追加されています。 YAMLファイルはリソースブリッジの構成情報に関するファイルで、kubeconfigはkubectlでKubernetesクラスターに接続する際に利用するファイルです。 こちらの「重要」に記載の通り、安全な場所に保管しておきましょう。
リソースブリッジ
前述のワークステーション上にはkubeconfigが作成されていました。 こちらを利用してリソースブリッジにアクセスしてみたいと思います。 ここではワークステーションにkubectlをダウンロードしてリソースブリッジ上のKubernetesにアクセスしてみます。(kubectlのセットアップについては割愛します。詳細についてはこちらをご参照ください。)
ここではkubectl実行の際に"--kubeconfig"により前述のkubeconfigを指定しています。 まずはバージョンを確認してみると、リソースブリッジ上のKubernetesはバージョン1.22.11であることが分かります。(kubectlのマイナーバージョンはクラスター側と差が1以内でなければいけないため、ワークステーション側にはバージョン1.23のkubectlをセットアップしました。)
このKubernetesクラスターのノードを確認すると以下のようになっています。 コントロールプレーンが1つで、OSはCBL-Mariner、コンテナランタイムはcontainerdであることが分かります。
Podの稼働状況を確認することも可能です。
まとめ
本ブログ記事ではvCenter ServerをAzure Arcに接続するにあたって必要なコンポーネントや接続手順についてご紹介いたしました。 Azure Arcに「サーバー」を接続する場合とは必要なコンポーネントが異なる点にご留意ください。
接続後の管理についてはまた改めてご紹介できればと思います。
SB C&SはAzureを取り扱われているパートナー企業様へ様々なご支援のメニューを用意しております。 メニューの詳細やAzureに関するご相談等につきましては以下の「Azure相談センター」をご確認ください。
Azure相談センター
https://licensecounter.jp/azure/
※ 本ブログは弊社にて把握、確認された内容を基に作成したものであり、製品の動作や仕様について担保・保証するものではありません。サービスや製品の動作、仕様等に関しては、予告なく変更される場合があります。
Azureに関するブログ記事一覧はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
中原 佳澄