システム → 環境 → 資産を、ひとつの台帳に
AWSリソースを、システム・環境(PROD / STG / DEV)・資産の階層で管理します。環境ごとに、EC2・RDS・S3・ALBなどの資産が件数つきで並び、変更が入った環境には、変更・追加の件数が出ます。

AWS Drift · Self-hosted
terraform planが見逃す管理外リソースの検知、実態と定義のズレの把握、コンソールで作ったリソースまで含めた台帳化。Dockerで動く、セルフホスト型のAWSインフラ台帳です。
git clone https://github.com/MR-TABATA/SyncVey
cd SyncVey
cp .env.example .env
docker compose up -d
セルフホスト・Docker

AWSリソースを、システム・環境(PROD / STG / DEV)・資産の階層で管理します。環境ごとに、EC2・RDS・S3・ALBなどの資産が件数つきで並び、変更が入った環境には、変更・追加の件数が出ます。

terraform planは、Terraformが知っているリソースしか見ません。SyncVeyはBoto3でAWSのAPIを直接叩き、コンソールで作られたリソースも見つけます。tfstateとの差は、どの属性が変わったかまで出ます。

スキャンとインポートのたびに、ドリフトのスナップショットを残します。推移グラフで、いつ、何がずれ始めたかが分かります。各時点のフィールド単位の差分も保持します。

S3バックエンドは、BucketとKeyを設定するだけで自動で同期します。ローカルのtfstateは、画面からアップロードするだけです。
定義と実態のズレを属性レベルで特定し、Slackへ通知します。スキャン間隔を決めれば、気づかないままのドリフトを減らせます。
変更をセキュリティ影響度で採点します。セキュリティグループが 0.0.0.0/0 に開けばcritical、タグ変更は低リスクです。「Who changed this?」で、CloudTrailから実行者まで辿れます。週次のSlackブリーフィングも使えます。
ドリフトしたリソースを起点に、参照グラフを外側へ辿り、到達しうるリソースを「重大度×距離」で並べます。最も広く波及する変更から直せます。
ローテーションされていないシークレットは、差分を生みません。SyncVeyは差分ではなく現在の状態を採点します。読むのはローテーションのメタデータだけで、シークレットの値は取得も保存もしません。
環境ごとに、サポート終了のランタイムとミドルウェアを検出します。RDS・EKSは「延長サポート中(有償)」、Lambdaは「非推奨」まで、AWSが示す日付で段階的に判定します。標準は内蔵データでオフライン判定で、任意でendoflife.dateから日次で更新できます。
アプリのGitHubリポジトリを一度登録すれば、ロックファイル(requirements.txt・package-lock.json・composer.lock・Gemfile.lock・go.mod)を毎日取り込み直し、ライブラリごとの公開済みの脆弱性が並びます。手で更新する必要はありません。RDSのPostgreSQL・MySQLと、ElastiCacheのRedis・Memcachedは、エンジン版をNVDで照合します。重大度、修正版、リンク、CISAが悪用を確認したものの印まで、事実だけを出します。既定はオフで、外に出るのはパッケージ名と版だけです。
言語、フレームワーク、デプロイ方式、依存パッケージを、環境(PROD / STG / DEV)ごとに管理できます。依存パッケージは、GitHubのリポジトリを登録すれば、毎日自動で追従します。ステージングは別のブランチを指せます。
広すぎるReadOnlyAccessは使いません。スキャンに必要な読み取りだけに絞ったIAMポリシーを同梱しています。
インフラの台帳を、自分の手元に。
無料
セルフホスト・Docker
MITライセンス · ソースはGitHub
git clone https://github.com/MR-TABATA/SyncVey
cd SyncVey
cp .env.example .env
docker compose up -d