目次
今年は既に 12 回歌舞伎を観た matt です。入社 2 年半で業務の傍らクラウド資格の W 全冠を果たしました!
今回は、私が日々の検証や資格勉強で使い倒している、grasys の社内検証環境の裏側についてご紹介したいと思います。
grasys では、「お客様の環境をお預かりする専門家」として、ヒューマンエラーを前提とした無駄のない環境づくりを自社内から徹底しています。その一環として、社内の Google Cloud および AWS の検証環境では、リソースの稼働放置を個人の確認に頼るのではなく、システムで自動制御する「仕組み化」が文化として根付いています。
Google Cloud と AWS で使われているサービスの違いも含めて、当社の「仕組み化」の文化をお届けします!
マルチクラウド環境で徹底する「自動化・仕組み化」
grasys の検証環境(エンジニアが自由に使える勉強環境)では、Google Cloud・AWS を問わず、利用後のリソース停止などを仕組みで防ぐ考えです。
「人間はうっかり忘れる生き物である」という前提に立ち、インスタンスの自動停止や外部 IP の解放はもちろん、「長期未使用のストレージ(EBS 等)の自動削除」や「不要リソースのアラート機能」などがシステム化されています。
この徹底した仕組みがあるからこそ、私たちエンジニアは無駄なコストやリソース放置を心配することなく、思いっきり検証や学習に没頭できるクリーンな環境が保たれています。
両クラウドで利用したサービスとプログラム言語
Google Cloud と AWS 環境でそれぞれ利用したサービスとプログラム言語は以下です。Cloud Run (functions) と Lambda の関数で所定の条件を考慮した停止や削除の実処理を行います。
【重視した技術ポイント】
⚫︎サーバレスで運用コストほぼゼロ!!!
⚫︎クラウドエンジニア経験必須のサービスと人気の 2 大プログラム言語を使用!!
⚫︎社内 Slack 連携ログ出力で日々の運用監視も 1 クリック!

Google Cloud と AWS の各環境での対応内容
Google Cloud と AWS の各環境でのスケジュール設定をツール処理と詳細と共に表にしました。
運用ルールは全員の合意を得て、監視も Slack でスマートに
ヒューマンエラーを防ぐための自動制御ですが、エンジニアの業務や検証の妨げになっては本末転倒です。そのため、タグやラベルでの停止・削除の回避策、削除までの期間といったディテールは、環境を利用するエンジニア全員で確認・合意した会社の運用ルールに基づいてスマートに設定されています(もちろん引数で可変です)。
処理結果はサービス所定のログとは別に、一目でわかる見易く簡略化した形で Slack の専用チャネルに書き出されます。人が行う作業はその Slack チャネルを一瞥してエラーなく正常に処理が行われているかチェックするのみ。これでマルチクラウド環境が、所定のルールで常にクリーンアップされ保たれる仕組みになっています。
Google Cloud の Cloud Scheduler 設定
Google Cloud はエンジニアが自由に使える検証環境とユーザ案件検証用の 2 つのプロジェクトでの設定です。Google Cloud 環境はインスタンス起動が多いので、日次停止も導入されています。
| Cloud Scheduler ジョブ | 起動日 時間 | ツール処理 Cloud Run functions 処理内容 | ラベルkey | keyの値説明 |
|---|---|---|---|---|
| 日次停止 | 月〜金 21:00 | 稼働中のインスタンス停止 | start-up | weekday、ever で停止しない |
| 日次再起動 | 月〜金 09:00 | 停止中のインスタンス起動 | start-up | restart:再起動する |
| 週次停止 | 金曜 23:00 | 稼働中のインスタンス停止 | start-up | ever で停止しない、他は全停止 |
| 週次未使用 Disk 削除 | 金曜 17:00 | 使用リソースが無い Compute disk を削除 | ||
| 週次 snapshot 削除 | 金曜 17:10 | 作成日から 1 年経過の snapshot を削除 | keep | ever で削除しない |
| 週次 image 削除 | 金曜 17:20 | 作成日から 1 年経過&インスタンス template紐付無の image を削除 | keep | ever で削除しない |
| 週次 IP 削除 | 金曜 17:30 | 外部IP アドレス(未使用)を解放 |
AWS の EventBridge スケジュール設定
AWS は組織(OU)下の 1 アカウント環境での設定です。
| EventBridge スケジュール | 起動日 時間 | ツール処理 Lambda 処理内容 | タグkey | keyの値説明 |
|---|---|---|---|---|
| 週次停止 | 金曜 22:10 | 稼働中のインスタンス停止 | SkipStop | true で停止しない |
| 長期未稼働 インスタンス削除 | 火曜 11:00 | 最後の起動日時から 366 日以上停止中の EC2 を削除 | SkipDelete | true で削除しない |
| 長期未使用 EBS 削除 | 水曜 12:20 | 以下3 つの削除・使用中でない Volume 削除(EC2 にアタッチ無しの Volume)・作成日から 366 日経過の AMI をそれに紐ついている Snapshot と一緒に削除・作成日から 366 日経過の Snapshot で AMI に紐ついていないものを削除 | ||
| 週次 IP 削除 | 月曜 19:00 | 外部IP アドレス(未使用)を解放 | ||
| アラート 1 | 月〜金 11:30 | CloudWatch Dashboard でコスト発生があると Slack アラート、4 個目以降、1dashboard で 50metrics 以上あるものが対象 | アラート後作成者に確認し未使用なら削除 | |
| アラート 2 | 月〜金 11:35 | NatGateway で 14 日間トラフィックが発生無しで Slack アラート | アラート後作成者に確認し未使用なら削除 |
grasys は成長の熱意あるエンジニアに相応しい活躍の場!
grasys にはエンジニアが勉強や検証に自由に使える Google Cloud と AWS 両方の環境がある事、そして資格取得の熱意に応える最大級のバックアップ体制がある事、これが私の 2 大クラウド資格 W 全冠の”偉業” (笑) を達成できた一番の理由であったことは間違いありません。
実務の技術を磨きながら資格取得にも熱意を持って成長したいエンジニアにとって、grasys は最高の活躍の舞台です。共に切磋琢磨する職場の仲間を、時には私が grasys 歌舞伎会で映画『国宝』の舞台へもご案内します!





