Azure
Web サーバー管理者のための
Azure App Service 再入門
物江 修
日本マイクロソフト株式会社
パートナー事業本部 パートナー技術統括本部
テクニカルエバンジェリズム本部 2018/06/22
このセッションの目的
Web サーバー管理者が、Azure App Service にて
従来どおりの Web サイトの運用を行えるようにする
App Service
Microsoft Azure
Web Server
Hosting/on-premises
アジェンダ
•App Service とは?
•アプリケーションのデプロイ
•ログの取得と管理
•バックアップ
•可用性設定
•Appendix : 静的な Web サイトの公開
App Service とは (1/2)
クラウドアプリをホストするための PaaS
仮想マシン (IaaS )と比較して…
• 環境構築作業の軽減
• インフラ部分の管理が不要
• 仮想マシンよりも安価
実行環境が提供されるので開発に集中することができる。
App Service とは (2/2)
Web Apps
Web App for Containers
Mobile Apps
API Apps
用途にあわせたサービスを選択可能
Web App for Containers では Docker コンテナでのデプロイが可能
Web Apps
Web アプリケーションの実行環境を作成してデプロイ
OS デプロイランタイム CMS
その他 FTP
Web Apps のランタイム
.NET Framework v3.5 ~ 4.7 .NET Core 1.0 ~ 2.0
PHP 5.6 ~ 7.2 PHP 5.6 ~ 7.2
Node.js v6.9.1 (環境変数で指定) Node.js v4.4 ~ 9.4
Java 7 ~ 8
Java (Preview)
Tomcat 8.5 (JRE 8)
Tomcat 9.0 (JRE 8)
Python 2.7 ~ 3.4
Ruby 2.3
Demo
Web Apps / Web Apps for Linux の
インスタンス作成
アプリケーションのデプロイ
• Azure CLI
• FTP
• Git (GitHub, ローカル/外部)
• Visual Studio Team Services (VSTS) (※)
• BitBucket
• OneDrive (※)
• DropBox (※)
• 開発ツール (Visual Studio(※)/Visual Studio Code)
さまざまな方法でデプロイが可能
(※) Linux for Web Apps ではサポートされていません
デプロイセンター (Preview)
• ソースリポジトリとして以下が指定可能
• VSTS (Visual Studio Team Service)
• GitHub
• ローカル Git リポジトリ
• 外部 Git リポジトリ
• VSTS で管理
ビルド、テストおよび展開の自動化
デプロイスロット
ステージング環境の作成と管理
• 複数のステージング環境を準備可能
• AB テスト
• 自動スワップ(※)
• プレビューでのスワップ (※)
• スワップ前のカスタムウォームアップ(※)
(※) Linux 上の Web アプリではサポートされていません
Demo
アプリケーションのデプロイ
ASP.NET – Visual Studio
Node.js – ローカル git リポジトリ
ASP.NET – GitHub
ログの取得
[診断ログ]メニューで以下を取得
• アプリケーションログ
• Web サーバー ログ
• 詳細なエラー メッセージ
• 失敗した要求のトレース
Azure Storage に保存
• Blob
• ファイルシステム
Application Insights
Application Performance Management
対話型データ分析
ML による製品利用統計情報
Azure 診断
Demo
診断ログの設定と取得
バックアップ
Azure ストレージ アカウントとコンテナーに保存
• アプリの構成
• ファイルのコンテンツ
• アプリに接続されているデータベース
− SQL Database
− Azure Database for MySQL
− Azure Database for PostgreSQL
− アプリ内 MySQL
• 部分バックアップ : _backup.filter
• スクリプトで自動化
Demo
バックアップとリストア
スケールアップとスケールアウト
スケールアップ
• 価格レベルの選択によって変更
• PremiumV2 ではCPU、SSD ストレージが高速化
スケールアウト
• インスタンス数の変更: 自動/手動
• 価格レベルに応じて、20 個まで
• メトリックやスケジュールによる実施
• スケール調整について API が用意 (REST, .NET)
Demo
スケールアップと自動スケールアウトの設定
まとめ
Azure Web Apps は
• Web アプリケーションをホストするための PaaS
• Web サーバー構築や管理の工数を減らしつつ
必要な自由度を確保
• バックアップやスケーリングなど自動が可能
参考
Azure Web Apps のドキュメント - チュートリアル
https://docs.microsoft.com/azure/app-service/
Appendix : Web サイトのより詳細な設定
web.config ファイル
(※) 従来の Windows ベースの Web Apps のみです。
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
ディレクトリ単位での制御
applicationHost.xdt ファイル
(※) 従来の Windows ベースの Web Apps のみです。
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" xdt:Transform="Insert" />
</staticContent>
</system.webServer>
</configuration>
Web サーバーのグローバル設定
D:¥home¥site に配置して ApplicationHost.config の設定を上書き
Appendix : 静的な Web サイトの公開
Blob Storage の使用 (1/2)
• BLOB で提供される機能
• http, https でのホスト
• カスタムドメイン
• CDN 利用可能
• メリット
• Web Apps より安価
Blob Storage の使用 (2/2)
• 注意点
• ドメイン名の後ろに必ずコンテナ名
• /ディレクトリ名/ファイル名 パスが使用できない
• コンテナ名 $root で URL に回避可能だが
下位フォルダが作れない(コンテナ名と判断される)
• IP アドレスが変わる可能性
• CDN は有償
• パブリック読み取りアクセス
• アクセス制限にはバレットキーパターンを使用
Azure Blob – Static website(preview)
http://aka.ms/staticwebsites からポータルにログイン
アカウントの種類
StorageV2 (汎用 v2)
場所
米国中西部
[プライマリ エンドポイント] の URL にアクセスするとコンテナ名が
入らない
© Copyright Microsoft Corporation. All rights reserved.

Web サーバー管理者のための Azure App Service 再入門