今回は私がどのようにAWSとTerraformの勉強をしたのかについてまとめていこうと思います!
AWSを勉強しようと思った理由
私はポートフォリオとして作成したサービスのインフラをAWSで構築しました。
理由としては、
・せっかく頑張って作ったサービスだからインフラもこだわってやってみたい
・勉強になりそう!!
単純な理由でしたw
初めはherokuにデプロイしたのですが、割と手軽に自分の作ったサービスがネット上に公開されて驚きと感動を覚えましたね。
デプロイ後すぐに母にurlを送りつけてみたりして
すごいね!って言ってもらえたのが本当にうれしかったです。
ですが、サービス開発時に結構こだわったりしたので
こんなに手軽にできていいのかと不安になりました。
もっとできることがあるのでは・・?と。
そこで 話題のAWSやってみるか! と勉強を始めました。
AWS
まずはEC2から、ということでqiitaの参考になりそうな記事を見ながらVPCやセキュリティーグループを作成していったのですが、インフラ知識の全くない私からしたら、いきなり聞いたことのない単語がたくさん出てきて、自分が何をやっているかわからない状態でした。
そんな状態なので、理解も全くできていないまま進んでいき、これでちゃんと自分の身になっているのかと不安になりました。
そこでメンターさんに相談したところ、おすすめの本を紹介してくれました。
この本すごく分かりやすいのでオススメです!
何のどこをやっているかわからない状態はこの本で抜け出せました。
単語の意味がわかったり、何のために設定するのかがわかってきて全体像が見えやすくなります。
また、本の内容に沿って構築していくことができるので何からやったら良いのか分からないという方には特にオススメしたい本です!
ただ私はChapter2のIPアドレス範囲とかの2進数とかは未だよくわかりませんw
この本を読んで、単語を覚えたり基礎の知識をつけながらqiitaの記事見たりして勉強していました。
Terraform
Terraformはインフラをコードで管理・作成することができます。
いつでも作れるし、いつでも壊せる。他のサービスにも活かすことができる。
これが魅力的で勉強をしようと思いました。
AWSの勉強で、まずは基礎の知識をつけることが大切だと気付きました。
そこでコードを書く前にtfファイルのことやTerraformで構築するとどんないいことがあるのかを改めて調べ直しました。
こちらのqiitaの記事が非常に参考になりますよ!
Terraformはまだまだ日本語の記事が少なく感じていて、検索しても英語ばっかりだったので結局ほとんどTerraform Registryを見ながらコードを書いていました。
英語だけど、翻訳して何となくの雰囲気を掴みながら書いていけば大丈夫だと思います。
とはいってもエラーが出たり、何についてのコードなのかが分からなかったりで苦労した部分もあったので、今少しづつですがTerraformで使える引数の日本語訳の記事を書いています!!!
膨大な量なのでめちゃくちゃ時間かかると思いますが頑張りますw
Terraformで構築する際にAWSのコンソール上で作成したものは全て壊して一から作り直したので、Terraformを勉強することでAWSの理解が深まったように思います。
なので個人的には、AWSの勉強(実践)→Terraformで作り直してみる
という流れを強くおすすめします!!!
日本語でぐぐっても、Terraform Registryをみても分からない場合は、英語でも検索をかけてみたり(How ~)、出てきた英語の記事を翻訳かけて読んでみると、結構解決したりします。
日本語の記事にばかり目が行きがちですが、実際私が勉強している時に英語の記事で解決した問題もあったりします。
まとめ
AWSの勉強(実践)→Terraformで作り直してみる
これ!!!!!!