はじめに
こんにちは!!@Sicut_studyです!
先日出しました記事が多くの方に見ていだきました!
今回はAWSのロードマップの紹介です。
AWSを勉強しようとしている人からよく聞くのが
AWS勉強したいけど何からしたらよいかわからないから資格の勉強しています
資格を勉強するのもいいですが最速でAWSを実践的に使えるということを目的にするなら、その方法は個人的には微妙かなと思います。
私もこのロードマップを行ったあとに試しに資格をとってみましたが、あまり実務に速攻的に役立つという感じではありませんでした (高度なものなら違うかもしれません)
私も2年前はAWSについてまったく知りませんでした
しかし、とあるタイミングで
先輩がやっているようなAWSの環境を作って管理するのを私もできるようにならないと高みにいくことはできない
このように思うようになり、ロードマップに沿ってに1から学習をすすめました。
そしてある程度自信が持てましたし、新しいことをしようとしたときにドキュメントなどを駆使してある程度のことが実現できる力ができました
またこのロードマップの再現性を検証するために、同僚のAWSの知識がない方に挑戦してもらってその方も無事ある程度使えるようになりました。
そんな方法を今回は紹介します。
この記事の対象者
- AWSを勉強してみたいが何からしてよいかわからない
- 自分のアプリをデプロイしたい
- Webアプリを開発している
ロードマップ
このロードマップで目指すところは最終的に自分で作成したアプリをAWS上に1から環境構築してCI/CDできるようになるところを目指しています
前回の記事に引き続いてですが、実践的に学ぶことを意識して作成しています。
なのでかなり最後までやるのは大変かもしれません。
私自身はロードマップを終えるのに1ヶ月かかりました。
しかし、ここでの経験はその後のエンジニア生活に大きな自信につながったのでぜひ頑張っていただきたいです。
1. 書籍でAWSの全体像を掴む
2. EC2にデプロイする
3. ECSにデプロイする
4. Code系サービスを使いこなす
5. CICDを行う
6. IaCに挑戦する
1. 書籍で全体像を掴む
まずは書籍で必要なサービスの使い方を学びます。
ここでは1冊を手を動かしてハンズオン形式で学びます。
AWSではじめるインフラ構築入門 第2版 安全で堅牢な本番環境のつくり方
この本はいまでも私の中で大切にしている1冊です。
特に強いのはAWSの環境構築をするときに必要なVPC、Subnet、ロードバランサーなどはじめに1回だけやるようなものを作るときに、この本をみればできるという安心感が得られます。
この本を読めば書いてあるから大丈夫というものを知っておくことがとても重要です。
エラーで躓いたときに、不安になるのは
このエラーは解決できるのか
ということだと思います。ですが、そのエラーを解決できる人が近くにいると思うと聞けば良いので安心できます
まさにこの本はそのような安心感をくれる本です
まずはこの本をすべて手を動かして実践してみてください
この本を学ぶことでEC2やRDBなどの使い方が学べます!
2. EC2にデプロイする
次に実際に自分のアプリをEC2にデプロイします。
EC2の環境、RDBの環境は書籍の内容でだいたいカバーできます。
あとはローカルのPCで起動しているのと同じようにEC2に入って、GitHubからクローンして起動するという同じ手順をすることでできるかと思います。
まずはここを達成することで
AWSに自分のアプリをデプロイする経験
を得ることができます
もちろん私もこのステップをやってそこでの手順を記事にしています。
参考に見ていただけるとよいのかなと思います
3. ECSにデプロイする
次にECSへのデプロイに挑戦していきます
ここではAWSコンソール上で手作業で作成をしていきます。
ここからは書籍でカバーできないことが増えていきます。
しかしネットには多くの情報があるので、まずは同じようなことをやっている記事などをみつけてその方法を真似て、問題がでてきたら1つずつ調べていくというステップを繰り返していきます。
4. Code系サービスを使いこなす
次にCI/CDの準備をしていきます。
まずはCIを実行できるようにCodeBuild、CodeCommit、CodePiplineの環境を作ります
そして実際にGitに更新がかかったら自動でAWSでテストが走るような環境を構築していきます。
ここもまずは同じようなことをやっている人の記事を探して真似ます。
わからないこと、問題がでてくるので1つずつ解決していきましょう。
5. ECSにBlue/Greenデプロイする
ECSでBlue/Greenデプロイするような環境を作ります
ここまでやると何度も同じようなAWS環境を作っているかと思います。
何度もVPCを作ったりする中で基本的なAWSの使い方は学べているかと思いますし、調べ方などもある程度勘所がつかめるようになっているはずです。
6. IaCに挑戦する
ここまで行けた方はぜひIaCに挑戦してみてください
私はAWSのCloud FormationでB/Gデプロイするところまでの環境をすべてIaCにしました。
IaCのやり方を理解しておくことで自分がよくつかう構成をすぐに立ち上げられるようになります。
同じものがいつでも使えることは再現性があり個人的には良いなと思っています。
手作業で作成していた時は意識しないでたまたま設定していたことが大事だったというようなことがあり、2回目作ったときに再現できないこともしばしあります。
IaCを学習するときは、ぜひ手作業でやりながらそこで入力したものをIaCに設定していく方法でつくってみてください
また全部一気に作るのではなく、まずはVPCからなど小さい単位でつくっていってみてください
ここまでで大きく変わる
ここまでやりきったあなたはAWSに自信がついているはずです。
私もこの経験があったことで、転職がうまくいったと思っています。
そして、新しいことを学ぶときの効率的な方法であったり、問題の解決方法であったりを身につけることができました
このロードマップをやっていた1ヶ月は深夜4時まで学習していました
そのくらいの覚悟で本気でこのロードマップに向き合っていただければエンジニアとして大きくステップアップすることが可能だと思います。
ぜひとも挑戦してみてください。
おまけ
AWSは課金が発生するので私は毎日作成したリソースを削除していました
なので、毎回学習するたびにすべてのリソースを手作業で作成していました
かなり時間はかかって大変な作業ではありましたが、書籍を何度も擦り切れるまで読んだことでAWSの基本が身についたのでポジティブに毎回リソースを削除することをおすすめします
課金にだけは気をつけましょう
おわりに
今回は私が実際に行ったロードマップを紹介しました。
かなり大変なロードマップですが、苦しい経験は確実に力になりますので頑張っていただきたいです。
そして達成した方は是非コメントいただけたら嬉しいです。
ここまで読んでいただけた方はぜひいいねとストックよろしくお願いします。
また @Sicut_study をフォローいただけるととてもうれしく思います。
少し宣伝します🔥🔥🔥🔥🔥
これからエンジニアになろうとしている人を本気でコーチングして3か月の期間で立派なエンジニアにするようなチャレンジをしてみたいなと考えております。
もし、本気でエンジニアを目指してコーチングを受けてみたいという方がいれば、Twitterに「プログラミング教えてほしいです」みたいなリプライ送っていただけたらなと思います!!
以上です。
今週もプログラミング頑張りましょう!
おすすめの記事
参考