0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure AppServiceへのGitを使用したデプロイ手順

Last updated at Posted at 2024-11-26

概要


本技術文書では、ローカル環境からAppServiceへGitを使用してNode.jsアプリケーションをデプロイする手順について説明します。

このプロセスは、Azureポータルの構成、ローカルGitリポジトリの準備、デプロイ資格情報の設定、および発生した問題への対処を含みます。

前提条件および手順

Step1. パラメータシートの作成

お客様の要件に基づいてパラメータシートを作成することが、最初のステップとなります。そのため、必要な値を設定します。本文に記載された値は、あくまで例として示されています。

ネットワーク設定

仮想ネットワークおよびアドレス空間

項目
仮想ネットワーク vnet-training-prod
サブネット subnet-training-prod
アドレス空間 10.0.0.0/26
リソース StorageAccount、AppService

リソースの接続

項目
App Service <-> Storage Account プライベートエンドポイントを使用
パブリックアクセス制限 IBM VPN (129.41.57.0/24) からのみ許可

DNSおよび環境変数

項目
DNS設定 プライベートDNS統合と統合する 
AZURE_STORAGE_ACCOUNT_NAME sttrainingprod001
ACCESS_KEY
CONTAINER_NAME files

Step2. Azure Webアプリケーションの準備

1. AzureポータルでのWebアプリケーション作成

- Azureポータルにアクセスし、新規AppServiceを作成する。

- AppServiceの基本設定として、事前に作成したパラメータシートに基づいて設定する。

2. 仮想ネットワーク(Vnet)とサブネットの設定

- vnet-training-prod という仮想ネットワークを作成し、10.0.0.0/26 のアドレス空間を設定する。

- App ServiceのVNet統合用のサブネットと、プライベートエンドポイント用のサブネットを作成する。

- App Serviceは直接で、ストレージアカウントはプライベートエンドポイントを介して接続する。

3. Storage Account設定

- リソース作成時にネットワークアクセスを無効にする。

- アクセス制限設定のパブリックネットワークアクセスを選択した仮想ネットワークとIPアドレスからのパブリックアクセスを有効にする。

- AppServiceとストレージ間の通信をプライベートエンドポイントで保護する。

4. Git 対応アプリを作成する


- ローカルGitを用いたデプロイにはAzureのデプロイ資格情報が必要なため、Azure CLIを使用して資格情報を設定する。

qitta.rb
az webapp deployment list-publishing-profiles --resource-group <group-name> --name <app-name>


- 出力には、https://@.scm.azurewebsites.net/.git のような URL が含まれている。このURLは後で使用するのでメモしておく。

Step3. ローカルGitのコミットとデプロイ

1. リモートリポジトリの設定

- Azure WebアプリケーションのGitエンドポイントをリモートとして追加する。(返してくれたURLを利用する)

qitta.rb
git remote add azure https://<username>@app-training-prod-001.scm.azurewebsites.net/app-training-prod-001.git

2. コードの追加とコミット

- プロジェクトのコードをGitに追加し、コミットする。

qota.rb
git add .
git commit -m

3. リモートリポジトリへのプッシュ

- コードをAzureにデプロイするために、git push コマンドでリモートリポジトリにプッシュする。

qota.rb
git push azure main:master


これでデプロイが完了する。IBMVPNに接続した上で、Appserviceのドメインにアクセスする。

問題点及び対応

1. 仮想ネットワークのサブネット設定

サブネットサイズを設定する際、Azure portalで仮想ネットワークとの統合の一部としてサブネットを作成する場合、必要な最小サイズは/27であることを注意する。

2. 認証エラー

Git push の際にAuthentication failedエラーが発生する可能性がある。

対策 : デプロイ資格情報が正しく設定されているか確認し、再設定を行う。例:Azureポータルでプラットフォームの設定、SCM基本認証の発行資格情報FTP基本認証の発行資格情報をオンにする。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?