如何配置 CDK 以部署到正确的区域?

How do I configure CDK to deploy to the correct region?

我正在尝试使用 CDK 将一个简单的堆栈部署到 AWS。不幸的是,当我 运行 通过我的 GitHub 操作工作流程将它部署到错误的区域时,我无法弄清楚为什么...

我的 bin\cdk.js 的内容看起来像(示例帐户):

#!/usr/bin/env node

const cdk = require("@aws-cdk/core");
const { CdkStack } = require("../lib/cdk-stack");

const app = new cdk.App();
new CdkStack(app, "CdkStack", { account: "000000000001", region: "eu-west-1" });

根据文档,我认为这看起来是正确的。据我所知,我还没有在其他任何地方定义任何东西。如果我 运行 a cdk bootstrap 会生成 CloudFormation。唯一对区域的引用是:

"environment": "aws://unknown-account/unknown-region",

我是不是漏掉了一些非常明显的东西?我在我的管道中配置它的方式只是使用:

            - name: CDK Deploy
              env:
                  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID}}
                  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
              run: |
                  npm install -g aws-cdk
                  cdk bootstrap
                  cdk deploy --require-approval never

您可以在管道配置中将默认区域设置为环境变量:

- name: CDK Deploy
  env:
    AWS_DEFAULT_REGION: eu-west-1
    ...
  run: |
    npm install -g aws-cdk
    cdk bootstrap
    cdk deploy --require-approval never