午前中の基調講演は仕事のためパスし、午後からの参戦だったのですが、それにしても人が多かったこと。
各セッションの開始前には、部屋の前に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のまとめが作られていました。 相変わらず仕事早いですね。。。
ちなみに明日は行かないので、タイムライン追いかけます。