API Gateway のデプロイ履歴の不要なデプロイバージョンを削除する方法を教えてください

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

API Gateway のマネジメントコンソールより確認できるデプロイ履歴の不要なデプロイバージョンを削除したいのですが、項目が見当たりません。
デプロイバージョンを削除する方法を教えてください。

どう対応すればいいの?

デプロイ履歴のデプロイバージョンはマネジメントコンソールからは削除できません。
削除をしたい場合は、AWS CLI の delete-deployment コマンドより削除することができます。

aws apigateway delete-deployment --rest-api-id 1234123412 --deployment-id a1b2c3

特定のバージョン(deployment-id)を指定するには get-deployments コマンドの id より取得することができます。

aws apigateway get-deployments --rest-api-id 1234123412

やってみた

3 バージョンのステージのデプロイ履歴となります。
今回は、事前に不要と判断した v1 を削除します。
AWS CLI は v2 を利用しております。

(1). rest-api-id を取得します。

(2). AWS CLI にて get-deployments コマンドで id (バージョンを示す)を取得します。

% aws apigateway get-deployments --rest-api-id "abcdefgh12" 
{
    "items": [
        {
            "id": "abc123",
            "description": "v1",
            "createdDate": "2022-04-16T04:02:05+09:00"
        },
        {
            "id": "abc456",
            "description": "v3",
            "createdDate": "2022-04-16T04:03:21+09:00"
        },
        {
            "id": "abc789",
            "description": "v2",
            "createdDate": "2022-04-16T04:02:48+09:00"
        }
    ]
}

(3). 取得した id を利用して、delete-deployment コマンドより不要なバージョンを削除します。

% aws apigateway delete-deployment --rest-api-id "abcdefgh12" --deployment-id "abc123"

マネジメントコンソールより v1 が削除されていることを確認します。

参考情報