Azure のリソースロック
Azure ではオペレーションミス等への防御として「リソースロック」という機能を提供しています。
ロックには「読み取り専用ロック」と「削除ロック」の 2 種類のロックがあります。
- 削除ロック:単にそのリソースを削除できないようにする (弱いロック)
- 読み取り専用ロック : そのリソースを削除含め変更できないようにする (強いロック)
また、読み取り専用ロックについては「リソース」に対して行う場合と「リソースグループ」に対して行う場合での効果に注意が必要です。
リソースに対する読み取り専用ロック
ロックの設定手順は至って簡単です。例えば仮想マシンを読み取り専用ロックにするときの手順を以下に示します。
該当の仮想マシン (今回は vm1) のブレードにて「ロック」を選択し、「追加」ボタンで表示された画面に「ロック名」と「ロックの種類」を選択し、OK をクリックするだけです。
これによりこの仮想マシンは設定変更できなくなります。例えばサイズ変更をしようとすると以下のように「The scope 'vm1' cannot perform write operation because following scope(s) are locked: ~」なります。
ただし、この場合であってもリソースグループの移動は可能です。これは、リソースグループのメタ情報の変更であり、リソース自体の変更ではないからです。
リソースグループ (複数リソース) に対する読み取り専用ロック
ということでリソースグループに対する読み取り専用ロックです。
手順はリソースのときと全く同じです。
リソースグループの「読み取り専用ロック」には 2 つの効果があります。
- 配下の複数リソースを一斉に読み取り専用ロックにする
- 配下のリソースのリソースグループを移動できないようにする
リソースグループには配下のリソースのメタ情報が含まれますので、このメタ情報に対するロックが掛かるためです。実際、この状態で vm1 の削除やサイズ変更をしようとすると、先ほどと同様のエラーが表示されます。
リソースグループ (複数リソース) に対する削除ロック
リソースグループに対して削除ロックを行うと、読み取り専用のときと同様、配下のリソースに対しても削除ロックが掛かります。
まとめ
リソース | リソースグループ | |
---|---|---|
読み取り 専用ロック | リソースの変更不可、ただし リソースグループの移動は可能 | リソースグループおよび配下リソースの変更不可、 リソースグループの移動も不可 |
削除ロック | リソースの削除不可 | リソースグループおよび配下リソースの削除不可 |
コメント