2013年6月6日木曜日

AWS Summit Tokyo 2013 に行ってきた

今日から始まったAWS Summitに行ってきました。

午前中の基調講演は仕事のためパスし、午後からの参戦だったのですが、それにしても人が多かったこと。
各セッションの開始前には、部屋の前に200~300人くらいはいようかというくらいの長蛇の列ができて、かなりの混乱状態に。
このあたりは次回は改善されててほしいですね。

で、肝心の内容ですが、ひたすら上級者向けのテクノロジーセッションを聴いてきましたので、
以下にまとめてみます。

「AWSをフルに活用しながら、あんしんできるセキュアなクラウド利用法とは?」

  • AWSでは、ゲートウェイ型のセキュリティツールを使うより、ホスト型のツールを使ったほうがよい。ゲートウェイ型だと、トラフィックの増大によって負荷が高くなるし、SPOF(単一障害点)になりうる。ホスト型だと、スケールアウトしたホストそれぞれにインストールしておけばそういった心配はなくなる。
  • 対策ソフトの種類
    • マルウェア対策ソフト…要はウィルスバスターとか。
    • WAF(ウェブアプリケーションファイアウォール)
      • SaaS型…DNS設定を変えて、すべての通信を外部のWAFを通すようにする。代表的なのはScutum
      • ネットワーク型…危機として設置。AWS上では、AMIとして提供されているものもある。
      • ホスト型…ホストの中にソフトウェアをインストールする。代表的なのはmodsecurity
    • ネットワーク型IDS/IPS…パケットの監視。Snortなど。
    • ホスト型IDS/IPS…整合性監視などによる不正検知。tripwire, ossecなど。
  • 攻撃のフェーズごとの防御策
    • ポートスキャン対策 ⇒ ネットワーク型IDS/IPS
    • 侵入防止 ⇒ WAF
    • バックドア作成防止 ⇒ マルウェア対策ソフト
    • 痕跡削除検知 ⇒ ホスト型IDS/IPS
  • トレンドマイクロの製品 Deep Security 紹介
    • 上記の4つのツールがすべて入っている。
    • Amazon Management Consoleと連動
    • 対応OSはWindowsとRedHat/CentOS。UbuntuなどのDebian系には対応してないっぽい。 

 「ハイブリッド構成を支えるAWSテクノロジー」

  • ハイブリッド構成の利用シーンと考慮すべきポイント
    • 開発での利用…本番に環境をどのように持ち込むか。
    • ディザスタリカバリでの利用…データをバックアップサイトとどうやって同期するか。
    • 一部のシステムの移行…どうやって接続するか、どうやって連携させるか。
  • インフラ
    • DirectConnect…専用線でつなげる。自分でコントロールできるというメリットが大きい。
    • VPCを拠点間のゲートウェイとして使うこともできる。
  • データ
    • S3…大容量のファイルは、マルチパートを使うと速度を向上できる。また、小さいファイルが多数ある場合は、キー名を分散させるとよい。
    • インスタンスへの転送…asperaなどの製品を使うとよい。
    • ブロックデバイスのコピー…AWS Storage Gateway, DRBD
    • VMのコピー…VMWareのvmdkファイルをAWSにコピーできる。
    • DBの同期…ファイルやブロックデバイスの同期では対応できない。AWSではCloudOptというサービスがある。
  • 運用
    • IAMによる権限管理
    • すでにSSOを構築している場合には、STSというサービスを使うとそれらと連携できる。
    • VPCでステージング環境を作ると、EIP以外は全く同じ環境を作れる。CloudFormationを使うと、JSON形式で設定を記述できる。

「AWSクラウドで構築する、ワールドクラスの分散クラウドアーキテクチャ」

  • マルチリージョンは難しい
    • マルチリージョンのユースケースとは?
      • UX向上…なるべくユーザーに近いところにCloudFront置いたりインスタンス立てたり。
      • DR…バックアップサイトを作り、障害発生時に瞬時にフェールオーバーしたい。
        • リージョン間でAMIをコピーしたりEBSスナップショットを保存できたりはする。
        • S3でもリージョンをまたいでデータをコピーできる。
        • Route53で重みづけ振り分けができる。
      • 非常に高い可用性の実現
        • リージョン間でデータ同期したい
    • なぜ難しいか?
      • CAP定理…一貫性・可用性・ネットワーク分断耐性のうち、分散システムではすべてを同時に満たすことはできない ⇒参考 
      • 合意プロトコルの構築が難しい⇒誰がマスターになるか、誰がデータをメンテナンスするのかなどをノード間で合意する必要がある。正しく合意ができるか、適切な期間で合意可能か、理論的に適切なパフォーマンスか、という観点が必要。仕組みとしてはzookeeperが有名。
      • 耐障害性…リージョン間での非同期レプリケーション(同期ではパフォーマンスの点で非現実的)。GlusterFSなどの分散ファイルシステムや、Cassandraなどの分散データベースを使う手はある。
    • プラクティス
      • "Game Day" 本番環境でテストしよう。
      • 障害は必ず起こる。なので、迅速に復旧できるような運用を日ごろから行うこと。
  • できる限り、「マルチAZ」を使ったほうがよい。
    • 上のような課題をある程度解決している。

まとめ


togetterのまとめが作られていました。 相変わらず仕事早いですね。。。
ちなみに明日は行かないので、タイムライン追いかけます。