You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS CDK v2获取已有Amplify应用以添加自定义域名?

使用AWS CDK v2获取现有Amplify应用并添加自定义域名

核心实现方式:通过应用ID导入现有应用

AWS CDK v2的Amplify模块没有直接提供getAppByName类方法,但可以通过应用ID导入已部署的Amplify应用,后续即可为其添加自定义域名配置,具体步骤如下:

  1. 获取目标Amplify应用的ID

    • 登录AWS控制台进入Amplify服务,找到目标应用后,在「应用设置-常规」页面查看应用ID;
    • 或通过AWS CLI命令快速查询:
      aws amplify list-apps --query 'apps[?name==`你的应用名称`].appId' --output text
      
  2. 在CDK代码中导入并配置自定义域名
    使用AmplifyApp.fromAppId静态方法导入现有应用,再调用addDomain方法添加自定义域名配置:

    import * as cdk from 'aws-cdk-lib';
    import * as amplify from 'aws-cdk-lib/aws-amplify';
    import * as route53 from 'aws-cdk-lib/aws-route53';
    
    export class CustomDomainStack extends cdk.Stack {
      constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
        super(scope, id, props);
    
        // 导入现有Amplify应用
        const existingApp = amplify.AmplifyApp.fromAppId(this, 'ImportedAmplifyApp', '你的Amplify应用ID');
    
        // 导入托管自定义域名的Route53托管区
        const hostedZone = route53.HostedZone.fromLookup(this, 'TargetHostedZone', {
          domainName: '你的自定义域名',
        });
    
        // 为现有应用添加自定义域名
        existingApp.addDomain('AmplifyCustomDomain', {
          domainName: '你的自定义域名',
          hostedZone: hostedZone,
          enableAutoSubdomain: true, // 可选:自动为分支生成子域名
          subDomains: [
            {
              branch: existingApp.mainBranch,
              prefix: 'www',
            },
          ],
        });
      }
    }
    

补充说明

  • 若需要通过应用名称动态获取ID,可在CDK代码中结合AWS SDK调用listApps接口,但需为CDK执行角色配置amplify:ListApps权限;
  • 导入现有应用后,CDK仅会新增自定义域名相关资源,不会修改应用原有基础配置;
  • 确保CDK执行角色拥有amplify:GetApp、amplify:CreateDomainAssociation等必要权限。

内容的提问来源于stack exchange,提问作者tomtom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:23:13