AzurePaaS研究サイト

~理解しずらい情報をシンプルにお伝えします~

Azure のリソースグループを詳しく説明します

Azure のリソースグループとは

 
 
サブスクリプションの中に複数作成するもので、
App Service や Function などのリソースを作るときの、
必須項目なので必ず覚えましょう。
 
 
たとえば、以下のようにグループ分けをするときに使われます。
● 本番用
● ステージング用
● 試験用
● 機能A用
 
というように、各プロジェクトで決めたまとまりごとにリソースを整理できます。
 

リソースグループでよく起こる事例

エラーパターン1 - リソースグループ名は、半角英数字が推奨

リソースグループ名は 日本語 にもできますが、すべて英名が推奨です。
リソースグループ名が、Azure のサーバパスに使われることがあるため、日本語は控えた方がよいという話です。
※ マウント手順は正しいのに ls コマンドで確認しても、Storage が表示されない(マウントされない)という経験があり、マウントする際に az コマンドが実行されるので、日本語 が入っているとうまく動作してくれなかったようです。
 
 

エラーパターン2 - 既存のリソースグループがスタンプに適用しない場合のエラー

エラーメッセージ
{'code':'InvalidTemplateDeployment','message':'テンプレート デプロイ 'Microsoft.Web-FunctionApp-Portal-(省略)' は、検証プロシージャによって無効と判断されました。追跡 ID は '(省略)' です。詳細については、内部エラーを参照してください。','details':[{'code':'ValidationForResourceFailed','message':'Validation failed for a resource. Check 'Error.Details[0]' for more information.','details':[{'code':'LinuxWorkersNotAllowedInResourceGroup','message':'Linux workers are not available in resource group xxx. Use this link to learn more https://go.microsoft.com/fwlink/?linkid=(省略)'}]}]}
 
原因
作成しようとした関数アプリの内容が、選んだリソースグループのスタンプには対応できない場合エラーが発生します。スタンプ(スケールユニット)は、App Service プランを最初にデプロイした時点で、リソースグループとリージョンの組み合わせにより決定されます。
 
回避策
関数アプリの新規作成画面で、リソースグループを新規作成すると、選んだプランに適用できるスタンプが適用されてエラーが発生しなくなります。または、リージョンを変更してもエラー回避できる場合があります。
 
 
以上です。