AWS上に開発環境を構築する
はじめに
1年半ほど更新をサボっておりましたが、この度転職することになり、せっかくなので重い腰を上げて再開します。
いつまで続くか分かりませんが、ゆるーくやっていければと。
背景:なぜ今、開発環境を再構築するのか
転職先ではIaCでの開発がスタンダードなため、入社までにある程度慣れておきたい。
また、クラウド技術のキャッチアップが常に求められる環境なので、自由に試行錯誤できる「遊び場」が欲しい。
ただ、今メインで使っているPCは認証キーが散乱していて管理が怖いため、今回は、YouTube視聴用に購入した低スペックなPCからでも安全に遊べる環境を構築することにしました。
今回のコンセプト
以下の制約を自分に課しました。
- 認証キー・APIキーを可能な限り保持しない:ローカルにもEC2にも置かない。事故りたくないです本当に。
- IaCとCLIの強制:土台はCloudFormation、追加機能はTerraformで管理する。マネコンは確認のみで変更操作は基本NG。
構成図
ポイント
1. セッションマネージャー (SSM) ✕ MFA
パブリックIPなし、NAT Gatewayなし。完全プライベートなサブネットに立てたEC2へ、SSM経由でパスワードレス接続します。
2. S3でコードを管理(GitHubは公開するだけ)
EC2で書いたコードはS3へSync。それをトリガーにLambdaが走り、GitHubへ連携するフローにします。
3. コスト・ログ監視
「消し忘れ」と「予期せぬ請求」の対策
- AWS Budgets: 予算超過時の即時アラート
- リソース監視: 使用率の監視と自動停止スクリプト
おわりに
自動デプロイどうするか等は現段階では全く考えてないですが、AWSのサービス組み合わせれば出来るんじゃね?と楽観的に考えてます。
行き当たりばったりで徐々にブラッシュアップしていけばいいかなと。そんなノリです。
今回は予告のみ。今週末から、まずはVPC周りの「土台作成」から徐々に着手していこうと思います。
全く関係ないですが、新台のユニコーンは産業廃棄物でした。
それでは、また。
