Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[infra]デプロイ済みAWSリソースを全削除して継続課金を停止する

オープン
#227 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
リファクタリング
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
aws, github-actions, terraform

調査の方向性

Start with infra/dev/README.md and infra/bootstrap/README.md, then verify the AWS account, region, backend key, state, and safety gates before any deletion. Review the saved terraform plan and check GitHub OIDC and AWS-specific variables. Done means the Hanasu resources and state bucket are removed, independent checks pass, and later Billing verification shows no new recurring charges.

索引モデルが issue の本文から書いたものです。

説明

種別: 運用作業 — AWS・GitHub上の実環境を変更し、結果をIssueへ記録する。コード変更やPR作成は行わない。

目的

AWSアカウント 926046660554 にデプロイ済みのHanasu dev環境と、そのTerraform state用リソースを廃止し、AWSリソースによる新たな継続課金が発生しない状態にする。

過去利用分の請求とBillingへの反映遅延は残り得るため、「請求額が即時0円になること」ではなく、「課金対象リソースが残らず、削除後に新しい利用料が増えないこと」を完了基準とする。

完了条件

  • RDSデータ、最終snapshot、ECR image、CloudWatch Logs、Amplify配備履歴、JWT/AmiVoice/RDSのsecret、Terraform state履歴が復旧不能になることを確認し、実行直前の明示承認をIssueへ記録している
  • AWSアカウント 926046660554、リージョン ap-northeast-1、backend key ecs/terraform.tfstate のstateとAWS実体を照合し、レビュー済みの保存済みdestroy planだけを適用して infra/dev のstateが空になっている
  • AWS側の独立監査でHanasu所有の課金対象リソースが残っていない。削除予約中のSecrets Manager secretがある場合は、課金停止状態と完全削除予定日を記録している
  • GitHub OIDC providerの他用途からの参照を確認し、Hanasu専用なら削除、共有なら別管理へ移管している。AWSリソース固有のGitHub Actions Variablesも削除または無効化している
  • dev環境の削除確認後、versioning済みstate bucketの全object versionとdelete markerを削除してbucket自体を削除し、翌日以降のBilling確認でも新しい継続課金がないことをIssueへ記録している

実行範囲

  1. 手動デプロイを凍結し、実行中のGitHub Actionsがないことを確認する
  2. caller identity、リージョン、Terraform state、AWS側リソースを棚卸しする
  3. terraform plan -destroy -out=<一時plan> の対象・件数をレビューし、そのplanだけをapplyする
  4. RDS、ECS/Fargate、ALB、CloudFront、Amplify、ECR、CloudWatch Logs、Secrets Manager、VPC/ENI/Public IPv4/EIP/NAT Gateway/VPC endpoint、IAMをAWS側から再確認する
  5. GitHub Actions Variablesのうち、削除したAWS環境のARN・app ID・URLを削除または無効化する
  6. 最後に hanasu-terraform-state-926046660554 の用途と全keyを確認し、全version/delete markerを削除してbucketを削除する
  7. 翌日以降にCost Explorer/Billingを確認し、削除後の新規利用料が発生していないことを記録する

安全ゲート・停止条件

  • AWS account、region、backend keyのいずれかが想定と一致しない
  • state lock、実行中のdeploy、他作業との競合がある
  • stateとAWS実体が一致しない、またはHanasu所有か不明なリソースがある
  • RDS等のデータ保持やbackupが必要だが、保存先・保持期間が決まっていない
  • GitHub OIDC providerを別IAM roleが参照している
  • state bucketに ecs/terraform.tfstate とlock以外の用途不明なkeyがある
  • destroy planにHanasu dev環境外または共有リソースが含まれる

上記の場合は削除を開始しない。途中失敗時も -target、terraform state rm、AWSコンソールからの強制削除へ進まず、stateと実体を再照合して判断を仰ぐ。

削除時の注意

  • aws_db_instance.main は skip_final_snapshot = true のため、RDSは最終snapshotなしで削除される
  • ECRは force_delete = true のため、imageを含めて削除される
  • Secrets Managerは削除予約中に物理的には残る場合があるが、既存の検討記録上は課金対象外。安全のため回復期間は維持し、完全削除予定日を記録する
  • aws_iam_openid_connect_provider.github_actions はアカウント内で共有され得るため、外部参照の有無を確認する
  • state bucketは別stateで prevent_destroy = true、かつversioning有効。infra/bootstrap のlocal stateが現作業ツリーにないため、dev削除完了後にAWS CLIで全version/delete markerを明示的に削除し、空を確認してからbucketを削除する
  • stateやplanには秘密値が含まれ得るため、内容をIssueへ貼らない。一時planとログは安全に削除する

やらないこと

  • アプリ、Terraform、workflowのコード変更やPR作成
  • AWS環境の再apply・再デプロイ
  • Hanasu所有と確認できない共有リソースの削除
  • state、secret値、認証情報、生のplan/logのIssue添付
  • AmiVoice等、Terraform管理外の第三者サービス契約の解約

検証方法

  • terraform state list が空であること
  • 上記AWSサービスごとの一覧・describe結果にHanasu所有の課金対象リソースがないこと
  • state bucketにobject version/delete markerがなく、bucketが存在しないこと
  • GitHub ActionsのAWS固有Variablesが削除または無効化されていること
  • 翌日以降のCost Explorer/Billingで、削除後の新しい継続利用料が確認されないこと

検証結果は、実行日時、対象account/region、destroy件数、残存確認結果、Billing確認日時だけをIssueへ記録し、秘密値やstate内容は記載しない。

前提・依存

対象外だが別途確認すること

AmiVoiceのAPI keyをAWS Secrets Managerから削除しても、AmiVoice側の契約・課金は停止しない。第三者サービスも含めて費用を完全停止する場合は、契約状況を別途確認する。

主要言語
HTML
スター
1
フォーク
0
平均マージ
1時間 19分
マージ済み PR(30日)
76

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

study-basic-hackathon/hanasu のほかの issue

study-basic-hackathon/hanasu の issue をすべて見る

似ている issue

Cloud の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。