インフラ初心者が AWS の話がふわっと（本当にふわっと）わかるようになるまでにやったことまとめ

５日の記事は @polidog さんでしたありがとうございました。
最近の若いエンジニアも Xdebug は知ってましたw
でも設定めんどくさくなって使わなくなっちゃてたんですよね、、、ただ改めて見るとやっぱり便利そうですね！
設定も思ったより簡単そう？なので今度使ってみようかな

## はじめに

自分は普段、サーバーサイドの開発をメインで行っているのですが、
インフラの環境は出来上がっている段階で作業することが多く AWS を直接触る機会はほとんどありませんでした。

なので、

- 今回は EC2 じゃなくて、Fargate を使っています。コンテナのイメージは ECR にアップします。
- マルチ AZ で冗長構成にしています。スティッキーセッションになってます。
- private subnet なので NAT gateway とか必要です。

なんて会話を聞いても、なるほどわからん。という状態でした。

流石に何を言ってるのかわからないような状態ではまずいと思い最近 AWS を勉強して、上記のような話になんとなくついていける程度にはなって、かなり簡単な環境なら自分でも構築できるようにはなったので、そのためにやったことを記事にしました。

同じように何言っているかわからんと思った人の参考になれば嬉しいです。

## 勉強する上で参考にさせてもらったもの

### 書籍
後程紹介します。

### [クラスメソッド発「やってみた」系技術メディア | DevelopersIO](https://dev.classmethod.jp/)

クラスメソッドさんの記事は勉強していて気になったことを調べる時によく使わせてもらいました。
１つ１つの記事のクオリティが高いのでとても参考になりました。

### [ハンズオン資料 | AWS クラウドサービス活用資料集](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/)

AWS の公式ハンズオンは毎回最初に申し込みフォームを入力する必要があるので初めは若干抵抗がありましたが、動画形式で好きな時間に何回でも見ることができ、わかりやすく、しかも無料なので、自分は公式ハンズオンをメインに勉強しました。

各ハンズオンの終わりに、ハンズオンで構築したリソースの削除方法まで教えてくれるので安心です。

## Step1. AWS のアカウントを作る

[AWS のアカウント](https://aws.amazon.com/jp/free/?trkCampaign=acq_paid_search_brand&trk=ps_a134p000006gTa8AAE&sc_campaign=acquisition_JP&sc_channel=ps&sc_publisher=google&sc_category=core&sc_country=JP&sc_geo=JP&sc_outcome=devadopt&sc_detail=aws%20%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&sc_content=Console_e&sc_segment=487544183236&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|AWS|Core|JP|JP|Text|dx&ef_id=Cj0KCQiAnaeNBhCUARIsABEee8U4na0oux_2298usiEoRtXbXTuqiEVmktiBsCoRLj0hrtCGGwSE_9gaAvIaEALw_wcB:G:s&s_kwcid=AL!4422!3!487544183236!e!!g!!aws%20%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB&gclid=Cj0KCQiAnaeNBhCUARIsABEee8U4na0oux_2298usiEoRtXbXTuqiEVmktiBsCoRLj0hrtCGGwSE_9gaAvIaEALw_wcB&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all)を作ってください。

AWS は有料のサービスなので、自分も初めはアカウントを作成するのに抵抗があったのですが、AWS の勉強したいなら AWS のアカウントは必須です。

AWS の環境を触っていたら料金がかかりますが、アカウント作成から１年以内なら使用できる無料枠を使っていれば、月々数百円から、かかっても数千円くらいです。（使い方さえ間違えなければ...）

[AWSアカウントを作成してみた(2021年7月) | DevelopersIO](https://dev.classmethod.jp/articles/create-an-aws-account-2021/)

[AWS Hands-on for Beginners
ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ](https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-1st-Step_LP.html?trk=aws_introduction_page)


これができれば後はできたも同然です。

## Step2. 初期設定

必ず必要なわけではないですが、料金が心配な人はかかった料金に応じてアラートをあげてくれる機能などもあるので設定しておくといいかもです。

自分は毎日メールで使用料金が通知されるように設定しています。

https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-Security-1_LP.html?trk=aws_introduction_page


後は支払い通過を日本円にしていたら、外貨取扱手数料がかからないので若干お安くなるのだとか

https://dev.classmethod.jp/articles/aws-1st-step-new-era-reiwa/#:~:text=Information%20and%20Tools-,10.%E6%94%AF%E6%89%95%E9%80%9A%E8%B2%A8%E3%81%AE%E5%A4%89%E6%9B%B4,-%E6%98%94%E3%81%AF%E7%99%BB%E9%8C%B2


## Step3. 実際に触ってみる

書籍と AWS 公式ハンズオンを見ながら実際に触ってみました

### 書籍

https://www.amazon.co.jp/Amazon-Services-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89-%E6%94%B9%E8%A8%823%E7%89%88/dp/4296105442/ref=asc_df_4296105442/?tag=jpgo-22&linkCode=df0&hvadid=414420639029&hvpos=&hvnetw=g&hvrand=14864172601936596695&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009318&hvtargid=pla-873736652857&psc=1&th=1&psc=1

書籍で最初に読むならこれがいいと思います。
基礎知識がなくても読むことができ、ハンズオン形式なのでとてもわかりやすかったです。


### AWS 公式ハンズオン

はじめにも記載しましたが、AWS の公式ハンズオンです。
気になるタイトルをやってみるのがいいと思います。

https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/

ちなみに自分は、

- [ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ](https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-1st-Step_LP.html?trk=aws_introduction_page)
- [ecurity #1 アカウント作成後すぐやるセキュリティ対策](https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-Security-1_LP.html?trk=aws_introduction_page)
- [Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Network1-2020-reg-event-LP.html?trk=aws_introduction_page)
- [Network編#2 Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Network2-202009-reg-event-LP.html?trk=aws_introduction_page)
- [スケーラブルウェブサイト構築編](https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Scalable_LP.html?trk=aws_introduction_page)
- [Amazon EC2 Auto Scaling スケーリング基礎編](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Auto_Scaling-2021-reg-event.html?trk=aws_introduction_page)
- [AWS 上で静的な Web サイトを公開しよう！](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-StaticWebsiteHosting-2020-reg-event-LP.html?trk=aws_introduction_page)
- [Amazon CloudFrontおよびAWS WAFを用いて エッジサービスの活用方法を学ぼう](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-CF_WAF-2021-reg-event.html?trk=aws_introduction_page)
- [AWS Code サービス群を活用して、CI/CD のための構成を構築しよう！](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cicd-2020-reg-event-LP.html?trk=aws_introduction_page)
- [監視編 サーバーのモニタリングの基本を学ぼう](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-monitoring-2020-reg-event-LP.html?trk=aws_introduction_page)
- [AWS 環境のコード管理 AWS CloudFormationで Web システムを構築する](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cfn-2020-reg-event-LP.html?trk=aws_introduction_page)

あたりをやらせていただきました。


### Terraform

「 AWS の話をふわっと理解するようになる」という目的とは少し違うので、 Terraform を触る予定がない人は飛ばしても問題ないかもしれませんが、自分は Terraform を少しだけ触る機会があったので勉強しました。

Terraform をざっくり説明すると、インフラ構成をコードで管理できるツールです。

コードで書かれた構成をコマンド一発で AWS 上で（Terraform は AWS のみには限らず GCP などにも対応していますが）構築、削除することができます。

コードなのでバージョン管理もできます。

自分は下記の書籍で勉強させてもらいました。写経するだけでもかな勉強になりました。

Terraform に興味がある人は先に AWS の勉強をしてから、 Terraform を触る方が入りやすいと思います。

https://www.amazon.co.jp/dp/B07XT7LJLC/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1


## 終わり

AWS は有料のサービスです。 RDS なんかを立てっぱなしにしていると思ったより料金がかかってびっくりするかもしてません。
また、Github に AWS のキーペアをあげると 13 分で不正利用されるらしいので十分に気をつけてください。

https://qiita.com/saitotak/items/813ac6c2057ac64d5fef

ただ、普通に使っていれば急に高額な請求がくるといったことはまずありません。
興味がある人はビビらずにアカウントを作成するのが一番いいと思います。（責任は取れませんが😇）

## 明日の記事

明日は[ほげさん](https://zenn.dev/suzuki_hoge)が M1 Mac の Docker についての記事を書いてくれるそうです。

Docker のイメージの中にはまだ M1 に対応されておらず、素直に動いてくれないものもあるようなので、M1 Mac を使っている人は参考になると思います！