presents by IT Consulting 109

Azure – PowerShellでリソースのロック

AWSをメインで利用しているエンジニアがAzure環境の構築をPowerShellで進める連載。
リソースグループの作成から仮想マシンを起動するまでを連載していく予定です。

第9回は、これまでに作成したリソースを誤って削除しないように、サービスのロックを作成します。

番外編

  • 第10回 PowerShellでストレージアカウントの作成
  • 第11回 PowerShellで仮想マシン用VHDイメージのアップロード
  • 第12回 PowerShellで仮想マシンをVHDイメージから作成
  • 第13回 PowerShellでディスクの拡張

手順

# リソースグループ名を設定
$private:resouceGroupName = "rg001"
###############################################################################################################################
Write-Host "■■【ロック】の作成処理 ■■"
###############################################################################################################################
$lock = Get-AzResourceLock -ResourceGroupName $private:resouceGroupName

if ($lock.count -eq 0) {
    Write-Host ("${private:resouceGroupName} の「ロック」に lock${private:resouceGroupName} を作成中...")
    $lock = New-AzResourceLock -LockLevel CanNotDelete -LockName "lock${private:resouceGroupName}" -ResourceGroupName $private:resouceGroupName -Force 
    if ($lock -eq $null) {
        Write-Host ("${private:resouceGroupName} の「ロック」の作成を中止しました。")

    } else {
        Write-Host ("${private:resouceGroupName} の「ロック」に lock${private:resouceGroupName} を作成しました。")

    }
} else {
    Write-Host ("${private:resouceGroupName} の「ロック」には、既に ${private:resouceGroupName} が存在するため作成をスキップしました。") -ForegroundColor Yellow

}
###############################################################################################################################
Write-Host ""

-LockLevel オプション「ロックの種類」を以下から指定。

  • CanNotDelete:削除
  • ReadOnly:読み取り専用
-LockLevel CanNotDelete

-LockNotes オプション「メモ」を任意で設定。

-LockNotes '削除ロック'

補足

削除ロック
「変更」は可能、「削除」は不可。
削除はできないが、仮想マシンの起動・停止を含め構成を変更する場合などはこちらを設定。

読み取り専用ロック
「変更」も「削除」も不可。
仮想マシンの起動・停止を含め、安易に構成が変更されないようにする場合はこちらを設定。

この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です