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

Ian*_*Ian 6 amazon-web-services aws-cdk github-actions

我正在尝试部署一个简单的堆栈来AWS使用CDK. 不幸的是,当我通过 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" });

Run Code Online (Sandbox Code Playgroud)

按照文档,这在我看来是正确的。据我所知,我还没有在其他地方定义任何东西。如果我运行,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
Run Code Online (Sandbox Code Playgroud)

Den*_*aub 3

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

- name: CDK Deploy
  env:
    AWS_DEFAULT_REGION: eu-west-1
    ...
  run: |
    npm install -g aws-cdk
    cdk bootstrap
    cdk deploy --require-approval never
Run Code Online (Sandbox Code Playgroud)