必見！クラウドプラクティショナーの出題範囲のサービスを一枚にしました


---
クラウドプラクティショナーは入門クラスの資格ではありますが、ITの基礎知識が必要なだけでなく、結構多数のAWSサービスが出題範囲になっています。試験ガイドに記載のあるサービスは**約60個！**（文末に全部記載）

結構きついと思いますので、少しでも覚えやすくするために、ストーリーのある構成図にしてみました。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/493be8ab-c925-3d44-76fa-0222421ebabf.png)

:::note
PDFでまとめた資料はこちらから入手可能です。
[こちら](https://moritalous.pages.dev/02a2e680204fe12c7918)
:::


---

# 1. High Availability Web System

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/ddb98017-b0de-6b25-ae6a-40326a67ccb6.png)

まずは一般的なWebシステムを題材としました。Availability Zoneやリージョン、マルチAZなども組み込みました。

細かい線を引くと分かりづらくなったので引いてないのですが、RDS、Elasticache（エラスティックキャッシュではなくエラスティキャッシュです）、下段の4つのサービスはいずれもEC2から接続する想定です。

上段のネットワーク系のサービスはAWSだから必要なサービスではなく、一般的なスキルとして必要なものですので、この機会に覚えましょう（DNS/証明書/CDN/WAF/DDoS対策）


# 2. Compute
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/a69fdfd9-02b9-0345-8040-a63042c69ba4.png)

構成図化はせず、それそれのサービスの違いを表現しました。

EC2/Beanstalk/Lambdaはそれぞれユーザーが管理しないといけない部分が変わってきます。管理が必要というとデメリットのようですが、それだけ自由にできるということでもあります。Lambdaは管理が不要な反面できることが限られます。

右側のBatchとLightsailは左の3つとは趣の異なるサービスなので、区切り線を書きました。Batchはジョブの管理をするサービスでBatch自体がコンピューティングリソースを持っているわけではなく、EC2にバッチジョブを実行させる管理部分を担います。

LightsailはVPSのサービスで、固定費用で使えることが最大のメリットです。実は裏側ではAWSのサービスでできているのですが、それを意識しないで使えるようになっています。


# 3. Container
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/0b4a6881-ad13-2a84-9c50-017f50706712.png)

次はコンテナです。大きくコントロールプレーンとデータプレーンがあります。コンテナ自体を実行する環境ではなく、コンテナをどこでどう実行するかを管理する部分になります。データプレーンはコンテナが実行される環境です。

コントロールプレーンはECS(Elastic Container Service)とEKS(Elastic Kubernetes Service)があります。ECSはAWSが作ったコントロールプレーンでEKSはオープンソースのKubernetesのコントロールプレーンです。どちらを使うかはユーザーが選べます。

データプレーンは2つあり、EC2を使用するものとFargateを使用するものです。EC2をデータプレーンにするとOSのパッチ適用やスケーリングなどの管理作業が必要となります。Fargateはサーバーレスなので実行されるOSの管理は不要です。ただし、Fargateでできないこともあり、例えばGPUを使用することができません。


# 4. Private Network Connection
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/c5c8e753-f42f-b5fe-de7e-944b57e57bab.png)

次はオンプレ環境とAWSを接続する想定で作成しました。専用線接続にはDirect Connectを使用します。クラウドをファイルストレージとして使用する想定でStorage GatewayとS3、アーカイブとしてGlacier（今はS3 Glacier Flexible Retrievalが正式名称っぽいです。コロコロ名前が変わります）を構成しました。

S3に溜まったファイルの利用例としてRedshiftを配置し、バックアップも一元管理するイメージとしました。

オフィスでの利用を想定するとWorkspacesの出番もここかと思い配置しました。


# 5. IoT
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/def73f0e-8d1d-b8ad-03b9-cee4a9c90ebc.png)

IoTはサーバーレスのサービスが沢山出てきます。（丸暗記にピッタリ？？）

IoT Coreは試験範囲ではないのですが、出発点として記載しました。IoT Coreで受けたIoTデータをKinesis Data StreamsとKinesis Data Firehoseで受け取ります。Data Streamsはストリームデータを格納してくれるので後続処理（ここではLambda）で読み取って処理を行います。Data Firehoseは格納したデータを自動的にアウトプットしてくれます。ここではS3へ出力していますが、Redshiftに自動で登録することも可能です。Video Streamsは、こういうものもあるんだと言う感じで配置しました。（他にKinesis Data Analyticsというものもありますが図には載せませんでした。）

AthenaはS3に保管されているファイルの中身に対してSQLでクエリーをかけることができます。S3には大量のファイルが格納されることが多いので、検索できると便利です。

溜まったデータをグラフで可視化するサービスがQuickSightです。QuickShgitは様々なところからデータを取得してグラフ化ができます。

Webシステムの図ではRDSを配置したので、こちらの図はAuroraにしました。AuroraにはサーバーレスのタイプもあるのでIoTには相性がいいかなと思いました。


# 6. Serverless Event Driven
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/0d52bc87-3a2f-7ae7-a697-8d8ba3d68550.png)

実は残り物のアイコンで無理やり作ったのですが、S3にファイルが格納されたらイベント駆動でEventBridge、SQS、Lambdaと次々数珠つなぎで処理が行われます。もっと利用すべきユースケースがありそうですが。。


# 7. Developer Tool
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/3b6376f7-e0f7-373f-a309-5580588abc86.png)

開発者向けツールです。青いアイコンのものはすべてCodeで名前が始まるのでコードシリーズと呼ばれます。（逆に名前が似てて初学者にはつらいですね）

「コミットしたソースコードをビルドしてデプロイする」の流れを実現するそれぞれのサービスがあって、流れ（パイプライン）を管理するサービスがあります。CodeStarは、、Starです。覚えてください。

AWSの重要なサービスでCloudFormationがあります。インフラをコード（JSONやYAML）で管理ができるようになるので、同じ環境を簡単に複製することもできるし、前回との差分が明確になるなど、クラウドの価値の一つです。IaC（Infrastructure as Code）と呼ばれます。


# 8. Mobile Backend
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/497bd14e-b988-d3c8-5bf8-707e85f7c1b5.png)

スマートフォン向けアプリのバックエンドの想定です。スマートフォンのアプリはフロントエンド側がネイティブアプリとして作成され、バックエンドサーバーはAPIの形で構成することが多いです。サーバーレスなAPIを作る際の鉄板構成がAPI Gateway、Lambda、DynamoDB、Cognitoです。

スマートフォン向けの通知を想定してSNSを配置しました。SNSはプッシュ通知やSMSでの通知、メールでの通知ができます。


# 9. Security
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/2cb19771-e302-c047-394c-42a4b580ec93.png)

セキュリティサービスは数が多く、所見で覚えるのは大変だと思います。

Macie、Inspector、Detective、GuardDutyはどれもセキュリティリスクが無いかチェックするサービスですが、チェック対象が異なります。チェック対象のサービスを横に配置したので、少しでも覚えやすくなればいいなと思います。

IAMはマネジメントコンソールのログインに使用するユーザー、Artifactはコンプライアンスレポート、CloudHSMはハードウェアセキュリティモジュールです。丸暗記してください。すいません。


# 10. Management
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/3c2d4af5-7041-c527-3a72-ada53e82b949.png)

もう半分力尽きてるですが、マネジメント系もサービスが多いし違いがわからないと思います。

CloudTrailはAPIの利用状況を記録するのですが、AWSの操作はすべてAPIで行われます。EC2の作成や起動、削除もですし、S3にファイルを格納するのも取得するのも全てAPIです。これらをCloudTrailで記録することで、後から誰が何をしたかを追いかけることができます。このAPI操作をGuardDutyがチェックすることでAWSアカウントへの不正な動作を検出できるんですね。

ConfigはAWSの「状態」を記録しておいてくれます。こういう設定のEC2があります。「何月何日に誰がこのEC2の設定を変更しましたということがわかります。他に検知した変更を自動で修復することもできます。例えば「セキュリティグループでSSHのポートを許可した状態を検知すると、自動で禁止に変更する」などが可能です。

Managed Servicesは他のサービスと比べてもかなり特殊で、「AWSの保守要員にAWS環境の保守管理を委託する」サービスです。ソフトウェアでなにか機能を提供してくれるわけではないです。


# 11. Financial Management
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/7fab6c62-da31-7187-9b79-d3fc45607e64.png)


料金関連です。AWSは従量課金制なので、予期せぬ利用料が発生してしまう可能性がありますが、Budgetsで予算を決めておくと、この予算を超えた場合や予算の50%を超えた場合などのルールで、通知をしてくれます。

Cost & Usage Reportは利用料が見れます。明細が確認できるだけでなく、グラフで表示したりすることも可能です。


# 12. Contact Center
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/20760dcc-b04b-c8ec-34ba-9bbb71bcc378.png)

最後はConnectです。コンタクトセンターを簡単に構築できるサービスです。「XXのかたは1を、XXのかたは2を押してください」みたいなものも簡単に構築できます。


---

以上、途中から少し改良の余地はありますが、一通り完成しました！

試験がんばってください！

:::note
PDFでまとめた資料はこちらから入手可能です。
[こちら](https://moritalous.pages.dev/02a2e680204fe12c7918)
:::