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 Ignore
New-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 Ignore
try ~ catch
で例外が発生したときにエラーメッセージを表示。
try {
※リソースの作成の作成。
} catch {
※リソースの作成の作成に失敗。
}
エラーメッセージを表示する場合は $_.Exception
を使用。
Write-Error -Message $_.Exception
コンソールで表示されるメッセージをカラーで表示したい場合は ForegroundColor
で色を指定する。
# メッセージをレッドで表示する場合は「Red」を指定
-ForegroundColor Red
# メッセージをイエローで表示する場合は「Yellow」を指定
-ForegroundColor Yellow