-[[戻る>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的な機能を実装した際、レスポンスの遅延があった。 -コンテンツのサイズに大きいものがあったため(500KB超)。 -IISログ+Log Parserで問題を特定。 --Log Parserの概要 - @IT~ http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_01.html -対応 --コンテンツのサイズを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