Azure Web Appを利用したWebアプリ開発
李 康秀
1/19
Azure Web Appを利用した
Webアプリ開発
李 康秀
Azure Web Appを利用したWebアプリ開発
李 康秀
2/19
アジェンダ
1. Azureで簡単にWebアプリを構築する。
2. Webアプリの運用までに必要なことを学ぶ。
Azure Web Appを利用したWebアプリ開発
李 康秀
3/19
パブリッククラウドサービス
①インターネット経由で
Amazon Web Service (Amazon社)
②必要なコンピューティングやサービスを
③必要なときに必要な分だけ購入し活用することができる
Google Cloud Platform (Google社)
例) Microsoft Azure (Microsoft社)
[1]
[1]Azure テクノロジ入門 2016
Azure Web Appを利用したWebアプリ開発
李 康秀
4/19
サービスモデル
[2]Stack 24/7 「Azure: On Premises vs IaaS vs Paas vs SaaS」
https://stack247.wordpress.com/2015/05/21/azure-on-premises-vs-iaas-vs-paas-vs-saas/
[2]
パブリッククラウドサービスが提供するのは
主にここの部分
Azure Web Appを利用したWebアプリ開発
李 康秀
5/19
Microsoft Azure
Microsoft社が提供するパブリッククラウドサービス
Azure Web Appを利用したWebアプリ開発
李 康秀
6/19
Azureの歴史
2008年10月 Windows Azure 発表(PaaS)
2010年01月 Windows Azure 正式リリース
2013年04月 IaaS提供開始
2014年02月 国内データセンター開設
2014年03月 Microsoft Azureへ名称変更
[3]くらう道 「そもそもMicrosoft Azureとは?」
https://www.cloudou.net/azure/azure003/
[3]
Azure Web Appを利用したWebアプリ開発
李 康秀
7/19
Azureのサービス一覧
[4]いまさら聞けない!Microsoft Azure 概要 - 第三回 -
http://zigsow.jp/m/azurewave/article/175330/
[4]
Azure Web Appを利用したWebアプリ開発
李 康秀
8/19
Web Appsの配置
データセンター
インスタンス
スタンプ
スタンプ = ゲストOSの集合体
→スタンプごとに固有のIPアドレスを保有
インスタンス
= App Service Plan
Webアプリ = Web App
→Webアプリごとに固有のホスト名を保有
Azure Web Appを利用したWebアプリ開発
李 康秀
9/19
実際に構築してみます
Azure Web Appを利用したWebアプリ開発
李 康秀
10/19
めでたしめでたし
Azure Web Appを利用したWebアプリ開発
李 康秀
11/19
でも...これだけでは運用できません!
Azure Web Appを利用したWebアプリ開発
李 康秀
12/19
RASIS
Reliability(信頼性) (SLAで保証されている)
Availability(可用性) デプロイメントスロット、スケールアウト
Serviceability(保守性) 診断ログ、Application Insights
Integrity(保全性) バックアップ
Security(安全性) カスタムドメイン、SSL証明書、
Application Gateway(WAF)
システムが「どれだけ、しっかりしてるか?」を
判断するための要素
[45 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word16314.html
[5]
Azure Web Appを利用したWebアプリ開発
李 康秀
13/19
可用性
■デプロイメントスロット
一つのインスタンス上に複数の環境を構築できる機能。
データセンター
インスタンス
スタンプ
本番環境
開発環境
ステージング環境 各環境をスワップすることが可能
Azure Web Appを利用したWebアプリ開発
李 康秀
14/19
可用性
■スケールアウト
負荷に応じてインスタンス数を自動で増減してくれる機能。
データセンター
インスタンス
スタンプ
例)メモリの使用率が70%を超えたら
インスタンス数を1個増やす。
cf. ■スケールアップ
インスタンスのスペックを手動で変更する機能。
Azure Web Appを利用したWebアプリ開発
李 康秀
15/19
保守性
■診断ログ
→Blobに格納することが多い。
・アプリケーションログ
・Webサーバーログ
・詳細なエラーメッセージ
・失敗した要求のトレース
■Application Insights
パフォーマンス管理のためのサービス
・ページビュー、読み込みのパフォーマンス
・ WebサーバのCPU、メモリ、ネットワーク使用率
・ユーザー数とセッション数 etc...
App Service Plan
Web AppStorage(Blob) Application Insights
ログの送信
パフォーマンス
情報の送信
Azure Web Appを利用したWebアプリ開発
李 康秀
16/19
安全性
■カスタムドメイン
Webアプリに保有させることができる独自のホスト名。
データセンター
インスタンス
スタンプ
Webアプリ = Web App
→Webアプリごとに既定のホスト名を保有
((リソース名).azurewebsites.net)
+
独自のホスト名(=カスタムドメイン)を保有可能
Azure Web Appを利用したWebアプリ開発
李 康秀
17/19
安全性
■SSL証明書
カスタムドメインのサーバ証明書。
データセンター
インスタンス
スタンプ
Webアプリ = Web App
→Webアプリごとに既定のホスト名を保有
+
独自のホスト名を保有 ← これの証明書が必要
Azure Web Appを利用したWebアプリ開発
李 康秀
18/19
安全性
■Application Gateway(WAF)
以下の攻撃等をから防止する機能。
・クロスサイトスクリプティング
・SQLインジェクション攻撃
・リモートコード実行
・セッション固定攻撃 etc...
App Service Plan
Web AppStorage(Blob) Application Insights
ログの送信
パフォーマンス
情報の送信
Application Gateway(WAF)
ログの送信
Azure Web Appを利用したWebアプリ開発
李 康秀
19/19
まとめ
1. Azureで簡単にWebアプリを構築した。
2. Webアプリの運用までにRASISを考慮する
必要があることを学んだ。

