AWSをメインで利用しているエンジニアがAzure環境の構築をPowerShellで進める連載。
リソースグループの作成から仮想マシンを起動するまでを連載していく予定です。
第2回は、これから作成するリソースを管理する「リソースグループ」を作成します。
番外編
前提:事前にAzureに接続している事。
# リソースグループ名を設定
$private:resourceGroupName = "rg001"
# ロケーションを設定
$private:location = "japaneast"
# タグを設定
$tags = @{"環境名"="ITC109"}##################################################
Write-Host "■■ リソースグループの作成 ■■"
##################################################
# 作成予定のリソース有無を確認
$private:resourceGroup = Get-AzResourceGroup -Location $private:location -Name $private:resourceGroupName -ErrorAction Ignore
if (-not $private:resourceGroup) {
  try {
    #リソースグループの作成
    Write-Host ("「リソースグループ」に ${private:resourceGroupName} を作成中...")
    $null = New-AzResourceGroup -Location $private:location -Name $private:resourceGroupName -Tag $tags -ErrorAction Stop
    Write-Host ("「リソースグループ」に ${private:resourceGroupName} を作成しました。")
    Write-Host ""
  } catch {
    Write-Host "リソースグループ作成エラー" -ForegroundColor Red
    Write-Error -Message $_.Exception
  }
} else {
  Write-Host ("「リソースグループ」には、既に ${private:resourceGroupName} が存在するため作成をスキップしました。") -ForegroundColor Yellow
  Write-Host ""
}
##################################################Get-AzResourceGroupで既に同名のリソースが存在しないか確認。
Get-AzResourceGroup -Location $private:location -Name $private:resourceGroupName -ErrorAction IgnoreNew-AzResourceGroupでリソースグループを作成。
New-AzResourceGroup -Location $private:location -Name $private:resourceGroupName -Tag $tags -ErrorAction Stopパラメータとして以下を指定します。(※は必須のオプション)
-Locationオプションで作成するリージョンを設定。※
-Location $private:location-Nameオプションで作成するリソースグループ名を設定。※
-Name $private:resourceGroupName管理用のタグを設定する場合は、-Tagオプションで指定。
タグ変数は配列で「キー」と「値」で設定。
# タグを設定
$tags = @{"環境名"="ITC109"}
-Tag $tags-ErrorActionオプションに stop を指定すると、エラー時に停止。
-ErrorAction Stop-ErrorActionオプションに Ignore を指定すると、エラー無視して続行。
-ErrorAction Ignoretry ~ catchで例外が発生したときにエラーメッセージを表示。
try {
    ※リソースの作成の作成。
} catch {
    ※リソースの作成の作成に失敗。
}エラーメッセージを表示する場合は $_.Exception を使用。
Write-Error -Message $_.Exceptionコンソールで表示されるメッセージをカラーで表示したい場合は ForegroundColor で色を指定する。
# メッセージをレッドで表示する場合は「Red」を指定
-ForegroundColor Red
# メッセージをイエローで表示する場合は「Yellow」を指定
-ForegroundColor Yellow