AWSリソースのEOSL管理を自動化してGoogleスプレッドシートに連携してみる(コード省略)
はじめに
AWSリソースのEOSL(サポート終了)情報を確認し、Googleスプレッドシートで管理していました。
今回は、この確認・更新作業を自動化し、AWSから取得した情報をGoogleスプレッドシートへ連携します。
※コードの詳細は省略し、構成と処理の流れを中心に紹介します。
完成イメージ
最終的に、以下のような形でAWSリソースとEOSL情報をGoogleスプレッドシートに一覧化します。
| AWSアカウント | サービス | リソース名 | エンジン | バージョン | EOSL | 残り日数 | ステータス |
|---|---|---|---|---|---|---|---|
| production | RDS | example-db | MySQL | 8.0.35 | 2027/04/30 | 210 | OK |
| production | RDS | example-db-2 | PostgreSQL | 14.10 | 2026/11/30 | 58 | 要確認 |
| staging | Aurora | example-cluster | Aurora MySQL | 5.7 | 2026/10/31 | 28 | 対応必要 |
処理の流れ
AWS
↓
現在使用中のリソース・バージョンを取得
↓
各バージョンのEOSL情報を取得
↓
データを整理
↓
Googleスプレッドシートへ出力
ファイル構成
処理が分かりやすいように、機能ごとにファイルを分けます。
aws-eosl-manager/
├── main.py (各処理をまとめて実行)
├── config.py (設定値を管理)
├── aws/
│ ├── session.py (AWSへ接続)
│ ├── resources.py (AWSから現在使用中のリソースとバージョンを取得)
│ └── eosl.py (AWSから各バージョンのサポート終了日を取得)
├── sheets/
│ ├── client.py (Googleスプレッドシートへ接続)
│ └── writer.py (取得結果をGoogleスプレッドシートへ書き込み)
└── requirements.txt (必要なライブラリを管理)
resources.py は「今、何を使っているか」、eosl.py は「それがいつサポート終了するか」を取得する役割です。
AWSリソース情報を取得する
resources.py では、AWSから現在使用しているリソースとバージョンを取得します。
RDS・Auroraの場合は、主に以下の情報を取得します。
- リソース名
- エンジン
- エンジンバージョン
- リージョン
EOSL情報を取得する
eosl.py では、取得したエンジン・バージョンをもとにEOSL情報を取得します。
MySQL 8.0.x
↓
EOSL情報を取得
↓
サポート終了日
取得したEOSL情報と、現在使用しているAWSリソースを紐付けます。
Googleスプレッドシートへ連携する
取得したリソース情報とEOSL情報をまとめて、Googleスプレッドシートへ反映します。
スプレッドシート上で、
- 現在使用しているバージョン
- EOSL
- EOSLまでの残り日数
- 対応状況
をまとめて確認できるようにします。
まとめ
AWSリソースとEOSL情報を取得し、Googleスプレッドシートへ連携することで、EOSLの状況を一覧で確認できるようにしました。
今回はコードを省略しましたが、処理を機能ごとに分けることで、対象サービスの追加や管理項目の変更もしやすい構成にしています。