かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  vol.13 ラボ環境 on Azureを作る(1)- 検討(妄想)開始!

 

 

vol.13 ラボ環境 on Azureを作る(1)- 検討(妄想)開始!

2024年05月27日配信
執筆者:山内 和朗

 新入社員である私にも、Visual Studioサブスクリプションが割り当てられました。Visual Studioサブスクリプションでは、一定額までのAzureクレジット枠(サブスクリプションの種類により異なります)をコストなしで利用できるAzure特典がもれなく付いています。このAzure特典を利用して、Azure上に自分だけのラボ環境を構築していこうと思います。

 

Visual StudioサブスクのAzure特典をアクティブ化

 

 セイ・テクノロジーズ株式会社は、サーバーシステムの運用管理ソリューションを提供するソフトウェア企業です。社員の大部分は、開発または製品サポート部門に所属するアプリ開発者/エンジニアです。セールス・マーケティング部に所属する私は、エンジニア的なことをすることはありますが、開発者ではありません。この業界に入ってかなり長いですが、一度も開発者だったこともありません。そんな私にも、自社製品の評価や検証に必要ということで、Visual Studioサブスクリプションが割り当てられました。今後、社内に評価、検証用の自分専用の物理サーバー環境も用意される予定です。

 

 Visual Studioサブスクライバーは、サブスクリプションの種類に応じていくつかの特典(外部サイト)が含まれます。その1つに、「Microsoft Azure(以下、Azure)」サービスの学習、探索、試用に利用できる「Azure特典」があります(画面1)。

画面1
画面1 Visual StudioサブスクリプションでAzure特典をアクティブ化する

 

 この特典をアクティブ化すると、私に割り当てられたサブスクリプションでは月100ドル(2024年5月時点で2万2,500円)相当のAzureクレジット枠を、個人の開発/テストのために利用できるようになります(※運用環境のワークロードには利用できません)。Microsoftからのオファーのものについては、Azureクレジット枠を超えない限り、利用できるサービスの種類や機能に制約はありません。言い換えれば、クレジット枠が最大の制約です。例えば、最大サイズのAzure仮想マシン(Azure VM)をデプロイしてしまうと、数日、あるいは数時間で上限に達してしまい、すぐに停止してしまうでしょう。

 

使用歴は無駄に長いけど、初めてのまっさらなAzure

 

 私はVisual Studioサブスクリプションが割り当てられたその日に、さっそくAzure特典をアクティブ化しました。Azureの使い方には慣れているので、もういつでも利用を開始できます(画面2)。

 

画面2

画面2 Azure利用開始の準備完了!


 慣れているというのは、Azure(当時はWindows Azure Platform)のサービスが2010年に正式にスタートする前から触れてきたからです。Microsoft主催の大規模イベントのハンズオンで触れたのが初めてで、その後、Microsoft MVPの特典の1つとして、まだPaaS(サービスとしてのプラットフォーム)のサービスしかないサービス開始当初から利用してきました(画面3)。

 

画面3

画面3 歴代のAzureポータル(手元に残っていたスクショ)。Azureポータルが現在(画面2)に近いスタイルに正式になったのは、2015年12月のこと

 

 リソースグループもリソースも一切存在しない、まっさらなAzureポータルにアクセスしたのは、もしかするとこれが初めてかもしれません。サービス開始時から継続使用してきた私個人の環境は、いくら整理してもしきれないほどの、リソースグループとリソースが世界各国のリージョンに散らかった状態です。どうしても削除できない謎のリソースもいくつかあります。そうなってしまった原因は、長年の継続利用、サービス廃止に対応したリソースの変換や移行などありますが、よくわかるまでは命名規則がめちゃくちゃだったこともあると思います。

 今回、せっかくまっさらな環境を手に入れたわけですから、そのあたりの反省点を考慮しつつ、自分だけのラボ環境を整備していこうと思います。これまでの個人のAzure環境がいつまで維持できるか分かりませんが(例のアワードを次も受賞できるかにかかっています)。

 

