高校生向けAWSの使い方

# AWSとは？

現在のクラウドシェア率で最も高い、Amazonさんが提供しているクラウドサービスのことです。
課金方式は従量課金制で、使った分だけお金がかかります。

![](https://business.ntt-east.co.jp/content/cloudsolution/images/column/img_column374_2.png)
[出典 : https://business.ntt-east.co.jp/content/cloudsolution/column-374.html](https://business.ntt-east.co.jp/content/cloudsolution/column-374.html)

## メリット

- 自宅にサーバーを置かなくてもいい
- 初期費用がかからない
- いつでもサーバーを増やしたり減らしたりできる
- AWSがサーバーをメンテナンスしてくれているから停止しにくい

## デメリット

- 使い方を間違えると高額な請求が来る
- 見落としやすい課金の要素がある
- 円安の影響を受ける
- 学習が難しい

# 事前準備

AWSのアカウントを作成しましょう。
公式が優しく説明してくれています。

https://aws.amazon.com/jp/register-flow/

:::note
学生の皆さんはデビットカードを作りましょう。PayPay銀行や楽天銀行などで銀行口座とともに作れます。
:::

![Console.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/eeac1d06-4d7c-26c0-126b-00b2b538b189.png)
この画面まで進めたらOK！

# 絶対やるべき設定

## 日本語化しよう

![Japanese.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/24509cf0-7429-b303-44db-f131113aaebd.png)
AWSのコンソールはデフォルトで英語になっていますが、日本語に変更できます。
歯車アイコンをクリックして変更しちゃいましょう。

## 予算を作成しよう

:::note warn
予算が超えたら強制的にAWSを停止するような設定はできません。
あくまでアラートを受け取るだけです。
:::

1. 右上の アカウント名:ID をクリックしたあと、アカウントを選択
![AcountSetting.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/dd911fab-c35e-c3c0-daa5-fad2af8a12d5.png)

2. 右側のメニューから**予算**を選択
![AccountDashBord.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/f3347b35-2411-4973-9851-d3dca471cc19.png)

3.予算を作成をクリック
私は既に作成しているのでリストが表示されています。
![Bugget.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/da7ef91c-f687-ada6-f8b8-f88528bf0935.png)

4.画面のようにゼロ支出予算を選択して作成しましょう。
![MakeBugget.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288957/e85b692c-1ef3-3588-eed5-0d241fa3025e.png)


月次コスト予算を使うことで１ヶ月の予算を設定できます。
これも1000円とかで設定しましょう。
## M2Fを設定しよう

すべてのアカウントで二段階認証を設定しましょう。
先人様が私より分かりやすく説明してくれているので、そちらを参考にしましょう。

https://qiita.com/s_Pure/items/76011e67e9a10c7c195c

## 作業用のIAMユーザーを作成しよう

最初に作られるアカウントはルートユーザーと呼ばれ、すべての権限を持っています。
しかしこのアカウントでできることが多すぎるので、作業用のアカウントを作ることを公式からオススメされています。
これも先人様がわかりやすく説明してくれているので、そちらを参考にしましょう。
(UIがアップデートされていますが、基本的な流れは変わっていません)

https://qiita.com/kono-hiroki/items/c904a61aa2320a83609f

# 無料枠を確認しよう

AWSは永続的な無料枠とアカウント作成12ヶ月間の無料枠があります。
この違いをしっかり理解してできるだけコストを抑えましょう。

https://aws.amazon.com/jp/free/?gclid=CjwKCAjwgpCzBhBhEiwAOSQWQVwU9I0Dk9pXQalD4dcN7Bniy6tZZrO17VtlXcOH9LEPPcf8z7zSFxoCww4QAvD_BwE&trk=2f1fab87-e0c1-4d0a-984a-39b537e9a901&sc_channel=ps&ef_id=CjwKCAjwgpCzBhBhEiwAOSQWQVwU9I0Dk9pXQalD4dcN7Bniy6tZZrO17VtlXcOH9LEPPcf8z7zSFxoCww4QAvD_BwE:G:s&s_kwcid=AL!4422!3!568105078064!e!!g!!aws%20%E7%84%A1%E6%96%99!11772965715!117413645471&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

# IaCで管理しよう

IaC（Infrastructure as Code）とは、クラウドのリソースをコードで管理することです。
何が嬉しいかというと、例えば以下のようなメリットがあります。

- 一回コードを書いたら、コマンドでいつても再現・削除できる
- バージョン管理ができる

クラウドを使っていて怖いのはリソースの消し忘れです。いろんなリソースを作成していると、何を作ったのか忘れてしまいます。
そのため、IaCを使って管理することをオススメします。
代表的なものとして**Terraform**があります。これは特定のクラウドに依存しないので、つぶしが効きます。
しかしながら最初はAWSのUIで操作してどのような挙動をするのか勉強することをおすすめします。

# まとめ

AWSは学習が難しいですが、使いこなせるようになると非常にいろんなことができます。
個人的なオススメの勉強法は AWS SSA の資格を取ることです。
この資格勉強の過程でAWSの基本的な使い方がわかりますし、内申書にも書けます。
皆さんが少しでも興味を持っていただければ幸いです。