小编Dat*_*ody的帖子

AWS CDK:部署 Redis ElastiCache 时出错:子网组与 CacheCluster 属于不同的 VPC

概括

我正在尝试使用 CDK 在 AWS 上部署 Redis ElastiCache 集群。

出于安全原因,我希望集群位于 VPC 内。

我的代码(见上文)定义了一个 VPC、一个安全组、一个缓存子网组(链接到 vpc 私有子网)和缓存集群(链接到缓存子网组和安全组)。

使用cdk deploy,部署顺利,直到我收到此错误:

ACL_redis (ACLredis) Subnet group [default] belongs to a different VPC [vpc-326ce55b] than [vpc-0c45b593f3a5fdc4d] (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 901398f4-c355-418d-921b-65e6c52dfe3a)
Run Code Online (Sandbox Code Playgroud)

我试过的

禁用回滚时,似乎缓存集群是在该区域的默认 VPC 中创建的,而不是在我的堆栈中定义的 VPC。我不明白 Cloud Formation 为什么要这样做,因为安全组和缓存子网组都链接到堆栈的 VPC。

根本没有对区域默认 VPC 的引用。

一些代码

这是CDK代码

from aws_cdk import (
    core,
    aws_stepfunctions,
    aws_lambda,
    aws_stepfunctions_tasks,
    aws_sqs,
    aws_elasticache,
    aws_ec2,
)

PROJECT_CODE = 'ACL'


class AclAwsCdkLearningStack(core.Stack):

    def __init__(self, scope: core.Construct, id: …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-elasticache amazon-vpc aws-cdk

5
推荐指数
1
解决办法
1886
查看次数