オリジナルプロダクト「Logi-Balance」のインフラ構築編
AWS上でオリジナルプロダクトを動かせる様になることを目標に奮闘履歴をこちらに残します。
今回は本来10時間程度でAWSを構築する必要があり、
時間に追われるあまり学習をすっ飛ばして
AWS構築のための作業を進めてしまったために起こった失敗談・反省会です。
また、今回「ACM検証保留が通らない問題」で調べてもインターネット上で答えに辿りつけなかったため、
一人でも同じ様な状況の人の目に止まる様に情報を共有いたします。
ACM検証保留が通らない問題でお困りの方は一番最後まで飛ばして読んでください。
目次
1−2week:AWS構築失敗
失敗経緯を共有
3-4week:AWS学習&構築
学習ログの目次共有
ACM証明書検証保留エラー
学習ログから、ACMのエラー例を共有
1−2week:AWS構築失敗
Udemyで受講した講座↓
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得
https://www.udemy.com/course/aws-and-infra/
失敗原因:
3日間で「AWSを構築すること」だけを目的とし、
全く内容を確認せずに受講したため。
何が違えていたのか?
1.そもそも前提が全く違った。
| 開発環境 | Udemy | Logi-Balance |
|---|---|---|
| 言語 | PHP | Ruby |
| FW | Laravel | Ruby on Rails |
2.前提が違うことで起こった衝突💥
| Webサーバ | Udemy | Logi-Balance |
|---|---|---|
| 種類 | Apache | Puma |
それぞれ動かすWebサーバーが違った。
「短期間でAWSが構築できればそれでいい」と考えていた私は、
この違いに気づいておらず、、
Udemy講座の通りApacheをダウンロード
↓
ひたすらPumaが動かない。。。と悩んでいた。
結局2週間でAWS構築が成功することはなく、
学習をしていなかったために[なぜ失敗したか]もわかりませんでした。
3-4week:AWS学習&構築
1-2weekの反省を元に、
全ての作業に「何のために?なぜ必要か?」という視点を持って学習した後にAWSを構築する流れを取りました。
この2週間で
・ただAWS構築を目的とする作業と、
・AWSを自分で構築できる様になるための学習
との違いを実感することができたことが今回の一番の収穫🧺でした。
以下、学習記録をNotionにまとめた学習ログです
目次
- Week3:EC2 / RDS / Puma / Nginx
- Week4:ACM / ALB / HTTPS / Route53
Week3(EC2 / RDS / Puma / Nginx)
🔽 クリックして展開
インフラの基本
- VPCとは?
- VPC が存在する理由
- VPC再設定なしの理由
EC2 & SSH
- 💻EC2とは
- 🔑SSHとは
DB
- 💾RDSとは
Webサーバ
- 🛡️Nginxとは
- 🐾pumaとは
実作業
- EC2 の再作成
- Rails + Nginx + Puma の本番環境構築
Puma
- 起動/停止タイミング
- service.puma / puma.rb の違い
- Puma起動失敗理由①:RDSなし
- Puma起動失敗理由②:double-puma
RDS
- RDS(MySQL)作成
- Rails を RDS に接続できるようにする
最終確認
- Puma + Nginx を動かしてアプリ起動
- Nginxを経由してサーバーが開いている確認方法
- RDSとRailsとMySQLの仕組み
Week4(ACM / ALB / HTTPS / Route53)
🔽 クリックして展開
SSL / ACM
- 🔐📜ACMとは
- ACM検証保留問題
ALB
- 🛡️🚦📮ALBとは
- ALBとELBの違い
ネットワーク
- ACM/DNS/Route53の関係
- いつの間にかVPC変わってる問題
- ALB再設定VPC引越し
実作業
- ACM で SSL 証明書をリクエスト
- ALB の作成・設定
- ALB の HTTPS リスナー設定
- Route53 の A レコード変更
エラー対応
- 接続不可:タイムアウト
- 🔥セキュリティグループが何をしているのか?
- セキュリティグループ再設定
- 🌐ブラウザエラーと原因一覧
ACM証明書検証保留エラー
結論!
Route53のドメイン/登録済みドメイン
clientHold でてませんか?!
エラー内容:
リクエスト後に「検証」が自動で実行されるはずが、「保留」から動かなくなる。
検証:
①チャットGPTにエラー改善の為の確認リストを作成してもらう。
②古い&未使用ACMを削除、再検証
③ACM再作成。再検証
④「ACM検証保留 終わらない」で検索🔍。
同じく検証保留が終わらない人たちのブログやツイッターを確認。
⑤Route53サイドバーに表示されるページを全て確認。
検証結果:
①〜④何も功を奏さず3日経過。
おそらくネットに出回っている検証は全て試したと思います。
完全に心が折れました。
検証のまま3日が過ぎたころ、
⑤Route53サイドバー/ドメイン/登録済みドメインに異常発見!
ドメインのステータスが「clientHold」となっており、
Hold??!!これは異常に違いないと思い、
メール再送&メールで送られたリンクを踏んで連絡先メールを検証を行うと。。。
「発行済み」に!!検証成功!!!
感想
作業ではなく学習をしよう。。。!
今回の件で、「急がば回れ」ってこういうことなんだな、、と身に沁みて感じました。
なぜ作業になってしまったのか?
普段、会社員である私のスケジュールは
5:00起床
6:00出社
18:00帰宅
20:00勉強開始
24:00就寝
24時まで勉強し続けられることもあれば23時で力尽きることもあり、
容量が悪いことも輪をかけて全然勉強時間が足りてません。
でもどんどん課題は進めていかないといけないし、
気がつけば課題をこなすだけの作業になってしまっていました。
今後どうすればいいのか?
「何を、なぜ、なんのために」 を考えながら学習する。
今後はこのステップを抜かさず。
近道して崖から転がり落ちない様に、しっかり地固めしながら進めていきたいと思いました。
コードも全部見返そう。。。。