AWSクラウドプラクティショナー資格取得に向けた学習の記録、第4弾です!
今回は、力試しに挑戦した模擬試験の結果から、見事に間違えてしまった問題にフォーカスして、徹底的に復習していきます。悔しいですが、この「なぜ間違えたか?」を理解することが、合格への一番の近道のはず!
それでは、復習スタートです!
間違い①:EC2購入オプションの選択
あなたは短期的なウェブサイト用に一週間だけサーバーを利用する予定です。どのEC2インスタンスの購入オプションを選択すればよいでしょうか。
- 正解:オンデマンドインスタンス
- 私の回答:スケジュールドリザーブドインスタンス
なぜ間違えたか?
「一週間だけ」というキーワードから、「期間が決まっているなら、スケジュールを予約する方が安いのかな?」と短絡的に考えてしまいました。
正しい理解
EC2インスタンスの購入オプションは、それぞれに得意な利用シーンがあります。
-
オンデマンドインスタンス:
- 特徴: 使いたい時に使いたい分だけ、秒単位で利用できる最も基本的なオプションです。
- 得意なこと: 短期間の利用や、需要が予測できないアプリケーションに最適です。「とりあえず1週間だけ使いたい」という今回のケースでは、これが最も費用対効果が高くなります。
-
リザーブドインスタンス:
- 特徴: 1年または3年の長期利用を「予約」することで、オンデマンドに比べて大幅な割引を受けられます。
- 得意なこと: 常に稼働している本番環境のWebサーバーなど、利用期間が明確に決まっている場合にコストを削減できます。
-
スポットインスタンス:
- 特徴: AWSが使っていない余剰リソースを、非常に安い価格で利用できます。ただし、AWS側の都合でいつでも中断される可能性があります。
- 得意なこと: 大規模なデータ分析など、中断されても問題ない処理に最適です。
-
スケジュールドリザーブドインスタンス:
- 特徴: 毎日、毎週、毎月など、定期的に繰り返すバッチ処理などのために、特定の時間帯を予約するオプションです。
- 得意なこと: 「毎日深夜1時から3時まで処理を動かす」といった定期的なタスクに使います。
今回の「一週間だけ」という一回限りの短期利用には、オンデマンドインスタンスが正解でした。しっかり使い分けを覚えます!
間違い②:リージョンに設置されるサービス
次のAWSサービスのうちで、Availability Zoneを指定せず直接にリージョンを指定して設置されるサービスはどれでしょうか?
- 正解:Amazon S3
- 私の回答:Amazon RDS
なぜ間違えたか?
RDSもEC2も、AZを指定して作成するイメージが強かったため、消去法で考えてしまいました。S3がリージョンレベルのサービスであることを、明確に理解できていませんでした。
正しい理解
AWSのサービスには、どのレベルで提供されるかという「スコープ」の概念があります。
-
グローバルサービス:
- 例: IAM, Route 53, CloudFront
- 特定のリージョンに属さず、全世界で共通して利用できるサービスです。
-
リージョナルサービス (AZを指定しない):
- 例: Amazon S3, DynamoDB
- サービス自体は特定のリージョンに存在しますが、その中で複数のAZに自動的にデータが複製され、高い耐久性を持っています。私たちがAZを意識する必要はありません。
-
AZサービス (AZを指定する):
- 例: Amazon EC2, Amazon RDS, ELB
- これらは、VPCの中の特定のAZを指定してリソースを作成します。冗長性を持たせるためには、私たち自身で複数のAZにリソースを配置する(マルチAZ構成)必要があります。
S3は、私たちが何もしなくても、裏側で勝手に複数のAZにデータをバックアップしてくれている、とても賢くて頑丈なサービスなんですね。
間違い③:リアルタイム高速DB
ある企業は、AWS上に新しいウェブアプリケーションを開発しています。 このアプリケーションでは、ミリ秒単位のリアルタイムな高速処理に利用可能なデータベースが必要です。どのAWSサービスを利用すればよいでしょうか。
- 正解:Amazon ElastiCache
- 私の回答:Amazon EBS
なぜ間違えたか?
「高速処理」という言葉に釣られて、「高速なディスクなら大丈夫だろう」と、ストレージサービスであるEBSを選んでしまいました。データベースの役割を正しく理解していなかったのが原因です。
正しい理解
「ミリ秒単位のリアルタイムな高速処理」というキーワードが出てきたら、インメモリデータベースを疑うのがセオリーです。
-
インメモリデータベースとは?:
- ハードディスクやSSDのようなストレージではなく、コンピューターのメインメモリ(RAM)上にデータを保存するデータベースです。
- ディスクへの読み書きが発生しないため、桁違いに高速なデータアクセスが可能です。
-
Amazon ElastiCache:
- AWSが提供する、フルマネージドのインメモリデータベースサービスです。RedisやMemcachedといった有名なインメモリデータベースエンジンを利用できます。
- よく使われるデータの検索結果を一時的に保存(キャッシュ)しておくことで、データベースへの負荷を減らし、アプリケーション全体の応答速度を劇的に向上させます。
EBSはEC2インスタンスに接続する「ディスク」であり、ElastiCacheは高速な読み書きを実現する「データベース」の一種。役割の違いをしっかり区別することが大切ですね。
まとめ(前編)
今回は、EC2の購入オプション、サービスのスコープ、そしてデータベースの種類という、基本的ながら非常に重要な3つのテーマで間違えてしまいました。
- EC2オプション: 用途と期間に応じて最適なものを選ぶ!
- サービスのスコープ: グローバルか、リージョンか、AZか、を意識する!
- データベース: 「高速リアルタイム」ならインメモリDB(ElastiCache)!
悔しい気持ちをバネに、次回(後編)も間違えた問題としっかり向き合っていきます!🚀