こんにちは、熊本事務所のK・I・Nです。
Azureを使用しての開発から離れると、数か月で忘れてしまうので備忘録として書いてます。
サービスコネクションは、Azure DevOpsのパイプラインと外部サービス(ここではAzureサブスクリプション)との間の認証された接続を確立するための機能です。
ざっくり言えば、Azure DevOps のパイプラインから、Azureのリソース、AppServiceにアプリをデプロイするためのインターフェイスです。
CI/CDパイプラインの一部としてサービスコネクションを使用することで、ビルド、テスト、デプロイのプロセスを自動化できます。
具体的な設定方法や使用例については、Microsoftの公式ドキュメントを参照してください。
https://learn.microsoft.com/ja-jp/azure/devops/pipelines/library/service-endpoints?view=azure-devops
また、異なるテナント(テナント跨ぎ)でデプロイする際はサービスプリンシパルを使用します。
Azure外部のシステムに権限を与えたい場合にサービスプリンシパル(認証ID)を使用します。
Microsoft EntraIDの「エンタープライズアプリケーション」や「アプリの登録」から作成します。
具体的な設定方法や使用例については、Microsoftの公式ドキュメントを参照してください。
https://learn.microsoft.com/ja-jp/entra/identity-platform/howto-create-service-principal-portal
サービスコネクションの注意点として、シークレットの有効期限があります。
有効期限が切れてしまうとAzure DevOps のパイプライン実行時にデプロイエラーが発生します。
実際に突然エラーが発生しAzure リソースへのデプロイができなくなりました。
自動生成されるシークレットの有効期限は 3ヶ月間 に設定されているみたいなので
突然本番環境にデプロイできなくなって慌てないように、定期的にチェックする必要があります。
エラーが発生しても手順を確認して落ち着いて対応するようにしましょう。