自分だけのラボ環境をどう作るか検討(妄想)

 

 すぐに利用を開始するのではなく、自分だけが自由に利用できるラボ環境として、Azureをどう活用すればよいのか検討しました。当面は、AzureのIaaS(サービスとしてのインフラストラクチャ)環境で、Azure仮想マシン(Azure VM)の使用がメインになります。また、従量課金を如何にしてAzureクレジット枠内に抑えるかがポイントになります。今、検討している頭の中のイメージを図1に示します。

図1
図1 今想定している、低コスト(Azureクレジット枠内)なラボ環境

 

 Azure VMをその都度デプロイして評価環境を作っては消し、ということの繰り返しも方法の1つですが、実は、Azure VMには評価、検証には向かない制約があります。それは、「Azure仮想ネットワーク(VNET)」の制約です。VNETに接続されるAzure VMのIPアドレスは、Azureにより割り当られる必要があり、ゲストOSから設定してはいけません。固定割り当てをしたい場合は、Azure側から(Azureポータル経由など)設定する必要があります。また、VNETにDHCPサーバーとして機能するAzure VMをデプロイして、VNET内のIPアドレス割り当てを管理させることもできません。

 その制約を取り除く方法として、Hyper-Vホストとして機能するAzure VMを1台だけデプロイし、Hyper-Vの内部タイプの仮想スイッチ(ホストとゲスト仮想マシン専用の仮想スイッチ)を利用してNAT(ネットワークアドレス変換)の有効な内部ネットワークを構成します。そして、Hyper-VホストをDHCPサーバーとして構成し、内部ネットワークに対してのみIPアドレス(およびDNSやデフォルトゲートウェイなどのDHCPオプション)をリースするように構成します。これにより、Hyper-Vで管理される仮想ネットワークを使用することで、ネットワークの自由度が増します。

 

 Azure VMをHyper-Vホストとして構成する利点は他にもあります。評価、検証環境では、さまざまな状況下でのテストを行いたいことがよくあります。Hyper-Vであれば、仮想マシンのチェックポイントを利用して、仮想マシンのさまざまな状態を保存できますし、元の状態にロールバックするのも簡単です。Azure VMにも「復元ポイント(外部サイト)」という機能があり、最大500の復元ポイントをいつでも作成することができますが、これはディスクイメージのバックアップ機能の1つであり(Windowsゲストの場合はVSSバックアップ)、稼働中のメモリ状態は保存されませんし、復元ポイントからAzure VMを復元するには結構な手間がかかります。

 この構成は構築経験があるので(Azure Stack HCIの前バージョンを評価したとき)、比較的簡単に用意できると思っています。あとは、Azure VMのサイズの検討が必要ですが、Azureクレジット枠を上限に、ストレージのコストも含めて、複数台のHyper-V VMを同時実行できるサイズはどれくらいなのか、検証しながら試行錯誤していこうと思っています。また、近々に用意されるはずの物理サーバー(Windows Server 2022)環境でも、これと、まったく同じようなクローズドなラボ環境を整備するつもりです。ちょうどAzureを物理サーバーに置き換えた形です。オンプレミスに導入しようとしているラボ環境を、Azure上に先行して構築し、そのノウハウを得ようというわけです。


 接続セキュリティを考えると、RDPとSSHのゲートウェイとして機能するマネージドサービス「Azure Bastion(外部サイト)」(Bastionは“要塞”という意味)を導入したいところです。Azure Bastionを導入すればAzure VMにパブリックIPアドレスを割り当ててインターネットに晒す必要がなく、VNETをインターネット側から遮断できるので良いのですが、「Azure料金計算ツール(外部サイト)」でそのコストを見積もると、それだけで利用可能なAzureクレジットを使い果たしてしまいます。そのため、接続セキュリティについては別の方法を検討します。セキュリティもまた、重要な検討項目です。

 

画面4

画面4 Azure Bastionのコストは月額141.36ドル~。私が利用可能なAzureクレジット枠の上限は150ドル

 

blog_subscribe

blog_comment

最新記事