【レポート】【基本の AWS サービス】Amazon EC2 ことはじめ 〜あらゆるワークロードに対応する豊富な選択肢とコスト最適化オプション〜 #AWS-13 #AWSSummit

2021.05.28

この記事では、5月11日に行われた AWS Summit Online 2021 のオンラインセッション『【基本の AWS サービス】Amazon EC2 ことはじめ 〜あらゆるワークロードに対応する豊富な選択肢とコスト最適化オプション〜(AWS-13)』をレポートします。

セッション概要

Amazon EC2 はシンプルなウェブアプリケーションからミッションクリティカルなシステムまで、あらゆるワークロードを実行可能なプラットフォームです。400種類以上のインスタンスタイプを提供し、同時にコストパフォーマンスを追求できます。本セッションではこれから Amazon EC2 を使用する方に向けた基礎情報、またワークロードに適したインスタンスタイプの選択肢を紹介します。さらにスポットインスタンスや Savings Plans といった購入オプションの使い所と、TCO を抑えながらコンピューティング能力をスケールする方法を説明します。

登壇者

アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト 小川 貴士

アマゾン ウェブ サービス ジャパン株式会社 コンピュート事業本部 ソリューションアーキテクト EC2スポットインスタンス スペシャリスト 滝口 開資

レポート

あらゆるワークロードに対応するAmazon EC2環境

  • 幅広いAmazon EC2インスタンスの選択肢がある。インスタンスタイプは350以上
  • CPUの選択肢(Intel、AMD、AWS Graviton2)
  • AWS Graviton2を搭載したインスタンス(M6g、R6g、C6gn、X2g、T4g) x86ベースインスタンスより40%優れたコストパフォーマンス

AWS Graviton2について

  • アクセラレータも幅広い選択肢(NVIDIA、XILINX、AWS Inferentia、AMD)
    • Intel Habana-based instances、AWS Trainiumは2021年にリリースを予定している

アクセラレーテッドコンピューティングについて

最適なAmazon EC2インスタンスの選び方

  • 様々なユースケースにマッチするように5つのカテゴリに分類してインスタンスファミリーを提供
    • 汎用、コンピューティング最適化、ストレージ最適化、メモリ最適化、高速コンピューティング(GPU,FPGA、ASIC)
    • インスタンスタイプのネーミングルールがある
      • 例) m5d.xlarge
      • m = インスタンスファミリー(メモリ最適化)
      • 5 = インスタンスファミリーのインスタンス世代
      • d = 追加機能(内蔵ストレージ付加)
      • xlarge = インスタンスサイズ
      • ネーミングルールについてはこちら
  • インスタンスの選択プロセス
    • アプリケーション/ワークロードを理解すること
      • ビジネス要件の理解
      • 主なボトルネックの理解
  • リソース要件が定まっていないときは、処理内容からインスタンスファミリー、インスタンスサイズを選定
    • 処理するデータが大きい、大きなディスク容量が必要(ストレージ最適化)
    • GPU処理が適している(高速コンピューティング)
    • CPU処理が大きい(コンピュティング最適化)
    • インスタンスサイズを選択(以下、m5例)
      • m5.large:2vCPU,4GiB
      • m5.xlarge:4vCPU,8GiB
      • m5.2xlarge:8vCPU,16GiB
      • m5.4xlarge:16vCPU,32GiB
      • .8x~
      • .16x
  • 特定のユースケース例
    • OS、アプリケーション、フレームワークがOSS:AWS Graviton2を選択。EC2インスタンスの中で最高のコストパフォーマンス
    • 仮想化機能なしインスタンス:ベアメタルインスタンス(.metal)を選択
    • FPGAが必要:Xilinx FPGAを搭載したF1インスタンスを選択

コストとキャパシティの最適化

  • コストの最適化は、性能と安定性を諦めることではない。コスト最適化を正しく理解することが重要

