2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon CodeCatalystでゾンビと遭遇した話

Posted at

みなさんAmazon CodeCatalyst使っていますか?
とても便利なのでわたしは気に入って使っています。
・・・ですが、先日とあるプロジェクトで利用を止めたことがありました (※)。
今回はそのとき遭遇した開発環境のゾンビ:skull:に纏わるトラブルについて綴ります。

※当時はCodeCatalystからVPC内リソースにアクセスできず、その点がネックとなり使用を断念しました。2023/11にVPCへ対応しましたが、対応リージョンはオレゴンとアイルランドのみです。東京リージョンに対応することを待ち望んでいます・・・!

まとめ

  • CodeCatalystはFree tierでも課金が発生する場合があるため、利用を止めたときは課金状況をチェックしましょう。
  • CodeCatalystはAWS CLIで操作できます。

CodeCatalystで想定外の課金が発生

とあるプロジェクトにてAmazon CodeCatalystをStandard tierで利用していましたが、別のツールに移行することが決まり、プランをFree tierに戻したことがありました。その際、今後の再利用に備えてスペースは残したままにしていました。

あるときAWS課金状況を確認していたところ、Free tierに戻したはずのCodeCatalystで料金が発生:moneybag:していることに気がつきました。

なぜ・・・?

image.png

該当プロジェクトのAWSコストの大半はRDSが占めており、CodeCatalystのコストは相対的に小さかったため、なかなか気づくことができなかったのだと思います。
課金項目はUSW2-Storage-Dev-Environment-Billedというもので、開発環境のストレージに関する課金だと名前から推測できました。

マネジメントコンソールから開発環境を削除できない

最初にマネジメントコンソールを見たところ、エラーメッセージが表示されていました。

image.png

どうやら開発環境のストレージ上限を超過しているようです。
もしや・・・開発環境を残したままFree tierに戻すと開発環境が課金ゾンビ:moneybag::skull:として残ってしまう・・・?

画面のリロードを何度試しても開発環境を表示することができません。
操作しているユーザはスペース管理者であったため、権限の問題でもなさそうでした。

AWSサポートに問い合わせた

手詰まりになってしまったため、AWSサポートに問い合わせました。
海外部署への問合せになるということで約2週間ほどかかり、開発環境が13個残っているという回答を得ました。
これは「削除の方法」を聞くべきだったところを「課金されている理由」を聞いてしまったためです・・・
また質問を重ねると期間を要してしまう、そんな状況でふと気づきました。

そういえばAWS CLIを使えばいいのでは?:bulb:

AWS CLIを使ってみた

セットアップ

まず こちら の手順に従ってAWS CLIをセットアップする必要があります。
ポイントは下記2点です。

  • AWS CLIのバージョンが最新であること。
  • CodeCatalyst固有のプロファイル設定が必要であること。

コマンド例

開発環境の数量を確認する

$ aws codecatalyst list-dev-environments --space-name xxx | jq '.items | length'
13

開発環境のスペース、プロジェクト、IDを確認する

$ aws codecatalyst list-dev-environments --space-name xxx | jq -r '.items[] | [.spaceName, .projectName, .id] | @csv'
xxx, yyy, 231a8a37-4868-4ca0-9ff8-434070de6caa
xxx, yyy, 6e32c963-ee38-49e8-9f4e-da2780d2c1be
xxx, yyy, e805a212-6ab4-43f8-bf46-8688ad3b659f
xxx, yyy, 1ca709f1-5d4a-4014-86f1-3f7bb7da1ad9
xxx, yyy, f526e538-c4be-4cad-ab83-af5d4edbae52
xxx, yyy, 4709fb48-cf10-40c2-b15e-4fcab6c2be10
xxx, yyy, d7c64a84-9db7-46cd-87e9-de3fc06b167f
xxx, yyy, 023038b7-e3a0-44c9-a5af-d0b72f8be022
xxx, yyy, a28e272f-dda3-4636-bed3-ebd80e01cc3c
xxx, yyy, 5f6cb71a-4666-4325-ba62-6dd353f0bd73
xxx, yyy, bf807ef9-acb0-441b-a9a4-783ff58b1637
xxx, yyy, 6c76f696-7be2-4c51-99b8-1411e881e98a
xxx, yyy, 090c570c-ecfd-44de-add5-ba700b3173a3

開発環境を削除する

$ aws codecatalyst delete-dev-environment --space-name xxx --project-name yyy --id 231a8a37-4868-4ca0-9ff8-434070de6caa
{
    "spaceName": "xxx"
    "projectName": "yyy"
    "id": "231a8a37-4868-4ca0-9ff8-434070de6caa"
}

さいごに

AWS CLIを利用することで課金ゾンビを無事倒すことができました。
なぜAWS CLIの利用をすぐに思いつかなかったのか定かではありませんが、CodeCatalystはその他AWSサービスとは別物、という感覚がなんとなくあったからなのかもしれません。
レアケースかもしれませんが、どなたかの参考になれば幸いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?