tatsumiyamamoto.com

aws-cdk で Received response status [FAILED] from custom resource. Message returned: ParameterAlreadyExists というエラーがでたときの解決方法

2023-07-15

# 現象

npx cdk deploy --allnpx cdk destroy --all を繰り返していたら、以下のようなエラーが出た。

エラー内容
Received response status [FAILED] from custom resource. Message returned: ParameterAlreadyExists: The parameter already exists. To overwrite this value, set the overwrite option in the request to true.

npx cdk destroy --all をやり直してみたり、マネジメントコンソールから stack を削除してみたり、色々試したが解決しなかった。 エラーで検索してみると、 stackoverflow や github の issue がヒットしたが、具体的な解決方法は載っていなかった。

How to solve : "Received response status [FAILED] from custom resource. Message returned: Resource is not in the state certificateValidated"? CDK
I have the following error trying to create a static website inspired by https://github.com/aws-samples/aws-cdk-examples/blob/master/typescript/static-site/static-site.ts const certificateArn = ne...
How to solve : "Received response status [FAILED] from custom resource. Message returned: Resource is not in the state certificateValidated"? CDK favicon https://stackoverflow.com/questions/68733127/how-to-solve-received-response-status-failed-from-custom-resource-message
How to solve : "Received response status [FAILED] from custom resource. Message returned: Resource is not in the state certificateValidated"? CDK
(core): crossRegionReference only works for first destination region · Issue #24464 · aws/aws-cdk
Describe the bug When referencing a value from a source stack in two destination regions, only the first region is granted permissions on the CrossRegionExportWriterCustomerResourceProvider/Role, r...
(core): crossRegionReference only works for first destination region · Issue #24464 · aws/aws-cdk favicon https://github.com/aws/aws-cdk/issues/24464
(core): crossRegionReference only works for first destination region · Issue #24464 · aws/aws-cdk

# 解決方法

どうやら ParameterAlreadyExists というエラーは ssm のエラーらしいので、stack を削除する際に消えていない parameter があると思った。 そこで、以下のようなコマンドで調べた。

ssmのparameterを一覧表示する
aws ssm get-parameters-by-path --path '/' --recursive

そうすると、version を管理していると思われる aws-cdk のパラメータの他に、なんだか見覚えのない parameter があったので以下のコマンドで削除した。

特定のparameterを削除する
aws ssm delete-parameter --name キー

その後、npx cdk deploy --all などするとうまくいった。ネット上に情報がなかったので、同じように悩んでいる人の助けになれば幸いです。

# 参考

【AWS】AWS CLIでParameter Storeから値を取得する - suer TIL
Parameter Storeから値を取得するコマンド $ aws ssm get-parameter --name キー 以下のようなJSONが返ってくる。 { "Parameter": { "Name": "キー", "Type": "String", "Value": "値&#
【AWS】AWS CLIでParameter Storeから値を取得する - suer TIL favicon https://atsum.in/aws/aws-cli-parameter-store/
【AWS】AWS CLIでParameter Storeから値を取得する - suer TIL