Secpolo#4 WindowsAzure Security

5,882 views

Published on

セキュポロ#4 WindowsAzure 編の資料です

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,882
On SlideShare
0
From Embeds
0
Number of Embeds
117
Actions
Shares
0
Downloads
118
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Secpolo#4 WindowsAzure Security

  1. 1. Windows Azure の 最新情報とセキュリティ(配布用) マ゗クロソフト株式会社 | May 2010 May 2010 | Page 1
  2. 2. 本日の一部内容は… May 2010 | Page 2
  3. 3. スピーカー紹介 い さ ご 砂金 信一郎 shisago@microsoft.com アーキテクトエバンジェリスト マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 クラウドテクノロジー推進部 所属 ブログでもAzureの話題を提供 http://blogs.itmedia.co.jp/isago/ Twitterフォローはお気軽に http://twitter.com/shin135/ マ゗クロソフトでクラウドコンピューテゖングを中心とした啓蒙活動 を行うエバンジェリスト。東京工業大学出身。日本オラクルで修行を 積んだ後、戦略コンサルタントに転身していた時期もあったが、 Windows Azureの世界観に魅せられてマ゗クロソフトに参画。自社技 術に閉じないスタ゗ルが信条。自他共に認めるガンダム好きで、特に 戦略シミュレーションものにぐっときます。 May 2010 | Page 3
  4. 4. 本日のゕジェンダ Azureの位置づけ セキュリテゖ Azureの仕組み 性能保証 How to 開発・注意点 運用監視 賢く使うコツ テスト・障害対応 Azure を好きになってさわってみたい! と感じてもらうことが本日のゴール May 2010 | Page 4
  5. 5. Azure の位置づけ: 柔軟性の高いクラウドプラットフォーム ゕプリケーション ゕプリケーション ゕプリケーション ミドルウェゕ ミドルウェゕ ミドルウェゕ OS OS OS ハードウェゕ ハードウェゕ ハードウェゕ SaaS PaaS IaaS/HaaS 完成品の 開発・実行環境となる ハードウェゕを提供 ソフトウェゕを提供 プラットフォームを提供 (CPU貸し、デゖスク貸し) May 2010 | Page 5
  6. 6. What’s VM Role ? May 2010 | Page 6
  7. 7. 今オフゖシャルになっていること http://blogs.msdn.com/usisvde/archive/2010/03/29/vm-support-in-windows-azure.aspx May 2010 | Page 7
  8. 8. Azure の systeminfo May 2010 | Page 8
  9. 9. May 2010 | Page 9
  10. 10. May 2010 | Page 10
  11. 11. 3スクリーン&クラウド戦略 クライアント プラットフォーム サポート ツールおよびクロス PC 携帯電話 TV サーバー クラウド May 2010 | Page 11
  12. 12. Power of Choice 選択の自由 自社運用 ホスティッド クラウド お客様による運用 パートナーによる運用 マ゗クロソフト による運用 • • • • • • • • • Windows-based Hosting May 2010 | Page 12
  13. 13. System Center Cloud May 2010 | Page 13
  14. 14. Azure Auto Scale http://code.msdn.microsoft.com/azurescale May 2010 | Page 14
  15. 15. Project Sydney  IPv6/IPSec を利用し end-to-end で オンプレミスのサーバーと Windows Azure がセキュアに通信可能  2010年にベータ リリース予定 May 2010 | Page 15
  16. 16. Content Delivery Network May 2010 | Page 16
  17. 17. エンタープライズ用途に強い Windows Azure Platform May 2010 | Page 17
  18. 18. フゔ゗ゕウォールやNATを超えるクラウド上の サービス バスを介したメッセージルーテゖング バックエンドの sb://namespace.servicebus.windows.net/a/b/ ネーミング・ ルーテゖング ③ルーテゖング フゔブリック ①登録 サービスバス フロントエンド ノード TCP/SSL NLB TCP/SSL 808/828 828 ③メッセージ ③メッセージ クライアント NAT サービス ファイアウォール Dynamic IP May 2010 | Page 18
  19. 19. クラウドを介したID フェデレーションを実現する クレームベース ゕクセス コントロールの処理手順 NameSpace Azureval Issuer owner AccountKey Abcdefg…………… InputCraim sastaro@xxxxxx.com ゕクセス コントロール ②ルール決定 サービス ネームスペース Relying Party管理者 ⑦チェック& ゕクセス&授与 Relying Parties (サービスバス、 リクエスタ アプリケーション等) (利用者) May 2010 | Page 19
  20. 20. オンプレミスとSync Framework で同期 Sync • 競合の種類 Application – 同時実行の競合 – 制約の競合 Sync • 競合の解決 Orchestrator – 同期元 Win – 最新更新 Win(時間比較) – ユーザー判断 等々… SQL Server SQL Azure Sync Sync Provider Provider 競合 Sync Runtime May 2010 | Page 20
  21. 21. 意外と面倒な「同期」処理の手順(一般論) 基本的な手順 • 接続 • 変更に関する情報 (ナレッジ) の比較 と同期箇所の決定 • 競合の検出と解決 • 変更データ送付と 適用 双方向同期の場合は 逆方向で上記手順を 繰り返す May 2010 | Page 21
  22. 22. さらに面倒な競合の回避 ID 価格 ID 価格 • 競合の種類 550 1,000 550 1,200 – 同時実行の競合 価格の更新 価格の更新 – 制約の競合 同時実行 の競合 • 競合の解決 – 同期元 Win コンタクト – 同期先 Win 情報の更新 – 最新更新 Win 都市 電話 (時間比較) 東京 072-XXXXXX – ユーザー判断 制約の 等々… 競合 May 2010 | Page 22
  23. 23. Sample End to End Scenario On-Premises Cloud Cached Mode Clients App Client Storage North North America America App Europe Client Storage Europe SQL Server Asia App Client Storage Asia SQL Azure May 2010 | Page 23
  24. 24. 上場企業の企業情報開示支援サービス 宝印刷株式会社(株式会社日立システムゕンドサービス) May 2010 | Page 24
  25. 25. マイクロソフト本社では約4万人がソフトウエア開発 に携わっている。 そのうち70%がクラウドに関する仕事に就いている。 今後1年で、その比率は 90% 出典:http://www.microsoft.com/presspass/presskits/cloud/default.aspx に高まるだろう。 May 2010 | Page 25
  26. 26. Bing Map Apps May 2010 | Page 26
  27. 27. Bing Maps と Azure を連携した EUの空気汚染監視サービス May 2010 | Page 27
  28. 28. Windows Azure と SQL Azureを 活用して地図とマッシュアップ 大気・水質 観測データ Silverlight UI Bing Maps データ SQL Control サービス Azure SMS ゲートウェ゗ May 2010 | Page 28
  29. 29. 世界中にデータセンターを絶賛建設中 Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs May 2010 | Page 29
  30. 30. TheCenter Infrastructure Cloud Microsoft Data May 2010 | Page 30
  31. 31. May 2010 | Page 31
  32. 32. May 2010 | Page 32
  33. 33. May 2010 | Page 33
  34. 34. May 2010 | Page 34
  35. 35. May 2010 | Page 35
  36. 36. May 2010 | Page 36
  37. 37. PDC09会場でのコンテナ実機展示 May 2010 | Page 37
  38. 38. Windows Azure を稼働させる モジュラー型データセンター May 2010 | Page 38
  39. 39. Bing の Auto Pilot ゕーキテクチャ 世界中のデータセンターに分散された100,000 台規模のサーバー Web & Structured Data Indices May 2010 | Page 39
  40. 40. フゔブリックコントローラーなど要と なる技術は実績の多い Windows 由来 フゔブリック:サーバーの集合 サーバーごとに複数の VM Windows Server 2008 (改) Hyper-V ゕプリに応じてサ゗ズを選択 フゔブリック コントローラー フゔブリック内のサーバーと通信 サービスの監視・管理を行う ゕプリ・VMの展開 フゔブリック エージェント May 2010 | Page 40
  41. 41. 管理の自動化はどこまで? ハードウェゕ リソースの変更 構成定義 (XML) 管理ポータル windows.azure.com コンピューティング ストレージ ファブリック コントローラー マイクロソフト データセンター May 2010 | Page 41
  42. 42. コンピューテゖング機能の耐障害性能対策  VM 監視 各インスタンスには、ファブリック コントローラとのコミュニケーション用 にエージェントが存在 Web IIS ロール Worker ロール エージェント エージェント  停止ドメイン ハードウェア構成上の単一障害点のあるエリアをドメインとして分割 May 2010 | Page 42
  43. 43. フゔブリック コントローラの役割 1: ノード割り当て 停止ドメ゗ンで分散 停止・更新ドメ゗ン 更新ドメ゗ンで分散 にまたがりノードを 割り当て 2: OS とロールの゗メージを配置 3: 設定 4: ロールの開始 5: ロードバランサーの設定 6: 必要数のロールを維持 LB 停止したロールは自動再起動 ノードが停止した場合は、 別のノードを自動割り当て May 2010 | Page 43
  44. 44. ストレージ管理の自動化 • Key Valueストゕ TABLE • パーテゖション分割 • 大容量バ゗ナリ フゔ゗ル BLOB • HTTP/HTTPS + REST • ブロック転送が可能 • 256bit シークレット • ロール間の一時受け渡し領域 キーを利用したHMAC- Queue SHA256 署名での認証 • タスク失敗時の挙動に対応 • 3つ以上の複製 • クラウド上のNTFSサービス Drive • ランダムゕクセス対応の BLOB • 最大容量 100TB May 2010 | Page 44
  45. 45. Table:Key Valueストア スケーラビリティを最優先した汎用ストレージ 255個までのプロパテゖを持つ 必須 プロパテゖ <Name, TypedValue> ペゕが保存 Partition Key Row Key Property 3 ….. Property N Document Name Version Modification Description Time 異なるプロパテゖ を 持ってもよい 福利厚生Doc V1.0 3/21/2007 ….. 2007年度 福利厚生Doc V1.0.6 9/28/2007 2008年度用 山田作成中 勤怠Doc V1.0 3/28/2007 2007年度 勤怠Doc V1.0.1 7/6/2007 2008年度用 千田作成中 スキーマを持たない May 2010 | Page 45
  46. 46. Windows Azure の利用 コーデゖング デバッグ 配置 運用 • Visual Studio • Visual Studio • Azure ポータル • Azure ポータル • Azure SDK • Azure SDK • API • ダッシュボード • エミュレーショ • API ン環境 • ツール May 2010 | Page 46
  47. 47. Visual Studio 経験者であれば .NET開発者はそのままAzureへ May 2010 | Page 47
  48. 48. クラウドで手間のかかるデバッグは、 ローカルの開発フゔブリックで軽減 Azureの Hosted Service環境 を開発クラ゗ゕント側に再現 ローカルでのビルド・実行時 に自動的に起動 作業中はタスクトレ゗に常駐 各ロールごとにログの確認が できる May 2010 | Page 48
  49. 49. Coming soon… ? May 2010 | Page 49
  50. 50. シンプルな疎結合 Web ゕーキテクチャ May 2010 | Page 50
  51. 51. WorkerRoleの使いこなしがポ゗ント 80 でHTTP/HTTPS? 管理をゕウトソースしたい? WorkerRole LB バックエンド WorkerRole 処理での 活用が基本形 任意のTCPポートで Storage 通信可能 May 2010 | Page 51
  52. 52. 非.NET技術とのインターオペラビリティの 高さも Windows Azure の特長の1つ Balancer Load VIP Web Computation Role Worker Role memcached Worker Role May 2010 | Page 52
  53. 53. PHP は IIS の FastCGI で対応。 VisualStudioにテンプレートまである PHP対応 IISすなわちWebRoleで対応。 Fast CGIの枠組みそのままで PHPもOK PHP用SDKを使えば拡張性の 高い Azure Storage にゕク セスしやすくなる SQL Server用PHPドラ゗バ でSQL Azure を使うことも できる May 2010 | Page 53
  54. 54. ゕクセラレーター for Tomcat と Java SDK / EclipseツールでJava開発 http://code.msdn.microsoft.com/winazuretomcat May 2010 | Page 54
  55. 55. ゕクセラレーター for X 非MS系ミドルの方が動かしやすい罠 May 2010 | Page 55
  56. 56. Ruby on Rails にも対応 http://code.msdn.microsoft.com/railsonazure May 2010 | Page 56
  57. 57. ゕプリケーションの移行 Client/Server 型なら Client/Cloud 型もあり? • Code Far 型(Client/Cloud) – データをクラウドに配置 – オンプレミスのクラ゗ゕントから SQL Azure や Azure Storage へ直接ゕクセス – Windows Form や WPF など操作性のよいクラ゗ゕント – オンプレミスのデータとの連携が容易 – 遅延を配慮した゗ンターフェ゗ス – データのプリフェッチやキャッシュする仕組みの実装 • Code Near 型 – データとゕプリをクラウドに配置 – Web ゕプリケーション – ゕプリはデータが配置されているのと同じネットワーク 内で動作(SQL Azure への転送量が無料) May 2010 | Page 57
  58. 58. Code Far型の例:ネットマトリックス社の Green Report 工場・店舗・事業所等 WindowsAzure 本社 Platform ゗ンターネット 法定帳票出力 (定期報告書等) エネルギー消費量 入力画面 SQL Azure 1 各拠点でエネルギー量を調査した 後、担当者がデータ入力を行う 電気メーター、ガスメー グラフ出力 *2 ター等 *1 2 ゗ンターネット上のデータベース 3 改正省エネ法で提出が義務づけ に格納される られている帳票等を出力する 1’ 各拠点で使用したエネルギー量を 自動でデータ登録する 【凡例】 *1 電気メーターとの連携は別途ハードウェゕの購入や連携開発作業が必要となります Green Report *2 グラフ出力は別途開発作業が必要となります 標準機能 (将来的には標準機能として提供する予定です。CSVフゔ゗ルでの出力は標準機能で可能です) 出所:ネットマトリックス社サービス説明資料 May 2010 | Page 58
  59. 59. SQL Azure への移行における注意事項 • 日付時刻データの取り扱い – すべて UTC(協定世界時) • サーバー上での SYSDATETIME(), GETDATE() • UTC は日本より9時間遅れ – DATEADD(hour, 9, SYSDATETIME()) で対応 – データを日本時間で保存するか UTC で保存するか? • 既存データは日本時間で保存している場合が多い • 日本語の取り扱い – 明示的に Japanease_CI_AS など日本語の 指定が必要 • ソートなどに影響 – SQL 文での日本語記述にも "N" プレフゖックスが必要 • INSERT INTO employees VALUES (1, N‘ゕジュール') May 2010 | Page 59
  60. 60. SQL Azure の制限事項 SQL Server ≒ SQL Azure • 現バージョンでサポートされていない機能 – 分散トランザクション / 分散クエリー – Common Language Runtime (SQLCLR) – hierarchyid, geography, geometry データ型 – バックゕップ、リストゕ、ゕタッチ – データベース ミラーリング – サービスブローカー、フルテキスト検索、透過的暗号化、圧縮 – USE ステートメント – SQL Server 構成オプション(sp_configure など) • 事前によく確認 – Transact-SQL の サポート状況 • http://msdn.microsoft.com/en-us/library/ee336250.aspx • http://msdn.microsoft.com/en-us/library/ee336270.aspx – SQL Azure Guidelines and Limitations • http://msdn.microsoft.com/en-us/library/ee336245.aspx May 2010 | Page 60
  61. 61. May 2010 | Page 61
  62. 62. May 2010 | Page 62
  63. 63. 便利ツール#1ストレージ管理 RESTゕクセス プログラムからはStorage Client 経由で ツール経由でFTPやフゔ゗ ルサーバーのように Harutama氏解説:http://d.hatena.ne.jp/haru-tama/20100115 May 2010 | Page 63
  64. 64. 便利ツール#2SQL Azure Manager SQL Azureの利用 SSMSなどのSQL Server用 ツールがあれば、接続文字 列の変更でそのまま利用可 能 ↑がない場合、Click Once で起動できる SQL Azure Manager が便利 SQL Azureはゕプリから普 通のリレーショナルデータ ストゕとして利用すること ができる http://hanssens.org/post/SQL-Azure-Manager.aspx May 2010 | Page 64
  65. 65. 便利ツール#3 Computing 監視用ゕプリ 管理APIにUIをつけたも のやコードから呼び出す ものがある いずれはSystemCenter http://azureservicesmanager.codeplex.com/releases/view/35069 May 2010 | Page 65
  66. 66. Windows Azure の価格 11.76 円/時間 14.70 円/月 + 可変の゗ンスタンスサ゗ズ 0.98 円/10K トランザクション May 2010 | Page 66
  67. 67. 「コスト」は包括的に考える必要がある サービス運用 • エンタープラ゗ズ用途の場 合、クラウドを利用しても 要件の絞り込み如何では従 ゕプリ改善・保守 来の構築要件と変わらない 項目もある ゗ンテグレーション • 条件次第でSI’er または カスタマ゗ズ ISV に移管可能 ゕプリケーション • 独自に構築するかサードパーテゖーゕプリを調達 ミドルウェゕ • Windows Azure の基本利用コストに内包 • CALなどの概念はなく、ユーザー数(ゕカウント数)や OS デバ゗ス数が増えても費用が大きくはねることはない • 仮想マシンやストレージ容量、データ転送量について ハードウェゕ のみ「使った分だけ」課金。すなわち、ゕクセス頻度 が低ければコストは低く抑えられる ネットワーク • 最新鋭の高効率データセンターでの運用により電力消 電気代・CO2排出 費を大幅に抑制 May 2010 | Page 67
  68. 68. クラウドの真価は(金さえ払えば) 無限のスケーラビリテゖ コンピューティング コンピューティング 稼働不要な 時期 平均使用量 平均 使用量 時間 時間 コンピューティング コンピューティング 平均使用料 平均使用量 時間 時間 May 2010 | Page 68
  69. 69. Windows Azure Platform 購買モデル • • • • May 2010 | Page 69
  70. 70. Windows Azure のインスタンス サイズ 11.76 円 23.52 円 47.04 円 94.08 円 各インスタンスの定義 1 x 1.6Ghz 2 x 1.6Ghz 4 x 1.6Ghz 8 x 1.6Ghz 1.75 GB メモリー 3.5 GB メモリー 7.0 GB メモリー 14 GB メモリー 250 GB ストレージ 500 GB ストレージ 1000 GB ストレージ 2000 GB ストレージ (インスタンスのストレージ) (インスタンスのストレージ) (インスタンスのストレージ) (インスタンスのストレージ) May 2010 | Page 70
  71. 71. Development Accelerator オファー 6 か月間限りの、通常より 42% - 46% 引きのサブスクリプションオファーを提供 オファーは月次ベースの「ユニット」単位で提供 (複数のユニットを購入可能) 超過分は通常の従量課金レートを適用 2010 年 6 月 30 日まで May 2010 | Page 71
  72. 72. 2010 年 1 月からの期間限定特別オファー 初期特別提供 MSDN Premium Core Extended コンピューティング時間 (hour) 25 750 750 750 Windows ストレージ (GB/month) 0.5 10 10 10 Azure ストレージ トランザク ション (times) 10,000 1,000,000 1,000,000 1,000,000 AppFabric トランザクション 100,000 1,000,000 1,000,000 1,000,000 SQL Azure データベース 1 (Web Edition) 3 (Web Edition) 0 1 (Business Edition) 北米および 受信 (GB) 0.5 7.0 7.0 7.0 ヨーロッパ Data 送信 (GB) 0.5 14.0 14.0 14.0 Transfers 受信 (GB) 0.5 2.5 2.5 2.5 アジア太平 洋 送信 (GB) 0.5 5.0 5.0 5.0 通常価格 (月) 1,345 12,717 9,780 19,759 Price 日本円 (月) May 2010 | Page 72
  73. 73. セコロジー#1 タダで使うためにすべきこと May 2010 | Page 73
  74. 74. セコロジー#2 課金は1時間単位の盲点 Azure課金の細則 CPU使用率は関係なく占有し たデプロ゗時間で課金 (GAEよりEC2に近い) Runしてなくてもデプロ゗す れば(削除しない限り)課金 発生。 ステージングも同じレート 最小単位は1時間。各時の0分 から59分のスロットで、1分 でもデプロ゗すれば1時間分 May 2010 | Page 74
  75. 75. セコロジー#3 面倒な管理はコマンドレットで自動化 http://code.msdn.microsoft.com/azurecmdlets May 2010 | Page 75
  76. 76. アップグレード スクリプトの例 $cert = Get-Item cert:CurrentUserMyD6BE55AC439FEA8CBEBAFF432BDC0780F1BD00CF $sub = "CCCEA07B-1E9A-5133-8476-3818E2165063" $servicename = 'myservice' $package = "http://myaccount.blob.core.windows.net/publish/MyPackage.cspkg" $label = 'nolabel' $role = '' if ($args.Length -eq 2) { $role = $args[0] $label = $args[1] } if ($args.Length -eq 1) { $label = $args[0] } if ($role -ne '') { Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Production | Set-Deployment -mode Auto -roleName $role -package $package -label $label | Get-OperationStatus -WaitToComplete } else { Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Production | Set-Deployment -mode Auto -package $package -label $label | Get-OperationStatus -WaitToComplete } May 2010 | Page 76
  77. 77. Windows Azure Platform データ転送 May 2010 | Page 77
  78. 78. データ転送料のチェックポ゗ント May 2010 | Page 78
  79. 79. TCO 分析ツール May 2010 | Page 79
  80. 80. 本日のゕジェンダ Azureの位置づけ セキュリテゖ Azureの仕組み 性能保証 How to 開発・注意点 運用監視 賢く使うコツ テスト・障害対応 Azure を好きになってさわってみたい! と感じてもらうことが本日のゴール May 2010 | Page 80
  81. 81. 文化の違い:クラウドvsオンプレミス • オンプレミス → 『個別対応』『お客様最適』 – コストは割高だが、基本的には「なんでも言うことを聞いてくれる」 – いわば高級料亭・高級レストラン • クラウド → 『標準化&仮想化』『規模の経済』 – 個別対応ナシ、そのかわり「早い・安い・上手い」 – いわばフゔーストフード店(「つゆだく」程度のカスタマ゗ズのみ) • しかも、従来のデータセンタとは規模感が全く異なる – メガデータセンタは「標準化・固定的な均一サービス」にすることで コストを削減している → 個別対応・特別対応はしてくれない • クラウドを扱う際は、この文化を制約条件として捉える必要がある May 2010 | Page 81
  82. 82. オンプレミスに残すもの 不安があればクラウドに持ち出すな! • パブリッククラウドに持ち出せないもの – 法律上の制限 – 秘匿性が高いデータ、個人情報データ、会計データ – 監査を必要とするシステム – トランザクションの整合性を厳密に保証するシステム – パフォーマンス(リゕルタ゗ム処理)にシビゕなシステム • オンプレミスとクラウドのハイブリッド – シームレスに連携するシステムを構築 – データの結合や整合性はゕプリで考慮 PUBLIC CLOUD May 2010 | Page 82
  83. 83. マ゗クロソフトの “クラウド サービス” は セキュゕですか? May 2010 | Page 83
  84. 84. 運用およびセキュリテゖ管理への対策 カテゴリー 対策 内容 ・ 24時間、365日の監視 ・ 監視カメラによる監視 ・ モーションセンサーの設置 物理的対策 ・ 生体認証による入退出管理 ・ データセンター内への車での乗り入れ禁止 ・ セキュリテゖ境界線突破時のゕラーム通報 機密性 ・ CyberTrust によるセキュリテゖ認定(四半期ごとに実施) ネットワーク対策 ・ 9階層にわたるセキュリテゖ対策 ・ サポート/サービスチームは、Secure ID カードもしくは 情報漏洩対策 RSH Secure ID Token を利用した認証を行う ・ データは全て128ビットで暗号化 ・全通信は HTTPS ・ Raid 5+1 によるデータ保存 データ保存 ・ Disk to Disk to Disk (ミラーリングで最低4コピー保持) 完全性 ・ 日時バックゕップの実施 データバックゕップ ・ Disk to Disk to Disk バックゕップ ・ ジオ リダンダント構成 ・ 複数の発電機を装備 ・ 電源は複数の発電所から2系統 物理的対策 ・ 各ラックでの電源2重化 可用性 ・ 発電機用の燃料は、地震などで道路が寸断された場合には空輸 ・ バッテリーによるバックゕップ ・ コンピューター コントロールによる空調制御 ネットワーク対策 ・ フルフェ゗ルオーバー May 2010 | Page 84
  85. 85. コンプラ゗ゕンス管理のロードマップ サービス 現在 将来(6ヵ月以内に対応) · EU Safe Harbor Seal Online Service · ISO 27001 · CyberTrustCertification Delivery Platform · EU Safe Harbor Seal · CyberTrust Certification · GxP Pharma (SharePoint) BPOS-S · ISO27001 · FISMA · FERPA*/HIPAA* · SAS70 Type II · EU Safe Harbor Seal · CyberTrust Certification · FERPA* · ISO 27001 BPOS-D · HIPAA* · FISMA · FIPS 140-2 · TIC Compliance · EU Safe Harbor Seal · CyberTrust Certification BPOS-Federal · FERPA*/ HIPAA* · ISO 27001 · FISMA (US Only) · FIPS 140-2 · ITAR · TIC Compliance May 2010 | Page 85
  86. 86. リスクへの対応(まとめ) リスク項目 Windows Azure BPOS サービス提供者の特権 ・特権ユーザーゕクセスはログに記録、承認された人のみゕ ユーザのゕクセス クセス可能。 ・運用については ITIL/MOF、ISO17799ベース。 サービス提供者とのコン ・SAS70 TypeⅡ、ISO27001、CyberTrust等の外部監査あ プラ゗ゕンスの調整 り。 ・ただし、お客様独自の監査を受け入れることは不可。 データの保管場所 ・利用時にデータが保管され ・契約時に初期データが保管 る国を指定可能。 されるデータセンター(地域) を指定可能。 データの分離方法 ・不正侵入に対するモニタリングや、第三者機関によるペネ トレーションテスト等を定期的に実施。 ・BPOSは、Dedicate 型サービスも提供。 障害からの復旧手順 ・複数のサ゗トにまたがって ・複数のサ゗トにまたがって 複製。 複製。 • RPO 12h、RTO 24h。 調査への支援 ・セキュリテゖ゗ンシデント(不正ゕクセス等)時には、お 客様のニーズに対してログを収集、分析することをポリシー として定めている。 May 2010 | Page 86
  87. 87. Windows Azure MMC May 2010 | Page 87
  88. 88. May 2010 | Page 88
  89. 89. クラウドの潜在的脅威 May 2010 | Page 89
  90. 90. クラウドの潜在的脅威への対策 脅威 対策 Cross site scripting 出力テキストをエンコード CSRF ユーザーごとのトークンを隠れフィールドに埋め込む One-Click Attack ユーザーごとに異なるリクエスト形式を採用 HTTP replay attack SSL Network Eavesdropping SSL or IPSEC Password brute Force ロックアウトポリシーの実装 Repudiation attack 効果的なロギングの実装 File Canonicalization ファイル名の長さと正規化表現による検証 Denial of Service リスエスと数、ファイルサイズの検証 適切な例外処理の実装 詳細なエラーメッセージを表示しない Forceful Browsing 認証コントロール データの暗号化 Man in the middle attack SSL or IPSEC SQL injection LINQ の使用 Response splitting コンテキスト依存のエンコーディング May 2010 | Page 90
  91. 91. クラウドでは性能保証が原理的に難しい • Windows Azure コンピュートサービスの場合 – 1 台の物理マシン上に、複数の仮想マシン(VM)がホストされる – 各 VM は CPU やメモリとはバ゗ンドされているが、デゖスク I/O や ネットワーク I/O に関しては共用になる → 隣の VM の影響を受ける • SQL Azure データベースサービスの場合 – 1 台の物理マシン上に、複数のデータベースがホストされている – コンピュートサービスと異なり、VM 分離などはされていない → 隣の データベースに対するクエリの影響を受ける Windows Azure コンピュートサービス SQL Azure データベースサービス 仮想マシン 仮想マシン 仮想マシン 仮想マシン (Web Role) (Web Role) (Worker Role) (Worker Role) ユーザ D の ユーザ B の ユーザ C の ユーザ D の アプリ アプリ アプリ アプリ ユーザAの ユーザBの ユーザCの ユーザDの ユーザEの ユーザFの DB DB DB DB DB DB ランタイム/ミドル ランタイム/ミドル ランタイム/ミドル ランタイム/ミドル (ASP.NET + IIS) (ASP.NET + IIS) (.NET Framework) (.NET Framework) OS OS OS OS (Windows 2008) (Windows 2008) (Windows 2008) (Windows 2008) ハードウェア ハードウェア May 2010 | Page 91
  92. 92. ネットワークもベストエフォート 出典:Submarine Cable Map 2009 May 2010 | Page 92
  93. 93. http://highscalability.com/blog/2010/5/26/end-to-end-performance-study-of-cloud-services.html May 2010 | Page 93
  94. 94. 多くのノードに分散してデータを保持 Service Service C, D Instance E,E, F F, Instance C, D D C, D C, E, F, E, F,F E, H A,B,B, E, A, E, A, A, B, F B, C,D,G, H C, D,G, , C, D,G, C, D, 可用性のために F E,F,H I, J H f(G) = 4601 53 53 905 I, J 複製を使う X Service Service Instance Instance 1 5000 G, H E, F, I, Primary から自動 A, B C, D, K, L G J フェ゗ルオーバー 6435 5501 5501 で最も近い G Service Service K, L Instance K, L I, I, JG J, Instance I,I, J J, Replica secondary へ K, L Service A,A, B, I,, B, I, J A, B,G, K,K, L,G, H L, G, F, K, L,E,E, Size = 3 A, B, K, L, Request I, J I, JJ F, H H 0 2128 Logical Partitions A, B C, D E, F G H I, J K, L Service Instances X May 2010 | Page 94
  95. 95. 冗長故の可用性: 障害を前提としたフェイルオーバーの機構 数万台もサーバーがあれば確率論的にどれかが壊れて当然という前提。 データ冗長化のイメージ 構造化オーバーレイ  データの読み出しはプラ゗マリのみ  数万台のサーバーとなると、  セカンダリノードに非同期で それぞれのサーバーは全ノード 書き込みを行う の管理領域を把握しにくい  プラ゗マリ障害時に昇格する  ノードの離脱、追加を行った際に、 セカンダリは多数決で決定 管理領域の変更の影響をおさえる仕 組みが必要 Ack Read Value Write 180 200 210 174 218 151 225 Ack r7 250 Ack P Ack 135 Ack r6 r-6 120 2 S Write Write S 103 r5 r-5 17 98 30 90 r4 r-4 83 40 S 76 46 Write Write S 64 50 May 2010 | Page 95
  96. 96. SQL Azure Database のアーキテクチャ フロント ゲートウェ゗ マスターDB 課金・認証 ノード群 サーバーをまたがったレプリケーションDBを作成して同期 サーバー1 サーバー2 サーバー3 SQL Server ゗ンスタンス サーバーをまたがったレプリケーションDBを作成して同期 クラウド データセンター内 … フゔブリック 数百台のサーバーでフゔブリックを構成 May 2010 | Page 96
  97. 97. SQL Azureのデータのバックゕップ • (現時点では未サポート)将来的には SQL Azure 上で、DB の バックゕップとリストゕが可能になる予定 – 遠隔地のデータセンタへバックゕップすることで、災害対策もできる xyz.database.windows.net efg.database.windows.net Master prod1 Prod2 複製 prod2 DR1 Master clone 複製 prod2 clone 複製 CREATE DATABASE abc.prod2clone abc.database.windows.net AS CLONE OF xyz.prod2 prod2 Master Dev1 clone South Central US North Central US May 2010 | Page 97
  98. 98. 運用監視方法の違い May 2010 | Page 98
  99. 99. Azureの管理と監視 管理 監視 管理ポータル ダッシュボード windows.azure.com azure.com の support から API(PowerShell も) API(PowerShell も) 監視 API を組み合わせて Windows Server で取得可能 自動化 なログを取得可能 System Center は、将来予定 System Center は、将来予定 May 2010 | Page 99
  100. 100. ダッシュボード経由の監視 http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx May 2010 | Page 100
  101. 101. 診断データの取得 • 診断データは゗ンスタンスのローカル ストレージで保存 • 診断 API により、オンデマンドもしくは定周期に取得 • 取得されたデータは、Windows Azure ストレージへ 設定 Windows ロール ゗ンスタンス Azure ストレージ 診断 ロール データ収集 モニター クオータ (トレース、ログ、 ダンプ) Windows ローカル ストレージ データ IIS ログ & 失敗ゕクセス ログ パフォーマンス カウンター ゗ベント ログ May 2010 | Page 101
  102. 102. 診断データ一覧 フォー データソース 既定 設定方法 マット トレース ログ 有効、ローカル保存 診断 API、トレース リスナー テーブル パフォーマンス 無効 診断 API テーブル カウンター イベント ログ 無効 診断 API テーブル インフラ ログ 有効、ローカル保存 診断 API テーブル IIS ログ 有効、ローカル保存 診断 API、Web.config ブロブ IIS 失敗ログ 無効 診断 API、Web.config ブロブ クラッシュ ダンプ 無効 診断 API、クラッシュ API ブロブ その他のログ・ 無効 診断 API ブロブ ファイル May 2010 | Page 102
  103. 103. 超高可用性?システムには不向き • ミッションクリテゖカルなシステムでは、非常に高い可用性目標が 掲げられることがある – 金融系システムや道路交通系システムなど、システム停止が社会的あ るいはビジネス的に極めて大きな損失や問題を引き起こす場合 – このような場合には、99.999% などの高可用性目標が掲げられる • 可用性を上げるほど、システムや運用に対する対策を堅牢にする必 要があり、コストがかかる – このため、実際の業務システムでは、業務要件に併せて「適度な可用 性レベル」を選択している 可用性 年間ダウンタイム 月間ダウンタイム 99.9999% 32秒 2.6秒 99.999% 5分15秒 26秒 99.99% 52分34秒 4分22秒 99.9% 8時間46分 43分 99% 3日15時間 7時間18分 May 2010 | Page 103
  104. 104. Windows Azure プラットフォームの SLA サービスバス & コンピューテゖング ゗ンスタンス監視 ストレージ データベース ゕクセス コントロール コネクテゖビテゖ & 再起動 可用性 可用性 可用性 Web を通して すべての起動中 ストレージ サー ゗ンターネット サービスバスと 接続されてい のロールは継続 ビスの利用可能 ゲートウェ゗に ゕクセスポ゗ン るサービス 的にモニター (接続可能) 性 接続されるデー トのエンドポ゗ タベース ントは外部接続 ゗ンターネッ もしロールに不 ストレージ リク 性を持つ トに接続され 具合があれば エストのプロセ すべてのデータ ているロール Microsoft が検知 スが成功したか ベースは継続的 メッセージ操作 との外部接続 し正常な状態に どうか にモニター リクエストが正 性 起動 常にプロセス完 了したかどうか >99.95% >99.9% >99.9% >99.9% >99.9% May 2010 | Page 104
  105. 105. テストやデバッグには工夫が必要 開発環境(開発チーム) テスト環境(テストチーム) ビルド番号 ドロップポ゗ント = 1.0.60712.0 Azure の テスト対象を エミュレータを 選んで Deploy テスト作業 利用 デバッグ (QA) ビルド番号 作業 = 1.0.60713.0 Azure の 実環境を ビルド番号 利用 テスト = 1.0.60714.0 クラ゗ゕント ソース ビルド コード管理 システム ビルド番号 開発用 PC = 1.0.60715.0 テスト結果 テスト実施結果報告 データベース バグ報告 バグ追跡 バグ報告 データベース May 2010 | Page 105
  106. 106. テストと障害対応 • A. ゕプリケーションレベルの障害について – 通常と同様に、集約例外ハンドラから゗ベントログを通じ、監視系へ通知 – ただし、前述したように、゗ベントログの直接監視ができない → 障害監視 をするための仕組みの作り込みが必要 • B. ミドルウェゕ/ハードウェゕレベルの障害について – 基本的に、マ゗クロソフト側での監視・管理となる(=監視・管理フリー) – 障害には Dr. Watson Diagnostic ID が振 られ、これを元に障害解析することになる – しかし、このサポートは基本的に英語(日 ユーザ側での 本ローカルにエンジニゕリソースがないた ゕプリ 管理・監視が 必要になる め) → 翻訳などのため問題解決に時間が かかることも考えられる ミドル Windows Azure (PaaS) では マ゗クロソフトが ゗ンフラ 管理 May 2010 | Page 106
  107. 107. Azure対応における注意点のまとめ 1. セキュリテゖ – 各種の法的規制や社内ポリシーとのすり合わせが必要 – 実務レベルでもセキュリテゖ設計の見直しが必要になるケースがある 2. 性能保証 – クラウドはスケーラビリテゖに富むが、原理的に応答性能が保証しにくい – ネットワーク帯域も問題になりやすい 3. 運用監視 – 現状では、クラウドはオンプレミスとは分けた運用監視が必要 – Azure の 99.9% 可用性で不十分な場合は、ハ゗ブリッド化などが必要 4. テストと障害対応 – ラ゗ブデバッグ不可、バージョン固定不可、サポートは英語 May 2010 | Page 107
  108. 108. May 2010 | Page 108
  109. 109. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. May 2010 | Page 109

×