運用CLIP!オートスケールとか高度なスケールアウトの仕組みをAzureは備えていますが、今日はそんな話は全く縁が無い仮想マシンの泥臭いスケールアウトです。BCDR-災害対策と待機系フェイルオーバでも触れましたが、Azureは停止中のVM料金は取られません。スケールアウトするのであれば、あらかじめ構築しておいて、必要に合わせて起動、停止すれば良いのです。仮想マシンで作るスケールアウトある程度の許容限界は想定できてないといけませんが、以下の図ように予め仮想マシンを作っておけばよいのです。作っておけば、あとは起動するだけ。手動でポータルからポチポチでも良いし、スクリプトを使っても良いでしょう。Automationに設定したスクリプトのWebhookをキックするとか、Zabbixあたりで検知したら、スクリプトを叩くなどをトリガーに起動しても良いと思います。しておけば、スケールアウトの為にインスタンスを立てるところから始めるなんて馬鹿なことをせずに済みます。大事なことなので、二度言いますが。停止中のVMの料金は取られませんし、ストレージも使った分の請求ですので、ストレージ分だけ払って作っておけば良いですし、停止しているVM3~VM5は仮想ハードディスクの実容量分を支払えばいいことになりますので、起動しっぱなしよりは全然安いです。スクリプトを使って少し便利にこの例では、5台程度ですので最悪手動でポチポチしても良いとは思いますが、台数が増えてくると、この作業は単調でとても骨です。Managerを使い、5台起動したものです。名前はVM0からVM4までの5台としました。やっつけでサンプルスクリプトを作りました、行っているのは、以下の項目の通りです。書いてて想定できるBUGがありますが、TargetInstancesの最大数が台数超えるとかwそのあたりはサンプルなので、改良して使ってくださいませね。停止している場合は、そのままスキップ、起動の場合は停止と、やっつけで作ったので、知性のかけらもありません。今回はあくまでサンプルスクリプトなので、わかりやすさを重視して同期実行で記述をしています。工夫すると、非同期で実行ができます。大量のVMの操作を行う場合ですが、非同期処理を検討する事をお勧めします。Ser...記事を読むAWSとAzureにおけるMicroservicesに対するサービスへのアプローチの違いを考える最近になって妙に聞くことがあるMicroservicesの話です。その4今まで概要ばかりでしたので、少しづつ濃度を上げていきます。デプロイ王子のクラウド。