今日とてUdemy講座「作りながら覚えるMicrosoft Azure入門講座(IaaS編)」を受講です。
クラウドサービスの売りの一つ、自動スケールアウト・スケールインを試しました。
Chapter6の内容
Chapter6は、仮想マシンスケールセットという仕組みを使い仮想マシンのスケールアウト・スケールインを実際に行いました。
学習時間は 1.5時間 でした。手順が変わっている部分があり、説明はあったのですが少し手間取りました。
実施内容は以下のとおりです。
・仮想マシンスケールセットの作成
・DSC(PowerShell Desired State Configuration)を使ったIISの自動インストール
・リソースプロバイダーの登録
・自動スケールの設定・動作確認
AWSのオートスケーリングと作り方がだいぶ違うので、一度はやっておきたいですね。
(参考)AWSのオートスケーリング ↓
ハマりポイント
すべて順調にいくわけなく、今回も2点ハマりポイントがありました。
一部リソースを残し一旦消しましょう、って言ったよね?
この講座の最初に、「仮想マシンテンプレート」「ネットワークセキュリティグループ」「仮想ネットワーク」以外のリソースは一旦削除しましょう、という解説から始まりました。
サクッと消して進めると、「ストレージアカウント」が必要な手順がありました。
以前作っておいたストレージアカウントを利用しましょう、って言われても、先ほど消したんですが・・・(;^ω^)。
DSC(PowerShell Desired State Configuration)を使ったIISの自動インストールを行う際に、PowerShellのコマンドファイルを使うのですが、そのファイルは自分のストレージアカウントのストレージに保管しておく必要があるためです。
Azureのアップデートに伴い上記手順が必要になったのですが、講座ではその部分の手順だけ修正されていましたが、リソースをまず消しましょうという手順は修正漏れのようですね。
ストレージアカウントを再作成して先に進めました。
ストレージアカウントの復習にもなったので結果オーライ!
仮想マシンスケールセット作成時にDNS名をつけ忘れた!
仮想マシンスケールセット作成の手順も、Azureのアップデートに合わせて変化していました。
動画での説明ではなく、GitHubに手順がアップされていました。
しかし、GitHubにアップされている手順どおりに実施すると、作成される仮想マシンスケールセットのパブリックIPアドレスにDNS名が付きませんでした…。
もう一度作り直すのも大変ですし、本番運用してからもDNS名を付けたり変更したりすることはあると思うので対応方法を調べました。
幸い、パブリックIPアドレスの構成メニューからサクッとDNS名を付けることができました。
Azureは、可用性セットの件もありますので、作り直さないといけないケースもあるので、こういうより道も経験しておくと良いですね。
感動のスケールアウト・スケールイン
クラウドサービスの花形なので、スケールアウト・スケールインはメモしておきます。
CPU使用率を意図的に上げて、仮想マシンを自動的に増やす
Windows PowerShellで以下のコマンドを打ち、マシンのCPUを強制的に100%にしました。
while ($true) {}
こんな数文字程度のコードでCPUが100%になるとは・・恐ろしいですね。
すると、仮想マシンが自動的に2台に増えました。いいですね♪
CPU使用率が元に戻れば、仮想マシンが自動的に減る
CPU負荷を上げているPowerShellを終了すると、CPU負荷が下がり、仮想マシンが自動的に1台に減りました。
私的には、AWSよりも作りやすいと感じました。
Udemyの動画だからわかりやすかっただけかもしれませんが。
まとめ
1.仮想マシンスケールセットという機能を使い、仮想マシンのオートスケーリングを試しました。
2.合わせてDSC(PowerShell Desired State Configuration)を使ったIISの自動インストールも学びましたが、これもかなり重要な技術だと思います。
3.毎度のことながら、Azureはアップデートが多いので手順がころころ変わるところはご愛敬です。変化の波に乗って対応できる応用力が大切ですね。
コメント