Azure Web Appを利用したWebアプリ開発

  • 1.
    Azure Web Appを利用したWebアプリ開発 李康秀 1/19 Azure Web Appを利用した Webアプリ開発 李 康秀
  • 2.
    Azure Web Appを利用したWebアプリ開発 李康秀 2/19 アジェンダ 1. Azureで簡単にWebアプリを構築する。 2. Webアプリの運用までに必要なことを学ぶ。
  • 3.
    Azure Web Appを利用したWebアプリ開発 李康秀 3/19 パブリッククラウドサービス ①インターネット経由で Amazon Web Service (Amazon社) ②必要なコンピューティングやサービスを ③必要なときに必要な分だけ購入し活用することができる Google Cloud Platform (Google社) 例) Microsoft Azure (Microsoft社) [1] [1]Azure テクノロジ入門 2016
  • 4.
    Azure Web Appを利用したWebアプリ開発 李康秀 4/19 サービスモデル [2]Stack 24/7 「Azure: On Premises vs IaaS vs Paas vs SaaS」 https://stack247.wordpress.com/2015/05/21/azure-on-premises-vs-iaas-vs-paas-vs-saas/ [2] パブリッククラウドサービスが提供するのは 主にここの部分
  • 5.
    Azure Web Appを利用したWebアプリ開発 李康秀 5/19 Microsoft Azure Microsoft社が提供するパブリッククラウドサービス
  • 6.
    Azure Web Appを利用したWebアプリ開発 李康秀 6/19 Azureの歴史 2008年10月 Windows Azure 発表(PaaS) 2010年01月 Windows Azure 正式リリース 2013年04月 IaaS提供開始 2014年02月 国内データセンター開設 2014年03月 Microsoft Azureへ名称変更 [3]くらう道 「そもそもMicrosoft Azureとは?」 https://www.cloudou.net/azure/azure003/ [3]
  • 7.
    Azure Web Appを利用したWebアプリ開発 李康秀 7/19 Azureのサービス一覧 [4]いまさら聞けない!Microsoft Azure 概要 - 第三回 - http://zigsow.jp/m/azurewave/article/175330/ [4]
  • 8.
    Azure Web Appを利用したWebアプリ開発 李康秀 8/19 Web Appsの配置 データセンター インスタンス スタンプ スタンプ = ゲストOSの集合体 →スタンプごとに固有のIPアドレスを保有 インスタンス = App Service Plan Webアプリ = Web App →Webアプリごとに固有のホスト名を保有
  • 9.
    Azure Web Appを利用したWebアプリ開発 李康秀 9/19 実際に構築してみます
  • 10.
    Azure Web Appを利用したWebアプリ開発 李康秀 10/19 めでたしめでたし
  • 11.
    Azure Web Appを利用したWebアプリ開発 李康秀 11/19 でも...これだけでは運用できません!
  • 12.
    Azure Web Appを利用したWebアプリ開発 李康秀 12/19 RASIS Reliability(信頼性) (SLAで保証されている) Availability(可用性) デプロイメントスロット、スケールアウト Serviceability(保守性) 診断ログ、Application Insights Integrity(保全性) バックアップ Security(安全性) カスタムドメイン、SSL証明書、 Application Gateway(WAF) システムが「どれだけ、しっかりしてるか?」を 判断するための要素 [45 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 https://wa3.i-3-i.info/word16314.html [5]
  • 13.
    Azure Web Appを利用したWebアプリ開発 李康秀 13/19 可用性 ■デプロイメントスロット 一つのインスタンス上に複数の環境を構築できる機能。 データセンター インスタンス スタンプ 本番環境 開発環境 ステージング環境 各環境をスワップすることが可能
  • 14.
    Azure Web Appを利用したWebアプリ開発 李康秀 14/19 可用性 ■スケールアウト 負荷に応じてインスタンス数を自動で増減してくれる機能。 データセンター インスタンス スタンプ 例)メモリの使用率が70%を超えたら インスタンス数を1個増やす。 cf. ■スケールアップ インスタンスのスペックを手動で変更する機能。
  • 15.
    Azure Web Appを利用したWebアプリ開発 李康秀 15/19 保守性 ■診断ログ →Blobに格納することが多い。 ・アプリケーションログ ・Webサーバーログ ・詳細なエラーメッセージ ・失敗した要求のトレース ■Application Insights パフォーマンス管理のためのサービス ・ページビュー、読み込みのパフォーマンス ・ WebサーバのCPU、メモリ、ネットワーク使用率 ・ユーザー数とセッション数 etc... App Service Plan Web AppStorage(Blob) Application Insights ログの送信 パフォーマンス 情報の送信
  • 16.
    Azure Web Appを利用したWebアプリ開発 李康秀 16/19 安全性 ■カスタムドメイン Webアプリに保有させることができる独自のホスト名。 データセンター インスタンス スタンプ Webアプリ = Web App →Webアプリごとに既定のホスト名を保有 ((リソース名).azurewebsites.net) + 独自のホスト名(=カスタムドメイン)を保有可能
  • 17.
    Azure Web Appを利用したWebアプリ開発 李康秀 17/19 安全性 ■SSL証明書 カスタムドメインのサーバ証明書。 データセンター インスタンス スタンプ Webアプリ = Web App →Webアプリごとに既定のホスト名を保有 + 独自のホスト名を保有 ← これの証明書が必要
  • 18.
    Azure Web Appを利用したWebアプリ開発 李康秀 18/19 安全性 ■Application Gateway(WAF) 以下の攻撃等をから防止する機能。 ・クロスサイトスクリプティング ・SQLインジェクション攻撃 ・リモートコード実行 ・セッション固定攻撃 etc... App Service Plan Web AppStorage(Blob) Application Insights ログの送信 パフォーマンス 情報の送信 Application Gateway(WAF) ログの送信
  • 19.
    Azure Web Appを利用したWebアプリ開発 李康秀 19/19 まとめ 1. Azureで簡単にWebアプリを構築した。 2. Webアプリの運用までにRASISを考慮する 必要があることを学んだ。