DEA / ドメイン3 データ運用とサポート

サーバーレスとプロビジョニングのトレードオフ

AWS の多くのデータサービスには、容量を自分で決めて確保する「 (プロビジョンド)」の形と、容量を意識せず使った分だけ払う「」の形があります。さらに、AWS が運用を引き受けると、 の上に自分でソフトウェアを入れて運用するアンマネージドの形もあります。

DEA では、負荷の予測しやすさ、コスト、運用負荷、細かい設定の自由度から、どちらの形を選ぶかを説明できることが問われます。

Point
  • Provision = 用意する、供給する の意味です。プロビジョンドは「前もって容量を用意しておく」形です。
  • Serverless は「サーバーがない」のではなく、「サーバーの用意と管理を利用者がしなくてよい」形です。
  • Managed = 管理された の意味で、マネージドサービスは AWS がパッチ適用、障害時の置き換え、バックアップなどを引き受けるサービスです。
  • 和訳

概要

選び方の軸は、「負荷が予測できるか」と「どこまで自分で制御したいか」です。

概要の図 はい、常に高い いいえ、変動が大きい・断続的 いいえ はい、どうしても ワークロードの性質 負荷は一定で予測できる? プロビジョンド容量を確保し単価を下げる サーバーレス使った分だけ・自動で増減 細かい設定や独自ソフトが必要? マネージドサービス EC2 上で自前運用運用負荷が大きい
観点プロビジョンド
容量の決め方自動で増減します自分でノード数やサイズを決めます
課金使った処理量や時間に応じて払います。使わない時間は (基本的に) 払いません確保した容量に対して、使っていなくても払います
向く負荷断続的、変動が大きい、予測できない一定で高い、予測できる
運用負荷低いサイズの見直しやスケーリングの設定が必要です
細かい制御選べる設定が少ないインスタンスの種類や設定を細かく選べます
起動の速さ最初の実行で起動の待ちが出ることがあります常に起動しているため待ちがありません

主要技術

①サービスごとの比較 ⚠️ 頻出

サービスプロビジョンドの形の形選び方
プロビジョンドクラスター (RA3 のノード数を指定)。予約ノードで割引を受けられますRedshift Serverless。 (Redshift Processing Unit) の使用時間で課金され、クエリがないときは処理の課金がありません24 時間ずっと高い負荷ならプロビジョンド+予約、日中だけや不定期の分析ならサーバーレス
EMR on (インスタンスの種類、スポット、ブートストラップ、 への接続を細かく制御)EMR Serverless (アプリケーションを作り、ジョブを投げるだけ。事前に初期化した容量で起動の待ちを減らせます)クラスターの細かい設定や独自のソフトが必要なら EC2、運用を減らしたいならサーバーレス
プロビジョンド (ブローカーの数とサイズ、ストレージを指定)MSK Serverless (容量の管理が不要) の設定を細かく調整したい、非常に大きな負荷ならプロビジョンド、変動する負荷で運用を減らしたいならサーバーレス
プロビジョンドモード (数を指定)モード (シャードを自動で管理)流量が予測できるならプロビジョンド、予測できない・新しいワークロードならオンデマンド
プロビジョンドキャパシティ (読み書きの容量を指定、自動スケーリング可)オンデマンドキャパシティ (リクエストごとの課金)安定した負荷ならプロビジョンド、急な増減や予測不能ならオンデマンド
での分析Redshift のプロビジョンドクラスター、 のプロビジョンドキャパシティAthena (スキャン量の課金)、Redshift Serverlessたまのアドホックなクエリなら Athena、頻繁で重い集計なら Redshift
EMR on EC2 (ワーカーの使用時間の課金)、EMR Serverless運用を減らしたいなら Glue / EMR Serverless

⚠️ 頻出: 「月末だけ、または不定期に分析し、それ以外は使わない」「運用負荷を最小に」はサーバーレス (Redshift Serverless、Athena、EMR Serverless)、「24 時間一定の高い負荷で、コストを最小に」はプロビジョンドと予約 (またはスポット) の組み合わせです。


