Skip to content

Instantly share code, notes, and snippets.

@kimutansk
Created June 14, 2016 04:09
Show Gist options
  • Save kimutansk/651f934636014948e7c162d8fc23bf62 to your computer and use it in GitHub Desktop.
Save kimutansk/651f934636014948e7c162d8fc23bf62 to your computer and use it in GitHub Desktop.
失敗例を成功に変える AWSアンチパターンのご紹介 2016

失敗例を成功に変える AWSアンチパターンのご紹介 2016

  • アンチパターン
    • 失敗パターン類型化
      • 最初は妥当であったのに、最後は悪い結果になるパターン
      • リファクタのための方法が存在するパターン
  • DBの使い分け
    • 原因
      • パフォーマンスが高いDBということでOLTPにRedshift(DWH用途)適用
    • 症状
      • 全く性能でない。
    • 解決法
      • この場合はRDSを使用するべき。DBの特性を理解して使用すること。
        • ElastiCache
        • Dynamo
        • RDS
        • Redshift
  • ストレージの使い分け
    • 原因
      • EC2ではストレージ代込でストレージが使用できると聞いて、インスタンスストアにシステム構築
    • 症状
      • データ消失、容量不足が発生
    • 解決法
      • この場合はEBSを使用すること。ストレージの特性を理解すること。
        • 加えて、EBSの種類も含めて注意すること。
          • General
          • Provisioned IO
          • スループット最適化
    • ブートディスク/データ格納用にEBS、一時的な利用にインスタンスストアに使用
  • 「メタ」アンチパターン
    • インフラ塩漬けアンチパターン
    • ノールック明細アンチパターン
    • 机上の空論アンチパターン
  • インフラ塩漬けアンチパターン
    • 事例
      • 構築した当初のままインフラの見直しをしない
    • 症状
      • 実際の利用に比べてキャパシティの過不足を放置したまま利用
      • 一時しのぎで選んだサービスをそのまま使い続けている
    • 解決法
      • サービスを四半期に一度は見直す
      • 新サービスや新機能が助けになることが
    • 塗り替えたパターンの例
      • Managed NATで置き換え
        • HA NAT
        • Auto Scaling NAT
      • Amazon WAFで置き換え
        • ELB sand witch for WAF appliance
    • 2015年以降のサービスにおけるアンチパターン
      • Amazon API Gateway
        • 同期API Gatewayアンチパターン
          • 原因
            • API Gatewayを「同期」サービスとして使う
          • 症状
            • API Gatewayがタイムアウト/同時実行数不足/価格高い
          • 解決法
            • APIの非同期化。「実施オーダー」「状態確認」で構成
            • API Gateway > Lambda > RDSのようなレイテンシが大きく変化するケースを避ける
            • Javaを使用する場合更に注意
      • AWS IoT
        • NOシャドウアンチパターン
          • 原因
            • デバイスのリモート制御をMQTTTopicだけで行う
          • 症状
            • AWS IoTでデバイスへのコマンドが到達しない
          • 解決方法
            • MQTT TopicだけではRetain効かないのでシャドウ使用する
  • ノールック明細アンチパターン
    • 原因
      • 月末の料金請求しかないと思っている
    • 症状
      • 支払周期のずれ(翌月月初5日に行く)
      • リザーブドはそのタイミング
      • クレジットカードの与信額の使い切り
    • 解決方法
      • 「AWSサポート新規契約」「リザーブド購入」の際に請求書がわかれるので注意
      • Consolidated Billingの場合、子アカウントがリザーブド購入しても親に行くので注意
  • 机上の空論アンチパターン
    • 原因
      • サーバ発注、システムデプロイ、納品の硬直したループにはまっている
    • 症状
      • 動作確認をしない
      • 事前のキャパプラに時間をかけすぎる
    • 解決法
      • ともかく小さく試してみること
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment