$30 off During Our Annual Pro Sale. View Details »

世界一わかりみの深い クラウドネイティブなアプリ開発入門 on Azure 第2回 〜App Serviceでアプリをラクチン実行〜/wakarimiazure002

世界一わかりみの深い クラウドネイティブなアプリ開発入門 on Azure 第2回 〜App Serviceでアプリをラクチン実行〜/wakarimiazure002

Noriyuki TAKEI

June 30, 2021
Tweet

More Decks by Noriyuki TAKEI

Other Decks in Technology

Transcript

  1. © SIOS Technology, Inc. All rights Reserved.
    世界⼀わかりみの深い
    クラウドネイティブなアプリ開発⼊⾨ on Azure
    第2回
    〜App Serviceでアプリをラクチン実⾏〜
    武井 宜⾏
    サイオステクノロジー株式会社
    2021年6⽉30⽇

    View Slide

  2. © SIOS Technology, Inc. All rights Reserved.
    ⽬次
    2
    第1章︓App Serviceってなに︖
    第2章︓App Serviceの価格
    第3章︓App Serviceプランってなに︖
    第4章︓App Serviceの推しなトコロ

    View Slide

  3. © SIOS Technology, Inc. All rights Reserved.
    About Me
    3
    BCPVUNF
    Noriyuki TAKEI
    ෢Ҫ ٓߦ
    Information
    • サイオステクノロジー株式会社
    • Microsoft MVP for Azure
    Favorites
    • Squash
    • Ski
    • Running
    • Canoe
    • Sweets
    blog
    https://tech-lab.sios.jp/
    core skill
    Cloud Native, Serverless全般
    Twitter
    @noriyukitakei

    View Slide

  4. © SIOS Technology, Inc. All rights Reserved.
    本セッションの概要
    4

    View Slide

  5. © SIOS Technology, Inc. All rights Reserved.
    本セッションの概要
    5
    「Azureでもっと⾝近なクラウドネイティブ」を
    ⽬指し、クラウドネイティブを実現するための
    様々な技術を世界⼀わかりみ深く
    説明するシリーズ配信モノです︕︕

    View Slide

  6. © SIOS Technology, Inc. All rights Reserved.
    本セッションの概要
    6
    ハッシュタグ
    #wakarimiazure
    もしくは
    @noriyukitakei
    に忌憚ないご意⾒
    お願いいたします

    View Slide

  7. © SIOS Technology, Inc. All rights Reserved.
    本セッションの概要
    7
    本セッションは以下のブログが
    ベースとなっていますので、合わせてご覧
    頂けますと幸いです︕︕
    推しのAzureリソース「App Service」について語り尽くしました
    https://tech-lab.sios.jp/archives/25879

    View Slide

  8. © SIOS Technology, Inc. All rights Reserved.
    第1章:App Serviceってなに︖
    8

    View Slide

  9. © SIOS Technology, Inc. All rights Reserved.
    第1章:App Serviceってなに︖
    9
    App Serviceとは︖
    管理不要 OS(WindowsとかLinux)やミドルウェア(ApacheとかTomcat)は
    Azureによって提供済みでメンテもしてくれる︕︕
    デプロイ簡単 ビルド済みのアプリケーションをgitでPushしたり、Azure CLIや
    sftpでアップロードしたりするだけ︕︕
    オールインワン ロードバランサーとかストレージとか、Webアプリ動かすのに必
    要なものはすでにそろっているので⾃分で構築する必要なし︕︕

    View Slide

  10. © SIOS Technology, Inc. All rights Reserved.
    第1章:App Serviceってなに︖
    10
    OS(LinuxやWindows)
    ランタイム
    (JavaやPHPなどの開発⾔語)
    ミドルウェア
    (ApacheやTomcatなど)
    アプリケーションフレームワーク
    (SpringやCakePHPなど)
    アプリケーション
    コンポーネント群
    クラス
    メソッド
    public void hello() {
    // 何かの処理
    }
    コンテナ(必要に応じて)
    OS(LinuxやWindows)
    ランタイム
    (JavaやPHPなどの開発⾔語)
    ミドルウェア
    (ApacheやTomcatなど)
    アプリケーションフレームワーク
    (SpringやCakePHPなど)
    アプリケーション
    コンポーネント群
    クラス
    メソッド
    public void hello() {
    // 何かの処理
    }
    コンテナ
    OS(LinuxやWindows)
    ランタイム
    (JavaやPHPなどの開発⾔語)
    ミドルウェア
    (ApacheやTomcatなど)
    アプリケーションフレームワーク
    (SpringやCakePHPなど)
    アプリケーション
    コンポーネント群
    クラス
    メソッド
    public void hello() {
    // 何かの処理
    }
    コンテナ(必要に応じて)
    OS(LinuxやWindows)
    ランタイム
    (JavaやPHPなどの開発⾔語)
    ミドルウェア
    (ApacheやTomcatなど)
    アプリケーションフレームワーク
    (SpringやCakePHPなど)
    アプリケーション
    コンポーネント群
    クラス
    メソッド
    public void hello() {
    // 何かの処理
    }
    コンテナ(必要に応じて)
    IaaS CaaS PaaS FaaS
    App Serviceの⽴ち位置です。

    View Slide

  11. © SIOS Technology, Inc. All rights Reserved.
    第1章:App Serviceってなに︖
    11
    本セッションの
    ブログのURL
    アプリケーションの実⾏基盤を分類する概念です。

    View Slide

  12. © SIOS Technology, Inc. All rights Reserved.
    第2章:App Serviceの価格
    12

    View Slide

  13. © SIOS Technology, Inc. All rights Reserved.
    第2章:App Serviceの価格
    13
    App Serviceの価格表です。
    無料 Basic Standard Premium Isolated
    Web、Mobile、API、API Apps 10 無制限 無制限 無制限 無制限
    ディスク領域 1GB 10GB 50GB 250GB 1TB
    最⼤インスタンス数 – 最⼤3 最⼤10 最⼤30 最⼤100
    カスタムドメイン – サポート対象 サポート対象 サポート対象 サポート対象
    ⾃動スケール – – サポート対象 サポート対象 サポート対象
    ハイブリッド接続 – サポート対象 サポート対象 サポート対象 サポート対象
    仮想ネットワーク接続 – – サポート対象 サポート対象 サポート対象
    プライベートエンドポイント – – – サポート対象 サポート対象
    コンピューティングの種類 Shared Dedicated Decicated Dedicated Isolated
    従量課⾦制料⾦ 無料 ¥2.128/時間 ¥12.544/時間 ¥13.776/時間 ¥42.56/時間

    View Slide

  14. © SIOS Technology, Inc. All rights Reserved.
    第2章:App Serviceの価格
    14
    つまりまとめますとこんな感じです。
    無料プランはメモリ、CPUなどのスペックは低く、機能もほとんど使えないですが、ちょっと試すに
    は向いています。
    Basicは無料のとは違い機能も多く、専⽤のVM上で実⾏されます。が、StandardやPremiumと⽐べ
    て、本番に必要な機能がないので、本番向けとはいい難い部分があります。主に検証環境向けです。
    Standard、Premiumは機能も豊富で本番向けのプランです。
    Isolatedは仮想ネットワークにApp Serviceを置く事ができるのでセキュアですが、お値段が⾼く⼀
    部のセレブ向けプランです。StandardもしくはPremiumプランのVNet統合とプライベートエンドポ
    イントの組み合わせで同様のことが出来るので、それでもいいかも、、、︖

    View Slide

  15. © SIOS Technology, Inc. All rights Reserved.
    第3章:App Serviceプランってなに︖
    15

    View Slide

  16. © SIOS Technology, Inc. All rights Reserved.
    第3章:App Serviceプランってなに︖
    16
    App Serviceを何も考えずポチポチ作ると以下の2つのリソースが作られている
    事に気が付きます。
    本セッションの
    ブログのURL
    これなに︖

    View Slide

  17. © SIOS Technology, Inc. All rights Reserved.
    第3章:App Serviceプランってなに︖
    17
    実は課⾦はApp Serviceには⼀切かからず、このApp Serviceプランにかかりま
    す。実はこのApp Serviceプランというものはアプリを⼊れる箱のようなもの
    でVMそのものになります。App Serviceプラン=VMと考えてもらってもOKで
    す。
    本セッションの
    ブログのURL
    App Serviceプラン
    App Service
    (PHP)
    App Service
    (Java)
    リソースグループA
    リソースグループB
    App Service
    (Node.js)
    App Serivceの混在も可能。
    だけどあまり詰めすぎると処
    理が遅くなる。
    リソースグループまたがって
    もOK
    複数のApp Serviceがあって
    も料⾦はApp Serviceプラン
    ⼀つ分

    View Slide

  18. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    18

    View Slide

  19. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    19
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  20. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    20
    App Serviceは現時点で以下のランタイムに対応しています。
    本セッションの
    ブログのURL
    Linux Windows
    .NET、NET Core .NET、NET Core、APS.NET
    Java Java
    Node.js Node.js
    PHP PHP
    Python Python
    Ruby Ruby

    View Slide

  21. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    21
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  22. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    22
    GitHub、Bitbucket、ローカルGit、sftp、Azure CLIなど、様々なデプロイ⽅
    法に対応しています。
    本セッションの
    ブログのURL
    Azure Repos Azure Pipelines
    GitHub GitHub Actions
    sftp
    Azure CLI
    ローカルGit
    Bitbucket
    App
    Service

    View Slide

  23. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    23
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  24. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    24
    スケールアウトは⽔平⽅向への拡張、つまりインスタンス数を増やすことで性
    能アップを図ります。スケールアップは、インスタンス⾃体のCPUやメモリな
    どの増強により性能アップを図ります。
    本セッションの
    ブログのURL

    View Slide

  25. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    25
    「カスタム⾃動スケーリング」をクリックするとオートスケールを設定するこ
    とも出来ます。オートスケールはメトリックスや時間などをベースとしてス
    ケールすることが可能です。
    本セッションの
    ブログのURL

    View Slide

  26. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    26
    インスタンス数を3にした場合、App Serviceプランは⼀つでも、内部的には
    VMが3つ⽴ち上がり、そのVMの中でApp Serviceが動作しております。そして
    この場合の課⾦体系はApp Serviceプラン✕3になります。つまり、App
    Serviceプランが8,000円/⽉のApp Serviceをインスタンス数3でスケールアウ
    トしたときの料⾦は、24,000円/⽉になります。
    本セッションの
    ブログのURL
    App Serviceプラン
    App
    Service
    App
    Service
    App
    Service
    VM VM VM

    View Slide

  27. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    27
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  28. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    28
    App Serviceは、アプリの認証を簡単にAzure Active Directoryにすることが出来ます。
    App Serviceのリソースにアクセスして、左部メニューの「認証(クラシック)」をクリック
    します。「App Service認証」を「オン」にして、「認証プロバイダー」から「Azure
    Active Directory」をクリックします。
    本セッションの
    ブログのURL

    View Slide

  29. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    29
    「アプリの作成」は任意の名称を⼊⼒して、それ以外は下図のように設定して最後に「OK
    」をクリックします。
    本セッションの
    ブログのURL

    View Slide

  30. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    30
    「要求が認証されない場合に実⾏するアクション」を「Azure Active Directoryでのログ
    イン」にして、「保存」をクリックします。
    本セッションの
    ブログのURL

    View Slide

  31. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    31
    アプリにアクセスするとたしかにAzure Active Directoryの認証画⾯が表⽰さ
    れます。
    本セッションの
    ブログのURL

    View Slide

  32. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    32
    phpinfoしているのですが、HTTP_X_MS_CLIENT_PRINCIPAL_NAMEという
    環境変数を⾒ると、確かにログインしたユーザーのUserPrincipalNameが⼊っ
    ています。
    本セッションの
    ブログのURL

    View Slide

  33. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    33
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  34. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    34
    VNet統合を使うと、App Serviceから仮想ネットワーク上のリソースにアクセ
    スすることができます。
    本セッションの
    ブログのURL

    View Slide

  35. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    35
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  36. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    36
    App Serviceはいろんなデプロイ⽅法に対応しています。
    In-Placeデプロイ
    Blue-Greenデプロイ
    カナリアリリース
    本セッションの
    ブログのURL

    View Slide

  37. © SIOS Technology, Inc. All rights Reserved. 37
    In-Placeデプロイ
    既存の環境に新しアプリをエイヤとデプ
    ロイする⼿法です。
    旧来から⽤いられている伝統的な⼿法か
    と思います。
    ただし、ダウンタイムが発⽣する可能性
    が⾼いです。
    第4章:App Serviceの推しなトコロ

    View Slide

  38. © SIOS Technology, Inc. All rights Reserved. 38
    Blue-Greenデプロイ
    現在動いている環境とは別に、新たにリ
    リースする別の環境を⽤意して、DNSの
    レコード切り替え等により、旧環境から
    新環境にエイヤと切り替える⼿法です。
    ダウンタイムほぼゼロ︕︕
    旧環境と新環境の2つのリソースを
    ⽤意しなければならないので、
    ちょっと費⽤がかさむ(´・ω・`)
    本セッションの
    ブログのURL
    第4章:App Serviceの推しなトコロ

    View Slide

  39. © SIOS Technology, Inc. All rights Reserved. 39
    カナリアデプロイ
    現在動いている環境とは別に、新たにリ
    リースする別の環境を⽤意して、旧環境
    に振られているリクエストを徐々に少し
    ずつ新環境に割り振っていく⼿法です。
    少しずつ切り替えていくので、何か
    あった際の影響が少ない。
    旧環境と新環境の2つのリソースを
    ⽤意しなければならないので、
    ちょっと費⽤がかさむ(´・ω・`)
    第4章:App Serviceの推しなトコロ

    View Slide

  40. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    40
    各デプロイ⽅法のメリデリはこんな感じ。
    デプロイ⽅法 ユーザー影響 コスト 切り戻し
    In-Placeデプロイ ☓ ◯ ☓
    アプリの設計にもよるが、単
    なる⼊れ替えなのでサービス
    が停⽌することが多い。
    既存のサーバーに対するアプリ
    の⼊れ替えなので、他のサー
    バーを⽤意しなくていい。
    もう⼀度同じアプリを上書
    きしなければいけないので、
    切り戻し⼤変。
    Blue-Greenデプ
    ロイ
    ◯ ☓ ◯
    旧アプリから新アプリへの切
    り替えはロードバランサーや
    DNSの変更だけなので、ほと
    んど影響なし。
    新旧両⽅のサーバーを⽤意しな
    ければならないので、コストが
    かかる。
    DNSやロードバランサー
    を変更するだけで旧サー
    バーにリクエストが⾏き切
    り戻しできるのでラクチン。
    カナリアデプロイ ◯ ☓ ◯
    旧アプリから新アプリへの切
    り替えはロードバランサーや
    DNSの変更だけなので、ほと
    んど影響なし。
    新旧両⽅のサーバーを⽤意しな
    ければならないので、コストが
    かかる。
    DNSやロードバランサー
    を変更するだけで旧サー
    バーにリクエストが⾏き切
    り戻しできるのでラクチン。

    View Slide

  41. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    41
    App Serviceでは以下のように実現します。
    本セッションの
    ブログのURL
    エンドユーザー
    本番スロット
    新アプリ
    旧アプリ
    App Service プラン
    スワップ
    システム管理担当
    ステージング
    スロット
    動作確認
    システム運⽤担当
    DB_HOST=prd
    環境変数設定
    DB_HOST=stg
    環境変数設定

    View Slide

  42. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    42
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  43. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    43
    App ServiceはAzureのCI/CDを実現するサービス「Azure DevOps」やGitHub Actionsに
    よるCI/CDが可能です。AzureのマネージドなGitリポジトリAzure ReposやGitHubにソー
    スコードをPushしただけでビルドやデプロイすることが可能です。
    本セッションの
    ブログのURL
    エンドユーザー
    本番スロット
    新アプリ
    旧アプリ
    App Service プラン
    スワップ
    システム管理担当
    ステージング
    スロット
    動作確認
    システム運⽤担当
    DB_HOST=prd
    環境変数設定
    DB_HOST=stg
    環境変数設定
    Azure
    Piplelinse
    Azure
    Repos
    1
    2
    3
    4
    5
    6

    View Slide

  44. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    44
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  45. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    45
    GitHubやAzure Container RegistryのDockerイメージからのデプロイも出来
    ます。
    本セッションの
    ブログのURL
    Web App for Containers
    Web
    アプリ
    App Service
    プラン
    Web
    アプリ
    Load Balancer
    Azure Container
    Registry
    コンテナにイメー
    ジをpushする。
    コンテナからイメージ
    をpullする。
    ロードバランサーで負荷分
    散する。

    View Slide

  46. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    46
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  47. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    47
    App ServiceはマネージドIDに対応しています。マネージドIDのシーケンスは以下のマイ
    クロソフト公式ドキュメントから抜粋したシーケンス図がわかりみ深いです。
    本セッションの
    ブログのURL

    View Slide

  48. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    48
    マネージドIDはAzure Key Vaultととても相性がよいです。Azure Key Vaultにデータベー
    スなどのパスワードを登録し、マネージドIDにのみ参照権限を与え、App Serviceからマ
    ネージドIDを使って資格情報を取得し、環境変数経由でApp Serviceに渡せば、末端の開
    発者が本番のパスワードを知ることなく、本番へのデプロイが可能になります。
    本セッションの
    ブログのURL
    App Service
    App Service プラン
    [email protected](
    SecretUri=[シークレット識別⼦])
    環境変数設定
    DBのパスワード
    マネージドID
    Azure Key Vault

    View Slide

  49. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    49
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  50. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    50
    App Serviceにはマジで素敵なサービス「マネージド証明書」があります。
    本セッションの
    ブログのURL
    証明書の取得費⽤が無料となる。
    証明書の更新作業を⾃動で⾏ってくれる。(証明書の有効期限は6ヶ⽉で、その
    1ヶ⽉前に⾃動で更新)
    エクスポート出来ない。
    ワイルドカードはできない。

    View Slide

  51. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    51
    .NET Framework、PHP、Node.js、Java、Pythonなど豊富なランタイムに対応
    GitHub、sftp、Azure CLIなど豊富なデプロイ⽅法に対応
    スケールアウト・スケールアップ
    Azure Active Directoryとの認証統合
    VNet統合による仮想ネットワークへのアクセス
    スロットによるBlue-Greenデプロイやカナリアリリース
    Azure DevOpsやGitHub ActionsによるCI/CD
    Dockerコンテナのデプロイ
    マネージドIDによる資格情報へのセキュアなアクセス
    マネージド証明書による無料で更新不要な証明書
    ヘルスチェックによる異常インスタンスの切り離し
    本セッションの
    ブログのURL
    イマココ

    View Slide

  52. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    52
    App Serviceは現時点で以下のランタイムに対応しています。
    本セッションの
    ブログのURL

    View Slide

  53. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    53
    App Serviceは定期的にインスタンスをチェックして、以上があった
    場合そのインスタンスを切り離す機能があります。
    本セッションの
    ブログのURL


    /healthcheck.php
    500

    View Slide

  54. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    54
    App Serviceにはマジで素敵なサービス「マネージド証明書」があります。
    本セッションの
    ブログのURL
    全てのインスタンスに対して、あらかじめ定められたパスに1分ごとにアクセ
    スし、HTTPステータスコード200〜299以外が2回返ってきた場合は、そのイ
    ンスタンスをロードバランサー配下から切り離す。
    ロードバランサー配下から切り離しても、まだ該当インスタンスが復旧しない
    場合は、VMの再起動を⾏う。
    それでも復旧しない場合は、新しいVMに⼊れ替える。

    View Slide

  55. © SIOS Technology, Inc. All rights Reserved.
    第4章:App Serviceの推しなトコロ
    55
    App Serviceにはマジで素敵なサービス「マネージド証明書」があります。
    本セッションの
    ブログのURL
    App Serviceのリソースにアクセスして、左部
    メニューの「Health Check」をクリックしま
    す。「正常性チェック」の「有効化」を
    チェックして、「パス」の部分にヘルス
    チェック⽤エンドポイントのパスを⼊⼒しま
    す。最後に「保存」をクリックします。これ
    で完了です。

    View Slide

  56. © SIOS Technology, Inc. All rights Reserved.
    最後に︕︕
    56
    https://tech-lab.sios.jp/
    弊社技術ブログで様々なお役⽴ち技術情報を
    お届けしています︕︕

    View Slide

  57. © SIOS Technology, Inc. All rights Reserved.
    最後に︕︕
    57
    クラウドネイティブってなに︖〜 Azureのアプリ開発実⾏基盤いろは 〜
    https://tech-lab.sios.jp/archives/25654
    推しのAzureリソース「App Service」について語り尽くしました
    https://tech-lab.sios.jp/archives/25879
    関連ブログ

    View Slide

  58. © SIOS Technology, Inc. All rights Reserved.
    最後に︕︕
    58
    https://www.youtube.com/channel/UCjIVEOLmZlBrgq
    7nrxVFuRw
    YouTubeチャネルで様々なお役⽴ち技術情報を
    お届けしています︕︕

    View Slide