「CPU 使用率が低いのだから、サイズを1つ小さくすればコストが下がるのでは、と考えてしまいます」
「リザーブドインスタンスで安くするのも、コスト最適化の方法のはずなのに、なぜ違うのか分かりません」
AWS Certified Cloud Practitioner(試験コード CLF-C02。以下 CLF)では、指標(CPU とメモリの使用率)を読んで、適切なサイズ設定の考え方に沿った対応を選ぶ問題がよく出ます。サイズを小さくするだけでなく、インスタンスのファミリー(CPU とメモリの比率が違う種類)まで見直すことが、決め手になります。
この記事は、CLF の練習問題を1問ずつ解説する連載の第17問です。問題は筆者が試験の範囲に合わせて作ったもので、実際の試験の問題ではありません。まず自分で答えを選んでから、解説を読んでください。
▶ この回の内容は、YouTube の動画(約5分)でも見られます(記事の最後にも埋め込んであります)。
問題
ある企業は、汎用インスタンスで社内のアプリケーションを動かしています。Amazon CloudWatch で3か月分の指標を確かめたところ、CPU 使用率は常に 10% 未満でしたが、メモリ使用率は常に 85% を超えていました。適切なサイズ設定の考え方に沿った対応はどれですか。
- A. 今のインスタンスタイプのまま、3年のリザーブドインスタンスを購入する
- B. コンピューティング最適化インスタンスに変更する
- C. 汎用インスタンスのまま、1つ小さいサイズに変更する
- D. メモリ最適化インスタンスの、vCPU の少ないサイズに変更する
答えを決めたら、下を開いてください。
正解を見る(クリックで開きます)
正解:D
CPU が余りメモリが足りないので、vCPU に対してメモリが多いメモリ最適化インスタンスの、vCPU の少ないサイズが合います。適切なサイズ設定は、ファミリーとサイズの両方を、使われ方に合わせて選び直すことです。
正解は D
正解は D です。
- 今のインスタンスは、CPU が余っていて、メモリが足りなくなりそうな状態
- メモリ最適化インスタンスは、vCPU に対してメモリが多いファミリーなので、この使われ方に合う
ここから、選択肢を1つずつ見ていきます。
選択肢ごとの解説
A:リザーブドは構成を固定する買い方(誤り)

図の左は、今のインスタンスです。枠が持っている量、塗りが使っている量で、CPU は10%未満、メモリは85%を超えています。
リザーブドインスタンスは、インスタンスファミリーやリージョンなどの構成を決めて、1年または3年の利用を約束し、割引を受ける買い方です。使わなくても料金はかかります。単価は下がりますが、CPU が余り、メモリが足りない構成のまま、長く固定してしまいます。これは買い方の工夫で、サイズ設定の見直しではありません。
B:コンピューティング最適化は逆(誤り)

コンピューティング最適化インスタンスは、メモリに対して vCPU が多いファミリーで、計算の多い処理に向いています。今回は、CPU が余っていて、メモリが足りないという使われ方です。図のように、CPU はさらに余り、メモリは足りなくなります。使われ方とは、逆の選び方です。
C:小さくするとメモリも減る(誤り)

同じ汎用のファミリーで1つ小さいサイズにすると、vCPU とメモリが一緒に減ります。CPU の余りは減りますが、メモリは、すでに85%を超えています。図のように、使う量が持っている量からはみ出して、メモリが足りなくなります。サイズだけを見て小さくすると、こうした失敗が起こります。
D:メモリ最適化で vCPU を減らす(正解)

