2023年7月31日月曜日

Microsoft Azure - その2. PaaS

先日Microsoft Azureの契約について書きましたが、
実際に使ってみることにします。
Azureにあるたくさんの機能のうち、
今回紹介するのはPaaSのAzure App serviceです。
PaaSにも色々とタイプがありますが、
PHPで動く自作のウェブアプリをアップロードして、
クラウド上で実行する手順について書いていきます。

最初に注意点です。
おそらく設定で何とでもなると推していますが、
Azure App service上のウェブアプリは
比較的短時間の無アクセスによりウェブアプリが停止し、
その後の再アクセス時にはウェブアプリの起動まで10分弱かかるようです。
これは使っていないのに課金され費用がかさむことへの対処でしょうが、
一般公開されるウェブアプリだと大きな問題となります。
必要なら自分で調べてなんとかしてください。

ではAzure App service上にウェブアプリを、以下の手順で作成します。
  1. ウェブブラウザでAzure Portalを開いて使用権を持っているアカウントでログイン。
  2. [App Service]をクリック。
  3. [+作成]をクリック。
  4. [リソースグループ]の[新規作成]をクリックし、わかりやすい名前のリソースグループ(例 "res1")を作成。
  5. [リソースグループ]で先に作成したリソースグループを選択。
  6. [名前]にウェブアプリ名(ドメインの一部になる、例 "webapp1")を入力。
  7. [公開]で[コード]を選択。
  8. [ランタイムスタック]で[PHP 8.2]を選択。
  9. [地域]で[Japan West](サービス利用者の地理的に近いところ)を選択。
  10. [確認および作成]をクリック。
  11. [作成]をクリック。
次にウェブアプリのコンテンツをアップロードします。
以下の手順でgitのリポジトリを経由して行ないます。
  1. ウェブブラウザでAzure Portalを開いて使用権を持っているアカウントでログイン。
  2. [App Service]をクリック。
  3. [リソース]にある、先に作成した[<ウェブアプリ名>]をクリック。
  4. [デプロイセンター]をクリック。
  5. [設定]の[ソース]で[ローカルGit]を選択。
  6. ウェブブラウザで[Azure App Service のデプロイ資格情報の構成]ヘルプページを開いて使用権を持っているアカウントでログイン。
  7. [ユーザー スコープの資格情報を構成する]にある[Cloudshell]をクリックしてCLIを開く。
  8. CLIで"az webapp deployment user set --user-name --password "(は任意のユーザ名(例 "ttanimu")、は任意のパスワード(例 "q1w2e3r4")、これらはgit時に使用)を実行。
  9. ローカルPCで"git clone"を実行して既存のリポジトリを取得。または以下を実行して新規のリポジトリをローカルPC内に作成してそれを取得。
    $ mkdir webapp1.git
    $ cd webapp1.git
    $ git init --bare --shared
    $ cd ..
    $ mkdir webapp1
    $ cd webapp1
    $ git clone ../webapp1.git
    
  10. 取得したリポジトリにコンテンツファイル("index.php"は必須)をcommit、push。
  11. ウェブブラウザで[Azure App Service へのローカル Git デプロイ]ヘルプページを開いて使用権を持っているアカウントでログイン。
  12. [既存のアプリを構成する]にある[Cloudshell]をクリックしてCLIを開く。
  13. CLIで"az webapp deployment source config-local-git --name --resource-group "(はウェブアプリ名(例 "webapp1")、はリソースグループ名(例 "res1"))を実行。
  14. ウェブブラウザでAzure Portalを開いて使用権を持っているアカウントでログイン。
  15. [App Service]をクリック。
  16. [リソース]にある先に作成した[<ウェブアプリ名>]をクリック。
  17. [デプロイセンター]をクリック。
  18. [設定]の[Git Clone URI]に書かれているURL(例 "https://webapp1.scm.azurewebsites.net:443/webapp1.git")を覚えておく。
  19. ローカルPCで先にcloneしたリポジトリにて以下を実行してディプロイ。
    $ git config --local http.sslVerify false
    $ git config --local http.proxy "http://10.19.98.10:8080"
    $ git remote add azure  (は例えば"https://webapp1.scm.azurewebsites.net:443/webapp1.git")
    $ git push azure master
    
  20. ウェブブラウザで"https://<ウェブアプリ名>.azurewebsites.net/"(<ウェブアプリ名>は例えば"webapp1")を開くとウェブアプリが動作しているはず。
ということで完了です。
git経由のディプロイはとっつきにくいのですが、
慣れると便利でgitの強力さを改めて認識させられます。

0 件のコメント:

コメントを投稿