かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Tips AWS Amplify のプロジェクトが削除できなくなった

AWS Amplify のチュートリアルをしていてプロジェクトが削除できなくなってハマったのメモ

ResourceNotFoundException 3S bucket にアクセスできない?

AWS のコンソールからプロジェクトを削除しようとしたら次のようなエラーが出て操作できなくなってしまった

Delete backend dev failed with reason: ResourceNotFoundException - An error occurred while processing your request: S3 bucket amplify-XXXXXX-deployment or object #current-cloud-backend.zip was not found.

AWS-CLI のコマンドで環境を削除する

  • Amplify で S3 bucket を使っているのは Backend 環境
  • amplify-cli ではなく aws-cli のコマンドを使って Amplify の Backend 環境を削除できる

Amplify の Backend 環境を削除するコマンド

$ aws amplify delete-backend-environment --app-id <アプリID> --environment-name <環境名>

アプリID, 環境名

  1. AWS Amplify のコンソールから Backend environments のタブをクリック
  2. 「バックエンドを編集」をクリック
  3. 表示されるコード内に アプリID, 環境名 が含まれている 👇
$ amplify pull --appId <アプリID> --envName <環境名>

Amplify Backend 環境の削除

削除が成功すると削除した環境の情報が表示される

$ aws amplify delete-backend-environment --app-id <アプリID> --environment-name <環境名>
{
    "backendEnvironment": {
        "backendEnvironmentArn": "arn:aws:amplify:ap-northeast-1:XXXXX:apps/XXXXX/backendenvironments/<環境名>",
        "environmentName": "<環境名>",
        "stackName": "XXXXXX",
        "deploymentArtifacts": "XXXXXX-deployment",
        "createTime": "2022-06-07T17:33:20.425000+09:00",
        "updateTime": "2022-06-07T17:33:20.425000+09:00"
    }
}

Troubleshooting

You must specify a region.

削除完了の表示が出ずに You must specify a region. という案内が表示されてしまう

$ aws amplify delete-backend-environment --app-id <アプリID> --environment-name <環境名>
You must specify a region. You can also configure your region by running "aws configure".
aws configure で Profile の再ヒモ付を行う

AWS-CLI に紐付けられている IAM Profile と Amplify を操作できる IAM Profile が異なるか、認証が切れているのではないかと思われる。
aws configure で Amplify を操作できる IAM Profile と紐付けたら削除できるようになった

$ aws configure
AWS Access Key ID: <Access Key ID>
AWS Secret Access Key: <Secret Access Key>
Default region name [None]: <Reasion> # ap-northeast-1
Default output format [None]: # json
# Profile の再設定後に削除を実行すればOK
$aws amplify delete-backend-environment --app-id <アプリID> --environment-name <環境名>
{
    "backendEnvironment": {
        "backendEnvironmentArn": "arn:aws:amplify:ap-northeast-1:XXXXX:apps/XXXXX/backendenvironments/<環境名>",
        "environmentName": "<環境名>",
        "stackName": "XXXXXX",
        "deploymentArtifacts": "XXXXXX-deployment",
        "createTime": "2022-06-07T17:33:20.425000+09:00",
        "updateTime": "2022-06-07T17:33:20.425000+09:00"
    }
}

所感

チュートリアルに書かれているコマンドが古いのか、やっているてもチュートリアルで書かれている通りにならず環境再構築とか繰り返しているとコンソールから操作不能になってしまってかなり焦りました。
何とか危機を脱しましたが AWS Amplify サクッと環境できて便利だけど、AWSの理解が浅いとトラブルとブラックボックス過ぎてなんもわからん…ってなるからトラブルとチョット困る。


[参考]