メモリ最適化インスタンスは、vCPU に対してメモリが多いファミリーです。その中で vCPU の少ないサイズを選ぶと、図のように、余っている CPU を減らしながら、必要なメモリは確保できます。
適切なサイズ設定(ライトサイジング)は、実際の使われ方に合わせて、インスタンスのファミリーとサイズを選び直すことです。サイズだけでなく、ファミリーも見直す。これが今回の決め手です。
インスタンスファミリーの違い
今回出てきた3つのインスタンスファミリーを、CPU とメモリの比率と向いている処理で整理しておきます。
| ファミリー | CPU とメモリ | 向いている処理 |
|---|---|---|
| 汎用 | バランスがよい | Web サーバー・コードリポジトリなど |
| コンピューティング最適化 | メモリに対して vCPU が多い | バッチ処理・メディアの変換・HPC など、計算の多い処理 |
| メモリ最適化 | vCPU に対してメモリが多い | 大きなデータをメモリ上で処理する |
適切なサイズ設定は、ファミリーとサイズの両方を見ます。AWS Compute Optimizer も、指標から合うインスタンスタイプの推奨を出してくれます。ただし、メモリの使用率の分析には、CloudWatch エージェントを入れておく必要があります。
ポイント
- CPU が余り、メモリが足りない → メモリ最適化 の、vCPU の少ないサイズ
- 同じファミリーで小さくすると、メモリも一緒に減る
- リザーブドインスタンスは 割引を受ける買い方。サイズ設定の見直しではない
- 適切なサイズ設定=ファミリー と サイズ の両方を見る
適切なサイズ設定の考え方と、EC2 のインスタンスファミリーの違いは、講座の記事で詳しく解説しています。
- 【AWS クラウドプラクティショナー試験対策講座 第02回③】クラウドエコノミクス
- 講座の第04回②「Amazon EC2」(連載の入口のページから)
講座の全14回は、連載の入口のページから順に読めます。
動画で見る
この回の内容を、YouTube の動画(約5分)でも解説しています。
連載の全回は、YouTube の再生リスト「CLF-C02 試験対策問題」にまとめています。
連載「CLF-C02 試験対策問題」
全回の目次と、読む順番・目的別の読み方は、CLF-C02 試験対策問題の入口のページにまとめています。
- 第1問 初期費用をかけずに始めるコストの利点(従量課金・規模の経済)
- 第2問 数分でグローバルに展開(世界同時公開と低い遅延)
- 第3問 高可用性(EC2 の複数 AZ 配置と RDS マルチ AZ)
- 第4問 クラウドの俊敏性(数分で作成・すぐに削除)
- 第5問 責任共有モデル(EC2 へのリホストで AWS に任せられること)
- 第6問 数時間だけのアクセスのピークに備える(EC2 Auto Scaling・オンデマンド)
- 第7問 Well-Architected の6つの柱(信頼性・パフォーマンス効率)
- 第8問 信頼性の柱の設計原則(自動で復旧・水平方向のスケール)
- 第9問 持続可能性の柱の設計原則(使用率の最大化・マネージドサービス)
- 第10問 AWS CAF の変革ジャーニーのフェーズ(構想・連携・ローンチ・スケール)
- 第11問 AWS CAF のパースペクティブ(構成管理・パッチ管理はオペレーション)
- 第12問 移行のビジネスケース(Migration Evaluator)
- 第13問 AWS CAF のパースペクティブ(役割と組織の変化は人材)
- 第14問 サーバーをそのまま EC2 に移す(AWS Transform MGN)
- 第15問 ファイルの移行(AWS DataSync)
- 第16問 移行戦略の7つの R(リパーチェス・SaaS への乗り換え)
- 第17問 適切なサイズ設定(CPU は余り、メモリが不足)(この記事)
- 第18問 責任共有モデル(Lambda と RDS)
- 第19問 最小権限の原則(IAM のポリシーと SCP)
- 第20問 責任共有モデル(EC2 と S3、AWS の責任)
- 第21問 共有統制の例(責任共有モデルの IT 統制)
- 第22問 コンプライアンスの資料と契約(AWS Artifact)
- 第23問 脅威の検出(Amazon GuardDuty)
- 第24問 脆弱性の継続的なスキャン(Amazon Inspector)
- 第25問 S3 の機密データの検出(Amazon Macie)
- 第26問 S3 の保管時の暗号化とキーの管理
- 第27問 だれが操作したかを調べる(AWS CloudTrail)
- 第28問 IAM ユーザーの認証情報の一覧(認証情報レポート)
- 第29問 EC2 のアプリケーションに権限を与える(IAM ロール)
- 第30問 データベースのパスワードの自動ローテーション(AWS Secrets Manager)
- 第31問 社員に一時的な認証情報を発行するサービス(AWS STS)
- 第32問 ルートユーザーでなければできない作業(アカウントの閉鎖・メールアドレスの変更)
- 第33問 アプリの会員のサインインとソーシャルログイン(Amazon Cognito)
- 第34問 同じ IP からの大量のリクエストを止める(AWS WAF のレートベースのルール)
- 第35問 追加料金なしの DDoS 保護(AWS Shield Standard)
- 第36問 他社のソフトウェアを AMI で使う(AWS Marketplace)
- 第37問 インストールなしでブラウザから AWS CLI を使う(AWS CloudShell)
- 第38問 同じ構成の環境をコードで何度でも作る(CloudFormation・CDK)
- 第39問 工場の中で AWS のサービスを動かすには(AWS Outposts)
- 第40問 世界の利用者の近くでキャッシュして配信(Amazon CloudFront)
- 第41問 コードを上げるだけで Web アプリを動かすサービス(AWS Elastic Beanstalk)
- 第42問 サーバーを管理せずにコンテナを動かす(AWS Fargate)
- 第43問 URL のパスで振り分けるロードバランサー(Application Load Balancer)
- 第44問 つながりを何段もたどるグラフデータベース(Amazon Neptune)
- 第45問 RDS の自動フェイルオーバーと読み取りの分離(マルチ AZ・リードレプリカ)
- 第46問 サーバーの管理なしにアクセスの増減に合わせるデータベース(Amazon DynamoDB)
- 第47問 セキュリティグループの特徴(ステートフル・インスタンス単位)
- 第48問 障害のときだけ別のリージョンへ DNS で切り替え(Route 53 のフェイルオーバールーティング)
- 第49問 今あるインターネット回線で、すぐに暗号化してつなぐ(AWS Site-to-Site VPN)
- 第50問 一部の管理者だけは解除できる削除の保護(S3 オブジェクトロックのガバナンスモード)
- 第51問 めったに見ないがミリ秒で開く画像の保管(S3 Glacier Instant Retrieval)
- 第52問 Windows のファイルサーバーを移す(Amazon FSx for Windows File Server)
- 第53問 案内文を翻訳して音声で読み上げる(Amazon Translate と Amazon Polly)
- 第54問 S3 のデータをカタログにして SQL で照会(AWS Glue と Amazon Athena)
- 第55問 依頼をためて、受け付けた順に1回だけ処理(Amazon SQS の FIFO キュー)
- 第56問 設備を買わずに電話とチャットの窓口を作る(Amazon Connect)
- 第57問 EC2 と自社のサーバーに少しずつ配置し、失敗したら戻す(AWS CodeDeploy)
- 第58問 アプリだけをブラウザに配信(WorkSpaces Applications・旧 AppStream 2.0)
- 第59問 コア単位のライセンスを持ち込み、同じ物理サーバーで動かす(EC2 の専有ホスト)
- 第60問 EC2・Fargate・Lambda と夜間のバッチのコスト削減(Compute Savings Plans・スポット)
- 第61問 管理者も外せないリージョンの制限と、請求書の一本化(AWS Organizations の SCP)
- 第62問 1つのアカウントの料金をプロジェクトごとに分ける(コスト配分タグ)
- 第63問 料金のグラフと予算超えの通知(Cost Explorer・Budgets)
- 第64問 アカウントを作る前に料金を見積もる(AWS Pricing Calculator)
- 第65問 ベストプラクティスに合わない所を自動で見つける(AWS Trusted Advisor)
- 第66問 AWS 側の保守の予定を前もって知る(AWS Health Dashboard)
- 第67問 アクセスに合わせて台数を自動で増減する(Amazon EC2 Auto Scaling)
- 第68問 パフォーマンス効率の柱の設計原則(高度なテクノロジー・グローバル展開)
- 第69問 移行戦略の7つの R(リタイア・使われていないアプリを停止)
- 第70問 AWS CAF のパースペクティブ(支出とデータの統制はガバナンス)
- 第71問 ライセンスを持たずに SQL Server を使う(RDS のライセンス込み)
- 第72問 EC2 と自社のサーバーのパッチを自動で当てる(AWS Systems Manager Patch Manager)
- 第73問 障害の教訓を共有し、運用の手順を見直す(運用上の優秀性の設計原則)
- 第74問 設定の履歴を記録し、社内ルールに合わないリソースを「非準拠」にする(AWS Config)
- 第75問 S3 へのアップロードごとに短い処理をサーバーレスで動かす(AWS Lambda)
- 第76問 12のアカウントと SaaS に1回でサインイン(AWS IAM Identity Center)
- 第77問 インターネットを通らずに、帯域とレイテンシーを安定させる(AWS Direct Connect)
- 第78問 途中でファミリーを変え、前払いできない RI の選び方(コンバーティブル・前払いなし)
- 第79問 セキュリティの検出結果を集めて設定もチェック(AWS Security Hub CSPM)
- 第80問 AWS CAF のパースペクティブ(イノベーションとデータの収益化はビジネス)
- 第81問 特定の IP アドレスの範囲を、サブネットの入り口で拒否する(ネットワーク ACL)
- 第82問 組織の外と共有・一般に公開されているリソースを一覧にする(IAM Access Analyzer)
- 第83問 複数の AZ の EC2 から NFS で同じファイルを共有する(Amazon EFS)
- 第84問 ルートユーザーの守り方と日常の作業(MFA・IAM Identity Center)
- 第85問 一括請求の料金の利点(ボリューム料金の階層・リザーブドインスタンスの割引の共有)
- 第86問 数ペタバイトの販売データをまとめて毎日集計する(Amazon Redshift)
- 第87問 OS のパッチを自社で当てなくてよい移行先(Amazon RDS・AWS Lambda)
- 第88問 移行戦略の7つの R(リプラットフォーム・VM をコンテナにして ECS と Fargate へ)
- 第89問 GPU の学習と CPU のバッチ処理に合うインスタンスファミリー(高速コンピューティング・コンピューティング最適化)
- 第90問 アプリのエラーの件数と CPU 使用率をしきい値で見張り、E メールで知らせる(Amazon CloudWatch)
- 第91問 1回の発行で SQS・Lambda・E メールに届ける(Amazon SNS のトピック)
- 第92問 部署の人の権限を追加料金なしでまとめて管理(IAM ユーザーグループ)
- 第93問 最も詳しいコストのデータを S3 へ(AWS Data Exports の CUR 2.0)
- 第94問 視聴履歴とクリックから利用者ごとの動画のおすすめ(Amazon Personalize)
- 第95問 攻撃中の専門チームの支援と DDoS のコスト保護(AWS Shield Advanced)
- 第96問 AWS CAF のトランスフォーメーションの分野(業務のデジタル化はプロセス)
- 第97問 パブリックとプライベートのサブネットに必要な部品(インターネットゲートウェイ・NAT ゲートウェイ)
- 第98問 SSH・コンソール・CLI の認証情報の使い分け(キーペアとアクセスキー)
- 第99問 よくある質問の解決の記事を読む(AWS re:Post のナレッジセンター)
- 第100問 設定値を階層でまとめて追加料金なしで保管(Parameter Store)

コメント