②マネージドサービスとアンマネージドサービス

同じソフトウェアでも、AWS ので使うか、 に自分で入れて使うかを選べます。

観点マネージドサービス (例: 、、、、)アンマネージド (EC2 の上で 、、Hadoop などを自前運用)
構築とパッチ適用AWS が行います自分で行います
障害時の置き換え、可用性AWS がマルチ の構成や置き換えを用意します自分で設計し、監視して対応します
バックアップと監視組み込みの機能を使えます自分で仕組みを作ります
設定の自由度AWS が許す範囲に限られます やソフトウェアのすべてを自由に変えられます
責任の範囲利用者はデータ、アクセス権、設定に集中します ()OS より上のほぼすべてが利用者の責任です
との統合IAM で認証・認可できるものが多いですソフトウェア独自の認証を自分で管理します

試験の問題文に「運用のオーバーヘッドを最小に」「パッチ適用の手間をなくしたい」とあれば、マネージドサービス (さらに) を選びます。「特定のバージョンや独自のプラグインが必須で、マネージドサービスでは対応できない」場合に限り、EC2 での自前運用を考えます。


③コストの比べ方

状況有利な形理由
1日に数回の短いジョブ使わない時間の課金がありません。
常に高い使用率プロビジョンド + 予約 / 単価が下がり、使用率が高いほど得になります。
中断してよいバッチ処理 on の (タスクノード)大きな割引を受けられます。
負荷の予測ができない新しいサービスサーバーレス / 容量の見積もりの失敗 (過剰・不足) を避けられます。
スキャン量が大きく、頻繁なクエリ (またはプロビジョンドの容量)スキャン量の課金が積み重なると割高になります。

サーバーレスは「使った分だけ」ですが、常に高い負荷で使い続けると、確保した容量より高くなることがあります。逆に、プロビジョンドは使用率が低いと、確保した容量の大部分が無駄になります。

Redshift Serverless のまま常に一定量の を使い続けている場合は、サーバーレス予約 (1 年または 3 年の期間で RPU の量を約束する割引) を購入できます。予約した RPU が先に使われ、超えた分はオンデマンドの料金になります。割引の幅は、プロビジョンドクラスターの 3 年の予約ノードの方が大きくなります。


④性能と制御の違い

観点で気をつける点プロビジョンドで気をつける点
起動の待ち初回の起動 (コールドスタート) で数秒から数分の待ちが出ることがあります。 Serverless の事前初期化した容量などで減らせます常に起動しているため待ちはありません
上限サービスごとの上限 (数、最大容量) の範囲で自動で増減します自分で決めた容量が上限です。足りなければ手動や自動スケーリングで増やします
細かな調整インスタンスの種類などを選べないことが多いですインスタンスの種類、ストレージ、設定を細かく調整できます

試験対策

①判断マトリクス

問題文のキーワード選ぶ形理由
不定期・断続的な分析、使わない時間は払いたくない Serverless / 使った分だけの課金です。
24 時間一定の高い負荷、コスト最小Redshift のプロビジョンドクラスター + 予約ノード高い使用率で単価が下がります。
のジョブを、クラスター管理なしで Serverless / クラスターの用意と停止が不要です。
EMR で独自のソフトや の設定が必要EMR on ブートストラップやインスタンスの種類を制御できます。
ストリームの流量が予測できない のモード / Serverless容量を自動で管理します。
パッチ適用や障害対応の運用をなくしたいAWS が運用を引き受けます。
マネージドサービスにない独自の設定が必須EC2 での自前運用自由度は高いが運用負荷も高くなります。

②よくある誤答

  • なら常に安いと考えること。常に高い負荷では、プロビジョンドと予約の方が安くなることがあります。
  • 「運用負荷を最小に」という条件で の自前運用を選ぶこと。やサーバーレスを選びます。
  • サーバーレスでは性能を制御できないと考えること。 Serverless の基本容量、 Serverless の事前初期化など、調整の手段はあります。

参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください