こんにちは、Reikaです。
私は現在、アプレンティスの5期生として日々勉強に励んでいます。
アプレンティスの課題として AWSでクラウドインフラストラクチャの構築 に取り組みました。
学習を進める中で、私は以下の山浦さんのUdemy講座を参考にしながら、まるで二人三脚のように進めていました。↓
最初はネットで情報を検索し、操作し、分からないことがあればその都度調べるという方法をとっていましたが、その過程で何をしているのか迷子になってしまいました。
そこで、山浦さんのUdemy講座を受講し始め、しっかり理解しながら学習と構築を進めることができました。冗談抜きで、非常におすすめです。笑
今回はこの経験を通じて学んだことについて、記述していきます!
簡単に自己紹介
- 2023年12月〜独学でプログラミングの勉強を始める
- 2024年4月〜内定直結型エンジニア学習プログラム「アプレンティス」に参加
- 地方在住26歳社会人4年目。マインドミニマリスト。植物、テレビドラマ、コーヒーが好きです
- 趣味でYouTube投稿をしています。現職やなぜエンジニアを目指すようになったのか?は以下の動画をぜひご覧ください!^^
目次
1.AWSとは?
2.今回構築したクラウドインフラストラクチャ
3.構築手順
4.VPCの構築
5.EC2の構築
6.RDSの構築
1.AWS(Amazon Web Services)とは?
Amazon社が提供するクラウドサービスです。
サービスの数が非常に多く、クラウドサービスとして 世界最大規模 です。
「フルマネージドサービス」という、AWSが管理を代行するサービスもあり、 高負荷に耐えられる信頼性の高いシステムを少ない手間で運用できます。
2.今回構築したクラウドインフラストラクチャ
私は今回、EC2とRDSを利用して、以下のクラウドインフラストラクチャを構築しました。
サーバー とは、クライアントに対してサービスを提供するコンピューターのことを指します。
それらサーバー(EC2、RDS)やネットワーク(VPC)のことを インフラ といいます。
ここから構築手順を説明しようと思いましたが、設定箇所があまりにも多く、Udemyの参考動画と全く同じ内容になってしまいそうなので、手順の詳細は省略します。
私の主観で、理解していても忘れがちな重要なポイントをまとめていきます。
3.構築手順
AWSでインフラを構築する場合、
VPC(ネットワーク)を構築し、そのVPC内にEC2やRDS(サーバー)を設置して、そのサーバーで必要なアプリケーション(今回はApacheとMySQL)をインストールする
という流れで構築します。
大きな部分から順に作成していくイメージです。
4.VPCの構築
- 日本でサービスを展開する場合、リージョンは東京を選ぶのがおすすめです。応答時間が短くなります。
- アベイラビリティゾーンは複数設置することを推奨します。災害が発生しても、他のゾーンでシステムが稼働し続けるようになります。
5.EC2の構築
勉強が一区切りついたら、料金が発生しないように以下を実行します。
- Elastic IPアドレスの関連付けを解除し、アドレスを解放する
- インスタンスを停止する
6.RDSの構築
私はRDSサーバーにMySQLをインストールしようとした際、必要なファイルやライブラリが見つからないというエラーが発生しました。
実行コマンド(MySQLのインストール)
sudo yum -y install mysql
エラー文
...
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
Error: GPG check FAILED
調べてみると、MySQLのクライアントツールをインストールしようとした際に「GPGキーが正しくない」というエラーが発生していることがわかりました。
GPGキーとは、ソフトウェアの正当性を確認するための「秘密のサイン」のようなもので、これがないとパッケージを安全にインストールできない場合があります。
結論: 以下のコマンドを実行したらインストールに成功しました。
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
最後に
今回は初めてAWSを使ってサーバーを立て、インターネットに接続するという経験をしました。
まだまだデータベースの作成や実際のデプロイなど、やりたいことはたくさんあります。
AWSに触れたことがない方、AWSが気になる方は、ぜひ山浦さんのUdemy講座を受講してみてください^^