aws-amplify / aws-amplify/amplify-cli-export-construct

cdk deploy error with amplify exported backend (appsync + auth)

オープン
#73 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
13
フォーク
16
PR マージ指標
30日以内にマージされた PR はありません

説明

I have and amplify app that has an API Graphql and Auth. Both created from amplify cli. I then exported the amplify app using
`amplify export --out ` following this [guide](https://docs.amplify.aws/javascript/tools/cli/usage/export-to-cdk/#pageMain)

I then proceeded to add in into a CDK project to deploy it on another account and region following this [guide](https://docs.amplify.aws/javascript/tools/cli/usage/export-to-cdk/#use-cdk-for-cross-account-or-cross-region-amplify-backend-deployments)

```typescript
const amplifyBackend = new AmplifyExportedBackend(this, "amplifyExportedBackend", {
amplifyEnvironment: `dev-${cdk.Stack.of(this).region + cdk.Stack.of(this).account}`,
path: path.resolve('.', 'amplify-export-amplifyapp')
})
```

After running deploy I am getting this error:
```text
Failed resources:
amplify-amplifyapp-dev-us-west-2982135724133-151709 | 15:43:46 | CREATE_FAILED | AWS::CloudFormation::Stack | CdkversionStack/amplifyExportedBackend-amplify-backend-stack/AmplifyCfnInclude/apiamplifyapp/apiamplifyapp (apiamplifyapp) Parameters: [authRoleName, unauthRoleName] must have values

❌ CdkversionStack/amplifyExportedBackend-amplify-backend-stack (amplify-amplifyapp-dev-us-west-2982135724133-151709) failed: Error: The stack named amplify-amplifyapp-dev-us-west-2982135724133-151709 failed
creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Parameters: [authRoleName, unauthRoleName] must have values
at FullCloudFormationDeployment.monitorDeployment (C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:430:10615)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Object.deployStack2 [as deployStack] (C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:433:198753)
at async C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:433:180693

❌ Deployment failed: Error: The stack named amplify-amplifyapp-dev-us-west-2982135724133-151709 failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Parameters: [authR
oleName, unauthRoleName] must have values
at FullCloudFormationDeployment.monitorDeployment (C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:430:10615)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Object.deployStack2 [as deployStack] (C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:433:198753)
at async C:\Users\xxxx\AppData\Roaming\nvm\v20.10.0\node_modules\aws-cdk\lib\index.js:433:180693

The stack named amplify-amplifyapp-dev-us-west-2982135724133-151709 failed creation, it may need to be manually deleted from the AWS console: ROLLBACK_COMPLETE: Parameters: [authRoleName, unauthRoleName] must have values
```

Expected Behavior
stack should be deployed in the account and region

This works if I remove the auth, export the amplify app again and only deploy the api.

Node version: v20.10.0
Amplify CLI version: 12.10.1

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

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

調査の方向性

AmplifyExportedBackend の呼び出しと、CDK デプロイで使用されるエクスポートされたバックエンドから始めます。API と Auth を一緒にエクスポートする場合に、パラメーター authRoleName と unauthRoleName がどのように渡されるかを調査し、それを成功する API-only エクスポートと比較します。Auth を有効にした状態で、対象のアカウントとリージョンにエクスポートされたバックエンドが正常にデプロイされれば完了です。

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

評価

技術スタック
aws, typescript
領域
api, authentication, backend, cloud
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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