Open棟梁Project - マイクロソフト系技術情報 Wiki

-[[戻る>Azure]]

* 目次 [#z3a31ade]
#contents

*概要 [#k48864fb]
いろいろな情報源からAzureトラブル事例を収集しています。

*設計時の考慮点 [#x5bfe441]
**CDN [#j018ce94]
CDN的機能を提供する場合は、アプリケーションを自作する前に~
Azure CDNの機能を使用できないかを確認する。

**国際化対応 [#b26af1e5]
国際化対応の必要があります。

-参考
--業務システムでWindows Azureを使うための42の覚え書き - @IT~
http://www.atmarkit.co.jp/fdotnet/chushin/azurecasestudy_01/azurecasestudy_01_04.html

***UTC時間が適用 [#o59b139a]
取得したDateTime(日付や時刻)は、UTC(協定世界時)になるので、~
必要に応じて、各タイムゾーンに対応した時間に変換する必要があります。~

-参考

--[C#] Windows Azure アプリケーションで時刻を処理する 言語 C#~
http://code.msdn.microsoft.com/windowsazure/WindowsAzure-howto-b05ab0f0

***varcharで文字化け [#sd4949b1]
-varcharに対してInsertしているデータが文字化けている現象は、

--SQLデータベースではDB既定の照合順序を指定できない。

--文字列リテラルにはCOLLATEを指定しないとDB既定の照合順序が~
エンコーディングのコードページ使用される(ASCIIエンコーディング)ため。~

-Unicode 専用のデータ型(nchar, varchar, ntext) には、~
エンコーディングのコードページは関連付られないので文字化けは発生しない。

-参考
--SQL Azure での日本語の扱い - お だ のスペース~
http://d.hatena.ne.jp/odashinsuke/20101101/1288611604
--COLLATE (Transact-SQL)~
http://msdn.microsoft.com/ja-jp/library/ms184391.aspx

**セキュリティ [#c2e9aff1]
-ホワイトペーパー リソース -- Windows Azure Platform~
http://www.windowsazure.com/ja-jp/community/whitepapers/
--Windows Azure セキュリティ概要~
http://download.microsoft.com/download/E/9/1/E91ADDD8-6E37-4E7B-84B8-77AFE27E5DB2/WindowsAzureSecurityOverview_20100922.pdf
--Windows Azure アプリケーション開発におけるセキュリティのベスト プラクティス~
http://download.microsoft.com/download/2/E/7/2E7D98A8-2B3E-4936-B09C-7BF3956177F5/SecurityBestPracticesWindowsAzureApps_20100624.pdf
--Windows Azure のセキュリティとコンプライアンスについての FAQ~
http://download.microsoft.com/download/5/1/2/512208B9-AA0F-4188-A016-FCEAC2D1906E/AzureSecurityFAQ_Japan.pdf

-連載企画 マイクロソフトが提唱する企業セキュリティ スペシャル コンテンツ~
http://www.microsoft.com/ja-jp/business/enterprise/ecc/article/cxo1102_security_top.aspx
>クラウドを安心して活用するためのアプローチ~クラウド利用の懸念に折り合いをつけるためのセキュリティ
--第 1 回~
http://www.microsoft.com/ja-jp/business/enterprise/ecc/article/cxo1106_security3-1.aspx
--第 2 回~
http://www.microsoft.com/ja-jp/business/enterprise/ecc/article/cxo1105_security4-1.aspx
--第 3 回~
http://www.microsoft.com/ja-jp/business/enterprise/ecc/article/cxo1106_security5-1.aspx

***ゲートキーパ・デザイン・パターン [#f01028ea]
ゲートキーパ・デザイン・パターンというものが存在するので、~
必要であれば、事前にそちらのパターンに則って設計する。

***VIEWSTATEの暗号化 [#ba7f2f99]
オンプレミスで動作するconfig設定がAzure上で機能しないことがある。~
こちらのサイトからweb.configに設定するmachineKeyを自動生成する。~

>Online Machine Key Generator~
http://www.a2zmenu.com/utility/Machine-Key-Generator.aspx

-ただ、HTTPSを導入すれば~
(盗聴などの攻撃への対策としては)~
ViewSate暗号化は基本的に不要です。

-また、画面に出ている文字(例えばLabel.Textなど)の~
VIEWSTATEであれば、必ずしも暗号化は必要ではない。

-その他、性能劣化もあるようです。
>ViewState の暗号化 かるあ のメモ-ウェブリブログ~
http://karua.at.webry.info/200810/article_9.html

*問題発生事例 [#q158e9e1]

**ST環境でレスポンス遅延 [#u45ad866]
-ソーシャル・ゲームのサービスのST環境でレスポンス低下
-問題を分析するとパフォーマンス・ログのDisk Queue Lengthが比較的高くなっていた。
-原因を調べると、パフォーマンス・ログのサンプリング間隔を短く設定し過ぎていた。
-Azureは仮想化環境なので物理環境よりディスク・アクセスが遅いので注意が必要。

**VIPスワップに失敗 [#j3c259ec]
-Lインスタンス×3では12コアを消費する。

-上記のアプリケーションのVIPスワップは、~
20コアオーバーになるため失敗する。
--運用環境12コア
--ステージング環境12コア

-20コアの制限を解除する場合は、~
サービス・リクエストの発行が必要になる。

-参考
--VIP スワップによってサービスを運用環境にデプロイする方法~
http://technet.microsoft.com/ja-jp/subscriptions/ee517253.aspx

*障害発生事例 [#xddd579f]
**ローカル・ストレージの容量オーバ [#k9eed65e]
-CDN的な機能を実装した際、ローカル・ストレージを使い切り一部コンテンツが配信できなくなった。
-ストレージから取得したデータをローカル・ストレージにキャッシュする仕組みであった。
-wwwroot以下はEドライブにマップされており、1GB程度しか提供されていなかった。

-ローカル・ストレージのドライブ名はAPI、LocalResource.RootPathで取得すること。

--ローカル ストレージ リソースの構成~
http://technet.microsoft.com/ja-jp/library/gg457934.aspx

--LocalResource.RootPath Property (Microsoft.WindowsAzure.ServiceRuntime)~
---http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.localresource.rootpath.aspx
---http://technet.microsoft.com/ja-jp/subscriptions/microsoft.windowsazure.serviceruntime.localresource.rootpath

**高アクセス時にレスポンス遅延 [#meb7744f]
CDN的な機能を実装した際、レスポンスの遅延があった。

-対応
--IISログ+LogParserで問題を特定。
--コンテンツのサイズに大きいものがあったため(500KB超)。
--コンテンツのサイズを256KB以下に小さくする(推奨)。

--若しくは、IISの「出力キャッシュ設定の編集」を行う。
---[出力キャッシュの設定の編集] ダイアログ ボックス~
http://technet.microsoft.com/ja-jp/library/cc731384.aspx

**デプロイ後40日で診断ログが停止 [#d88703fa]
-オンプレミスのアプリケーションをAzureに移行後、40日で診断ログが停止

-診断ログ・フォルダのクォータ設定に起因して診断ログ領域がオーバーした。
--通常、4GB-16MBを超えたタイミングでログ・ファイルが消去される。
--4GB-16MBの状態から急に、16MBを超える書き込みがあるとログ・ファイルが消去されず、診断ログが停止。

-以下のプロパティを設定して上記問題が起きないようにする。
--DiagnosticMonitorConfiguration.OverallQuotaInMB Property (Microsoft.WindowsAzure.Diagnostics)~
http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.overallquotainmb.aspx
--DiagnosticDataBufferConfiguration.BufferQuotaInMB Property (Microsoft.WindowsAzure.Diagnostics)~
http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticdatabufferconfiguration.bufferquotainmb.aspx

--参考
---Windows Azure 診断 利用時の注意事項  Windows Azure サポートの現場から  MSDN~
http://msdn.microsoft.com/ja-jp/windowsazure/jj680090.aspx

*障害分析 [#fa7a0bf6]
ほぼ、ログから問題が特定されるので、ログが非常に重要になります。

**各ロールのログ [#zb6cca6c]

-診断ログ
--カーネル・ダンプ
--プロセス・ダンプ
--イベント・ログ
--パフォーマンス・ログ
--アプリケーションのカスタムログ
--IISアクセス・ログ
--HTTPエラーログ

-その他ログ
--netlogon
--winlogon
--w32time
--netdiag
--dnsデバッグ・ログ

**SQLデータベースの監視 [#p7556c0b]

***DMV [#ddb31c4b]
-SQL Azure のクエリ パフォーマンスに関する情報採取~
Windows Azure サポートの現場から  MSDN~
http://msdn.microsoft.com/ja-jp/windowsazure/jj152920.aspx

-SQL Azure でのトラブルシューティン グとクエリの最適化 - Microsoft~
http://download.microsoft.com/download/C/5/9/C59ECC4C-3831-477F-AF56-24315D50CD35/Troubleshooting_and_Optimizing_Queries_with_SQL_Azure_JP.pdf

-システム ビュー (Windows Azure SQL データベース)~
http://msdn.microsoft.com/ja-jp/library/windowsazure/ee336238.aspx

--実行関連
---sys.dm_exec_connections
---sys.dm_exec_describe_first_result_set
---sys.dm_exec_describe_first_result_set_for_object
---sys.dm_exec_query_plan
---sys.dm_exec_query_stats (Transact-SQL)
---sys.dm_exec_requests
---sys.dm_exec_sessions
---sys.dm_exec_sql_text
---sys.dm_exec_text_query_plan (Transact-SQL)

--トランザクション関連
---sys.dm_tran_database_transactions
---sys.dm_tran_session_transactions
---sys.dm_tran_active_transactions
---sys.dm_tran_locks

--Database View関連
---sys.bandwidth_usage
---sys.dm_database_copies
---sys.firewall_rules
---sys.database_usage
---sys.dm_db_objects_impacted_on_version_change

***ストアド [#g80017ef]
システム ストアド プロシージャ (Windows Azure SQL データベース)~
http://msdn.microsoft.com/ja-jp/library/windowsazure/ee336237.aspx

-sp_updatestats
-sp_monitor
-sp_monitor
-sp_statistics
-sp_columns
-sp_table_privileges
-sp_special_columns

***DBCC [#p4687529]
DBCC SHOW_STATISTICS (Transact-SQL)~
http://msdn.microsoft.com/ja-jp/library/ms174384.aspx

***CSAD [#z7584987]
[SQL Azure] CSS SQL Azure Diagnostics (CSAD)toolのご紹介~
 - Windows Azure サポート チーム ブログ - Site Home - MSDN Blogs~
http://blogs.msdn.com/b/dsazurejp/archive/2011/11/18/sql-azure-css-sql-azure-diagnostics-csad-tool.aspx

*情報源 [#j8fec8d1]
-PSfPセミナー(213/02/25)

*参考情報 [#ab71caf4]

-Windows Azure サポート チーム ブログ - Site Home - MSDN Blogs~
http://blogs.msdn.com/b/dsazurejp/

-Windows Azure サポートの現場から~
~ Azure Platform トラブルシューティング入門 ~  MSDN~
http://msdn.microsoft.com/ja-jp/windowsazure/hh705140.aspx

*障害履歴 [#p8a850e9]

-2011/09/09

--ニュース - マイクロソフトのクラウドサービスに障害発生、正午頃から午後4時30分頃まで:ITpro~
http://itpro.nikkeibp.co.jp/article/NEWS/20110909/368374/

-2012/02/29

--ニュース - 「うるう年」の処理ミスでWindows Azureにサービス障害:ITpro~
http://itpro.nikkeibp.co.jp/article/NEWS/20120301/384015/

--うるう年の処理ミスで「Windows Azure」にサービス障害:日本経済新聞~
http://www.nikkei.com/article/DGXNASFK01012_R00C12A3000000/

-2012/07/26

--西ヨーロッパで発生した Windows Azure のサービス障害に対する根本原因の分析~
http://blogs.msdn.com/b/windowsazurej/archive/2012/08/09/root-cause-analysis-for-recent-windows-azure-service-interruption-in-western-europe.aspx

--マイクロソフト、「Azure」の障害は設定エラーが原因と説明~
セキュリティ トピックス Computerworld - エンタープライズITの総合ニュースサイト~
http://www.computerworld.jp/topics/563/204395

-2013/02/22 

--米Microsoft、Windows AzureがSSL証明書失効で約12時間サービス機能停止に~
http://headlines.yahoo.co.jp/hl?a=20130224-00000001-impress-sci~
http://headlines.yahoo.co.jp/hl?a=20130224-00000002-impress-sci

--「Windows Azure」ストレージ・サービスで世界規模の障害――SSL証明書の失効が原因~
http://headlines.yahoo.co.jp/hl?a=20130225-00000006-cwj-sci

--Windows Azure、11時間にわたる全世界的なストレージ障害。原因はSSL証明書の失効 - Publickey~
http://www.publickey1.jp/blog/13/windows_azure11ssl.html


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS