AWSクラウドプラクティショナー ひとりで退屈な勉強するくらいなら、ChatGPTと進めればいいか


# はじめに
私は受験勉強をまともにしてこなかったです。勉強方法もろくに知らなかった。
だからこそ、この記事みたいな勉強方法を教えてくれるのはめちゃくちゃありがたい！！

https://dev.classmethod.jp/articles/how-to-study-to-pass-the-clf-by-onoyan/

同じように、問題から解いてそれからAWSのサイトやら、記事で勉強していました。
でも、これが退屈なんですね。そもそもあまりAWSの知識がなくて、というかWEB関連の言葉でもわからないことがたくさんあります。「エンジニア転職した人間だから許して！」3年目くらいから通じなくなりはじめそう。

まあ、とにかく知らない言葉や概念がたくさん出てくるわけで、全部自分で調べてたら時間がもったいないんです。
本当にやりたいことは資格をとることではなく、それを使って何かをすることです。

それで、会話しながら覚えるのは結構効率いいこともありそうです
そもそも、わからないこと質問できたら楽じゃないですか。
ピンポイントで聞けたら嬉しいし。じゃあ、ChatGPT使えばいいかと。

# ChatGPTで資格勉強って大丈夫？
でもChatGPTって正しいかわからないんでした。
それでもいいかと思える理由を書いてみます。

- 問題を中心に勉強するスタイルだから
- 気になるところは調べればいいから
- あくまで補助的に使用して効率を上げたいだけだから

まあ、これ仮説なんで資格とれなくても自己責任です。
実験と思って自分はやりますけど。

では根拠を一つずつ見ていきましょう。

## 問題を中心に勉強するスタイルだから
そもそも問題を特のが中心で、正しい情報は解説から一度インプットします。
それでも、何を言っているのかわからないことだらけです。だから情報を噛み砕く為に会話をします。解説と見比べてあってそうかどうかくらいの判断はできることが多いはずです。

また、問題を中心に進めるということは、間違えた情報を修正できるタイミングがたくさんあるということです。ChatGPTに教えてもらったことが間違っていて練習問題で間違えればいいと思います。その時に修正すればいい。

大事なのは情報をまとめておいて、後で混乱しないようにすることです。
「お！ここ言ってたことと違うじゃん」って修正かけましょう。

本番ではじめてそれが発覚することはないの？と自問してみます。
まあ、それは解いた問題の数が少ないんじゃないのと答えておきます。

## 気になるところは調べればいいから
逆に言うと気になる、調べてみたいというところまで気持ちを押し上げてくれると思います。

## あくまで補助的に使用して効率を上げたいだけだから
ChatGPTと会話するより、視覚的に理解できたり、よくまとまっている記事もあります。
問題を解いたあとのアクションが必ずGPTとの会話だと言っているわけではなくて、あくまで選択肢です。皆さんもChatGPTを使って効率があがる経験はたくさんしてきたでしょう。資格試験も使えそうなら使いたい。

# やってみた
### 題材
似ているサービスの勉強でもしてみようかと。

### 実践
```plaintext
[私]
AWSでeから始まる3文字のサービス全て教えてください
```


> AWSで「E」から始まる3文字のサービスは以下の2つです。
    1.	EC2（Amazon Elastic Compute Cloud）
•	仮想サーバーを提供するサービスで、必要に応じて計算リソースを柔軟に利用できます。
    2.	EFS（Amazon Elastic File System）
•	フルマネージドのファイル共有ストレージサービスで、複数のEC2インスタンスから同時にアクセス可

早速、違和感ありなやつ。

```
[私]
EKSとかECRもありますよね
```

> [GPT]
おっしゃる通りです！AWSには「E」から始まる3文字のサービスが他にもあります。以下がその一覧です。
	1.	EC2（Elastic Compute Cloud） - 仮想サーバーのサービス
	2.	EFS（Elastic File System） - マネージドファイルストレージ
	3.	EKS（Elastic Kubernetes Service） - Kubernetesのマネージドサービス
	4.	ECR（Elastic Container Registry） - コンテナイメージを保存するレジストリサービス

```
[私]
他にもあるのでは？
```

> AWSには、「E」から始まる3文字のサービスが複数存在します。以下に主要なものを挙げます。
	1.	EC2（Elastic Compute Cloud）
	•	仮想サーバーを提供するサービスで、必要に応じて計算リソースを柔軟に利用できます。
	2.	EFS（Elastic File System）
	•	フルマネージドのファイル共有ストレージサービスで、複数のEC2インスタンスから同時にアクセス可能です。
	3.	EKS（Elastic Kubernetes Service）
	•	マネージド型のKubernetesサービスで、コンテナ化されたアプリケーションのデプロイや管理を容易にします。
	4.	ECR（Elastic Container Registry）
	•	コンテナイメージを安全に保存・管理するためのマネージド型Dockerレジストリサービスです。
	5.	ELB（Elastic Load Balancing）
	•	トラフィックを複数のターゲット（例：EC2インスタンス）に自動的に分散し、アプリケーションの可用性を高めます。
	6.	EMR（Elastic MapReduce）
	•	ビッグデータ処理のためのマネージド型クラスタープラットフォームで、HadoopやSparkなどを活用したデータ解析が可能です。
	7.	ES（Elasticsearch Service）
	•	フルマネージドのElasticsearchサービスで、ログや検索、分析用途に適しています。
	8.	EBS（Elastic Block Store）
	•	EC2インスタンスにアタッチして使用するブロックストレージサービスで、高性能なストレージを提供します。

なかなか網羅してそうな感じがしてきました。これで全部じゃなくても構いません。問題をといて他のE〇〇が出てくれば、記憶をアップデートすればいいですからね。
知っているものも多いですが、いつも混乱するECRとEKSについて聞いてみることに。

```
ECRはイメージを保存するのであって、コンテナそのものは保持しないのですか？
```
> はい、正しいです。Amazon ECR（Elastic Container Registry）は、コンテナ「イメージ」を保存・管理するサービスであり、実際のコンテナそのものを保持するわけではありません。
コンテナイメージは、コンテナを起動するためのテンプレートであり、アプリケーションやその依存関係が含まれています。ECRに保存されたイメージを、例えばECS（Elastic Container Service）やEKS（Elastic Kubernetes Service）などで実行する際に取り出し、コンテナとして起動・管理するという流れになります。
したがって、ECRはあくまで「イメージ」の保存場所であり、コンテナの実行・管理は別のサービスが担います。

ここで、Kubernetesについてよく聞くけど、全然しらないので素人質問をしてみる。

```
Kubernetesとはなんですか？ サーバー？
```

> Kubernetes（クバネティス）の実態は、サーバーそのものではなく、コンテナを管理・運用するためのオーケストレーションソフトウェアです。
Kubernetesの役割
Kubernetesは、複数のサーバー（ノードと呼ばれます）にまたがって、コンテナの配置、スケーリング、ヘルスチェックなどを自動で行います。これにより、インフラの柔軟な運用が可能になります。
以下省略

```
それと同等に動くソフトウェアがecsにはあると言う話ですか？
```

> はい、ECSもKubernetesと同様にコンテナを管理・運用するためのオーケストレーションソフトウェアですが、アーキテクチャや管理方法が異なります。簡単に言うと、ECSはAWS独自のコンテナオーケストレーションサービスであり、Kubernetesと同等の機能を提供しながら、AWS環境に最適化されています。
以下省略

はい。これくらいで。
5分程度で聞きたいことが、かなり聞けました。

まとめると
ECRはイメージ管理
EKSとECSがコンテナを実際に動かすサービス。
汎用的なKubernetesを使うか、AWS専用のものを使うかですね。

この後もインスタンスをEC2で起動するのかFargateを使うのかの選択肢があることを再確認しました。

### おまけの表

そして、作ってもらった表があると、情報を修正しやすい。
これもGPTにつくってもらいました。

| サービス | フルネーム                     | 説明                                                                                             |
|----------|--------------------------------|-------------------------------------------------------------------------------------------------|
| EC2      | Elastic Compute Cloud          | クラウド内で仮想サーバー（コンピュートリソース）を提供するサービス。                              |
| EFS      | Elastic File System            | 複数のEC2インスタンスからアクセス可能なマネージドファイルストレージ。                             |
| EKS      | Elastic Kubernetes Service     | コンテナ化されたアプリケーションを実行するためのマネージドKubernetesサービス。                    |
| ECR      | Elastic Container Registry     | コンテナイメージを保存するためのマネージドDockerレジストリサービス。                              |
| ELB      | Elastic Load Balancing         | 複数のターゲット（例：EC2インスタンス）にトラフィックを分散するサービス。                         |
| EMR      | Elastic MapReduce              | 大規模データ処理のためのマネージドビッグデータプラットフォーム。                                  |
| ES       | Elasticsearch Service          | 検索や分析に適したマネージドElasticsearchサービス。                                              |
| EBS      | Elastic Block Store            | 高性能なストレージで、EC2インスタンスにアタッチして利用できるブロックストレージ。                   |


# 最後に
完璧を求めない方が楽そうなのでこれでやりたいです。