費用と価格(3本の柱)

  • EC2の購入オプション
    • オンデマンドインスタンス
      • 秒または時間単位での使用分の支払い
      • Amazon EC2の定価
    • リザーブドインスタンス(RI)
      • 1年 or 3年の長期コミットに応じた大幅なディスカウントが適用
    • Savings Plans
      • RIの同等のディスカウントに加えて優れた柔軟性を持つ
    • スポットインスタンス
      • Amazon EC2の使われていないインスタンスを活用することで最大90%の値引きで利用可能
      • 中断される場合あり
    • オンデマンドインスタンス、スポットインスタンスは起動したインスタンス単位で課金
    • リザーブドインスタンスとSavings Plansは、コミットした内容に基づき、起動したオンデマンドインスタンスがディスカウントされる
  • Savings Pansとは
    • Amazon EC2などのCompute Serviceが最大72%の割引される購入オプション
    • コミットする内容
      • 定常的な利用
        • 時間あたりの最低ご利用分のコミットした金額を指す
        • 例えば常時稼働する業務アプリケーションやDBが効果的
      • コミット契約:1年間または3年間の利用のお約束。利用が少なくてもコミットした金額を請求
  • Savings Plansの料金プラン
    • Compute Savings Plans
      • 最大66%の費用削減
      • インスタンスファミリー、リージョン、OS、テナント属性、Compute Service(Amazon EC2,AWS Fargate,AWS Lambdaでも)を指定なく優れた柔軟性のあるプラン
    • EC2 Instance Savings Plans
      • 最大72%の費用削減
      • 指定するリージョン、インスタンスファミリーに対してディスカウント
      • OS、テナント属性は指定不要
  • Amazon EC2スポットインスタンス
    • 多くのお客様の需要に答えるべく大量のキャパシティを準備しているなかで使われていないインスタンスをスポットインスタンスとして利用可能
    • オンデマンドインスタンスと性能は変わらない
    • 価格は、需要と供給に基づき変化する(急激な変化一日に何度も変化はしない)
    • スポットインスタンスを使いこなすコツは、複数のインスタンスタイプを使うこと、リージョンにある全てのAZを使うことで起動失敗を軽減できる
      • EC2キャパシティはインスタンスタイプ毎に管理されている
      • AZ毎でもキャパシティが異なる
    • Amazon EC2 Auto Scalingを活用することが最適な方法
    • EC2のキャパシティが不足するときは中断が発生する。中断する2分前に「中断通知」があるので対策する
中断通知の対策例

キャパシティ管理(3本の柱)

  • 購入オプションの選び方
    • リザーブドインスタンスやSavings Plans:データベース、最低限起動が必要なWEBサーバやAPIサーバなど
    • オンデマンドインタスンス:常時稼働が不要、ステートフル、スパイクするような場合
    • スポットインスタンス:複数のインスタンスタイプを活用、中断に耐えられるバア愛
  • 購入オプションに加えて、インスタンス台数を管理してくれるのがAmazon EC2 Auto Scaling
    • 負荷に応じて増減を管理(スケールアウト、スケール員)
    • Amazon EC2 Auto Scalingの最新機能であるキャパシティリバランシングを使ってスポットインスタンスを上手に活用できる
      • スポットインスタンスが中断のリスクがある場合、事前にスポットインスタンスを追加し、中断リスクのあるスポットインタンスを削除を自動で管理する機能
      • ミックスインスタンスポリシーとcapacity-optimized配分戦略の併用で最適に動作
キャパシティリバランシングの動作確認

適切なサイジング(3本の柱)

  • AWS Compute Optimizerの紹介
    • 使用状況を分析、最適なインスタンスタイプを提案
    • これまで蓄積された様々なワークロードのベストプラクティスに基づき、機械学習技術で提供

### 本日のまとめ

  • Amazon EC2はあらゆるワークロードに対応できるインスタンスタイプを提供
  • 最新技術をSavings Plansやスポットインスタンスを活用して利用
  • 費用とキャパシティ管理はAmazon EC2 Auto Scalingで自動化
  • AWSベストプラクティスが詰まったComputeOptimizerで最適化

感想

まだまだ進化を続けるAmazon EC2サービスからサービスから目が離せません。個人的には、Amazon EC2 Auto Scalingの導入がクラウド活用の一つの最適解だと考えています。