初めまして24卒の新卒の池上です。今回は初めてブログの記事を投稿するので、現在勉強しているAWS認定AWS Certified Cloud Practitioner(クラウドプラクティショナーバージョンはCLF-002)の勉強で私自身が間違えた部分やつまづいた部分、興味を持って学習した部分についてまとめてみたいと思います。
また、記載したコンテンツの補足として項目にリンクしたAWSのページやドキュメントへの参照リンクも記載しましたのでご活用ください。
需要があるかわかりませんが、意外と世の中にはプラクティショナー攻略に向けた勉強記事は少ないので需要は0ではないと思って書いていきます。
注意 この記事の記載は2024年5月9日現在の情報をもとに執筆したものです。最新の情報と異なる可能性がありますので、ご注意ください。
- クラウドプラクティショナーとは
- 入社時の状況
- 勉強教材・勉強方法
- AWSクラウド導入フレームワーク AWS CAF
- AWS Secrets ManagerとAWS Key Management Service (KMS)の混同
- キーペアとアクセスキー・シークレットアクセスキーの違い
- Amazon EMRとAmazon Athenaの違い
- コスト系サービスについて
- Elastic Load Balancingのロードバランサーの違い
- AWS WAFとAWS Shieldの違い
- AWS ConfigとAWS Systems Managerの違い
- 編集後記
クラウドプラクティショナーとは
参考:AWS Certified Cloud Practitioner 認定 | AWS 認定 | AWS
AWS Certified Cloud PractitionerはITベンダー試験の一種であり、AWSが設定しているベンター資格の中でも一番基本的なものです。また、後ろについているCLF-002というのは試験のバージョンの名前を指します。
私自身は最近になって勉強を始めたのでCLF-002以前のバージョンのテストについてはよくわからないのですが、AWSのサービス増加や昨今の状況を加味して前のバージョンであるCLF-001に比べてテストで扱うサービスが多くなったことや出題内容の変更などが行われました。
参考:事前告知:AWS Certified Cloud Practitioner のアップデート | Amazon Web Services ブログ
(CLF002でアップデートした内容やCLF001とCLF002で違うポイントがAWS公式から詳細にまとめられています)
入社時の状況
クラウド経験はほとんどない(AWSやGCP、Azureなどの単語は知っているレベル)
オンプレミスの経験は多少あり(ubuntuで自宅のファイルサーバーを立てる程度の経験)
クラウドに触った経験はほとんどなく、クラウド特有の概念やAWSの用語などの前提知識がない状態
勉強教材・勉強方法
【CLF-C02版】この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集(6回分390問) | Udemy
勉強教材についてはこの問題集をとにかく9割を超えるまで解くという方法で勉強を行っています。6回分のうち最初の2つが基本レベルで残り4つが本番レベルとの記載がある通り、後半4つの方が難しいです。プラクティショナーでこの量の問題が演習できる問題集はなかなかないのでプラクティショナー攻略には重要なアイテムの一つだと思います。
私がわからないところやつまづいたサービスは検証がしやすいEC2やRDSのようなメインどころのサービスよりも、検証に時間がかかり、使い道を考えないといけないようなAI系サービス、解析系サービスや新サービスなどに集中しているので、テスト向けの学習と割り切って座学にとどめており、基本的には検証環境を触って実経験を積むといった学習方法は行っていません。
ただ、動作チェックがしやすいコスト系サービスや部分的にどうしてもわからない部分などはAWSで実際に自己流で検証を行いUIやサービスがどのように動いているかの確認を行いました。
AWSクラウド導入フレームワーク AWS CAF
クラウドプラクティショナーの問題では、クラウド導入フレームワークに基づいたものを選べという問題が多く出題されており、AWSでも非常に重要な概念であるといえます。しかし、このCAFのパースペクティブは単純に数が6つと項目の数が多く、覚えるのもそれなりに大変です。また、この6つのパースペクティブの知識を活用して解く問題も存在し、単純な単語を回答する問題と異なりごまかしは効かないため、これらの問題はクラウドプラクティショナーの中では難しい部類の問題になります。
CAFのパースペクティブの一覧
- ビジネス
- 人材
- ガバナンス
- プラットフォーム
- セキュリティ
- オペレーション
aws.amazon.com 参考:AWS クラウド導入フレームワーク
なおCLFのパースペクティブを達成するのに基本的な機能がAWSの公式ドキュメントでまとめられています。 これに関しては丸暗記よりも部分的に暗記を行い、認識との差異を確認した後パースペクティブに適した機能を自分で考えながら導く方法で勉強を行いました。
参考:基本的な機能 - AWS クラウド導入フレームワークの概要
AWS Secrets ManagerとAWS Key Management Service (KMS)の混同
AWS Secrets ManagerとAWS Key Management Serviceはサービス内容は違うものの、どちらもセキュリティー系のサービスであったためたびたび間違えたました。そこで、どのように違うサービスか確認するため、マネコン上でUIを確認しました。これにより、どっちがどのサービスかというのを認識できるようになりました。
AWS Secrets Manager
AWS Secret Managerでは認証情報などの秘密情報(パスワード、APIキーやトークン、認証情報など)を保管する際に使う専用のストレージです。認証情報をローテーション(自動的に変えてくれる)ことでセキュリティーを保っています。
aws.amazon.com 参考: AWS Secrets Manager(シークレットのローテーション、管理、取得)| AWS
AWS Key Management Service (KMS)
AWS KMSではデータを暗号化・複合化するための鍵の生成・保管する際に使うサービスです。また、カスタマーマスターキーを用いてAWSリソースやデータを暗号化することが可能です。私自身は最初このサービスは暗号化用の鍵を管理するだけのサービスだと思っていていたのでリソースの暗号化もできることを学習しました。
参考:AWS Key Management Service(マネージド型の暗号化キー作成と管理)| AWS
キーペアとアクセスキー・シークレットアクセスキーの違い
AWSには様々な鍵や暗号化できるサービスが存在し、その様々な鍵やパスワード、暗号化サービスが頭の中でごちゃごちゃになったのでこの項目では特に勘違いをしていたキーペアとアクセスキー・シークレットアクセスキーについてまとめています。
キーペア
EC2インスタンスへの接続時にへの接続時に身分証明に使用する
- プライベートキー(秘密鍵)とパブリックキー(公開鍵)で構成される
- ユーザーはSSH接続を行う際に秘密鍵を使用するので、厳重な管理が必要である キーペアはRSAとED25519を使って作成することが可能です
docs.aws.amazon.com 参考:Amazon EC2 のキーペアと Amazon EC2 インスタンス - Amazon Elastic Compute Cloud
アクセスキーとシークレットアクセスキー
AWS CLIで接続する際などにアカウントの認証の際に利用される、アクセスキーは流出したときのリスクが大きいので極力アクセスキーを作成しないのが好ましいです。アクセスキーは不用意に作るとセキュリティー的にリスクが高い代物なので、実際に見る機会はなかなかなく勉強するまでは存在を知らなかったです。なお、シークレットアクセスキーは、アクセスキー作成時にのみ取得できるものです。
参考:IAM ユーザーのアクセスキーの管理 - AWS Identity and Access Management
Amazon EMRとAmazon Athenaの違い
中身はだいぶ違いますが、どちらも同じクエリサービスの一種で問題だと、クエリだからこのサービスだと安直に答えた結果誤答をしてしまったので改めて確認を行いました。またEMRに関しては全くクエリサービスとは違うコンテナ関連のサービスにECRやEKSのようなEから始まる名前のサービスがあり、学習を始めたての頃はそれと勘違いをしてしまったことがありました。
Amazon EMR
オープンソースフレームワークを使用して、ペタバイトスケールのデータ処理、機械学習を行うサービス。Apache Spark、Apache Hive、Prestoなどのエコシステムに対応しています。
aws.amazon.com 参考: Amazon EMR(Hadoopなどのビッグデータフレームワークを簡単に実行)| AWS
Apache Sparkについて(クラスタ構成に対応した分散処理システム)
aws.amazon.com 参考:Spark とは何ですか? - Apache Spark と分析の概要 - AWS
Apache Hiveについて(データウエアハウス)
aws.amazon.com 参考:Hive とは何か? - Apache Hive の説明 - AWS
Presto(PrestoDBについて)
(リレーショナルDBと非リレーショナルDBに対応した高速なSQLクエリエンジン) aws.amazon.com 参考:Presto とは何ですか? - PrestoDB の説明 - AWS
Amazon Athena
Athena は、オープンソースの Trino および Presto エンジンと Apache Sparkフレームワーク上に構築されたサーバレスのクエリサービス。S3に保存されたデータに対してSQLクエリを実行することが可能。 aws.amazon.com 参考:Amazon Athena(SQL を使用した S3 でのデータクエリ)| AWS
Trinoについて
docs.aws.amazon.com 参考:Presto と Trino - Amazon EMR
コスト系サービスについて
AWSのコスト系サービスは過去・現在問わず多くのサービスが存在し、どの用途でどのサービスを利用すればいいか理解しきるのに時間がかかりました。 また、これらサービスに関しては利用方法と利用目的がわかりやすいので実際に画面やツールを利用して使い心地やUIの差異を確認しました。
AWS Cost Explorer
コストエクスプローラーではAWSのコストと利用状況を長期に渡って視覚化することができる。デフォルトでグラフが表示されているので視認性が高いサービス。
AWS Budgets
AWS コストと使用量を追跡してアクションを取るために AWS Budgets を使用できます。AWS Budgets を使用して、リザーブドインスタンス (RI) または Savings Plans の集計使用率とカバレッジメトリクスをモニタリングできます。設定した料金に近づくとアラートが鳴らすことができるので、月当たりの利用金額上限が決まっている私自身が使う検証環境では請求量のアラートでこの機能を使用しています。
AWS pricing calculator
AWS pricing calculatorでは、環境を構築するまえに料金などの見積もりを立てたり、リージョンごとの料金を簡易的に確認するツールです。なお、簡易見積ツールというサービスもありましたが2022年にpricing calculatorに統一される形で廃止されました。古い問題集では廃止されたこの簡易見積ツールや同じく廃止されたTCO計算ツールという項目が出てくるのが注意が必要です。
AWS Cost and Usage Report(コスト利用状況レポート)
AWSのコスト分析を行う上で最も詳細なレポートで、コストにかかわる詳細な情報が多く記載されています。コスト状況レポートの生データをそのまま利用するよりもAmazon QuickSightといった可視化を行うツールと組み合わせてグラフを作成することで情報を的確に縮約し詳細な分析を行うことができます。
参考:https://docs.aws.amazon.com/ja_jp/cur/latest/userguide/what-is-cur.html:
Elastic Load Balancingのロードバランサーの違い
参考:特徴 - Elastic Load Balancing | AWS
ALB (Application Load Balancer)
現在最も最新のロードバランサーで高機能であり、L7レイヤーに対応しています。IP、インスタンス、Lambdaがターゲットで、HTTPS等のプロトコルに対応しています。加重ロードバランシングやパスルーティング機能が利用できます。 問題演習の初めはALBとNLBの違いがよくわからないかったので改めて勉強をして機能の違いの多さに驚きました。
NLB (Network Load Balancer)
ALBよりも古いタイプのロードバランサーです。L4レイヤーに対応しています。IP、インスタンス、ALBがターゲットで、TCP等のプロトコルに対応しています。ALBと異なりクロスゾーン負荷分散はデフォルトでは無効です。
AWS WAFとAWS Shieldの違い
AWS WAFとAWS Shieldはどちらもセキュリティーサービスで、どちらもDDoS攻撃を低減するサービスということで初心者としては非常に判別が難しいサービスだと思いました。しかし、この2つのサービスをよくよく観察してみると対応するレイヤーが異なったり、AWS WAFではアプリケーションの脆弱性にフォーカスしているなど大きくその性質は異なっています。
AWS WAF
AWS WAFはWebアプリケーション層(レイヤー7)の脆弱性に対処するためのサービスです。SQLインジェクションやCSRF(クロスサイトリクエストフォージェントリ)、XSS(クロスサイトスクリプティング)といったWebアプリケーションへの攻撃の検出および防止を行うサービスです。AWS WAFではAmazon CloudFrontやALB(Application Load Balancer)、Amazon API Gateway、AWS AppSyncといったサービスと連携し利用することが可能です
aws.amazon.com 参考:AWS WAF(ウェブアプリケーションファイアウォール)| AWS
AWS Shield
AWS Shieldは、レイヤー3およびレイヤー4の攻撃(IPやTCPなど)を自動的に検出し防止するサービスです。AWS WAFと連携してセキュリティーを高めることが可能です。インフラストラクチャーレイヤーに対するDDoS攻撃を防ぐ際に有効となるサービスです。
aws.amazon.com 参考:AWS Shield(マネージド型の DDoS 保護)| AWS
AWS ConfigとAWS Systems Managerの違い
私自身がAWS ConfigとAWS Systems Managerが選択肢の問題で間違いを多くしていたため、個人的に2つのサービスを調べた結果、見つけた違いについて記載をしました。 なお個人的な試験問題の解き方としては、回答がAWS Configに該当するかしないかを確認してから消去法でSystems Managerを選ぶということが多いです。また、Configに関しては監査・ルールという言葉が付くと選びやすいと思います。
AWS Config
AWS Configは、AWSリソースに対してモニタリングをするサービスです。リソースが設定しているルールに準拠しているかどうかを自動チェックするための利用されています。これによりユーザーがリソースの構成を変更した際などに確認できます。
AWS Systems Manager
AWS Systems Managerは、オペレーションハブでありAWSで利用してるインフラ(オンプレミスも含めて)を可視化し、制御できます。また、AWS ConfigやCloudTrailのような管理系アプリをまとめることができます。
編集後記
クラウドに触った経験はほとんどなく、クラウド特有の概念やAWSの用語などの前提知識がない状態で勉強を開始したので、結構大変だと思いました。また、もともと英語のサービスですので日本語訳すると表記ゆれが結構な割合で存在し、調べていくうちにちょっとずつ単語が違うので悩んでしまうこともありました。
5月14日補足
クラウドプラクティショナーに合格しました。本番ではUdemyの試験よりもネットワーク関連の問題とaws well-architected Frameworkに関する説明が多く登場し、予想していたAI系サービスに関する問題は少なかったです。また、本番の難易度とUdemyの試験問題では個人的には本番の方が難しく感じました。