Azureリソースを作っては壊し、作っては壊す日々...
名前を付けるのに頭を使うのよくないなと思っていたらいいものを見つけました。
その名も Azure Naming Tool。
せっかくなのでちょっと触ってみました。
Azure リソースの命名規則
ツールの話に進む前に、そもそも Azure リソースにはどのように名前を付けるべきなのでしょうか。
これは、Microsoft から Cloud Adoption Framework のドキュメンテーションの中でベストプラクティスとして紹介されています。
名前付け規則を定義する
Azure リソース名のコンポーネント (名前付け規則を定義するより引用)
Azure リソースの省略形の例
名前付け規則ではリソースタイプの省略形を使っていました。
これをいちいち考えるの大変だなと思っていましたが、例が用意されています。
Azure リソースの省略形の例
ちょっと待って。でも大変じゃない?
規則のサンプルがあって、リソースタイプの省略形の例もある程度用意されていて、参照すれば誰でも名前を作れるようになっていますね。
でも、これ毎回付けるの大変だと思いませんか?私は大変だなと思いました(修業が足りないかもしれません)。
Azure Naming Tool
そんな時は Azure Naming Tool を使うと少し楽になる(かもしれません)。
このツールはドキュメントの中でも紹介されています(最近まで知らなかった...)が、Cloud Adoption Framework に含まれるようになったもので、事前に構成しておくことでブラウザを使って名前を生成できます。
これを組織で使うと名前付けを標準化できるし、個人的に見ても考える必要性がめちゃくちゃ減って助かります。
※名前生成時の画面イメージ
セットアップ
GitHub にインストラクションが書いてあるので困る人は多くないかもしれません。
Azure Web Apps に展開する方法や、Docker コンテナで起動する方法、Azure Container Apps に展開する方法など手厚く説明されていますので、好みの方法を選択しましょう。
ここでは、Docker で起動する方法を選択したものとして、サンプルとなる compose.yml を置いておきます。
※コンテナイメージをドキュメントに従ってビルドしていることが前提になります。
services:
azurenamingtool:
container_name: azurenamingtool
image: azurenamingtool:latest
restart: always
ports:
- "8081:80"
volumes:
- type: volume
source: azurenamingtoolvol
target: /app/settings
volumes:
azurenamingtoolvol:
使い方
- Admin パスワードを設定する
これをしないとプロジェクト名の追加などができない
- プロジェクト名/アプリ名/サービス名などを設定
ここで追加したものを後で使うので先に設定する必要がある
この項目だけでなく、他の項目にもカスタム値を追加できる
- 必要なパラメータを選択して名前を生成
- 生成された名前を確認して使う
その他
Azure Naming Tool には API も用意されており、HTTPリクエストを投げられる環境と統合できます。
※個人的にはこれが書けるのならそもそも Azure Naming Tool はその人には必要なさそうだなと思いますが。。。
まとめ
Azure Container Apps に展開する方法をやってみたかったのですが、既存の環境があると色々と考えることが多かったため、今回はシンプルにローカルに Docker で展開しました。
その内再チャレンジしたいですね。
とりあえず、ローカルでツールとしては使えるようになったので、これからはリソースの命名に悩むことが減って快適に開発できるようになる(といいな)と思っています。