0

J'ai un problème étrange avec CloudFormation qui semble être un bug, ou plus probablement - j'ai manqué quelque chose de très basique.Cloudformation - ElastiCache :: SubnetGroup n'honore pas le nom de la ressource

je le modèle suivant (un extrait) définissant deux sous-réseaux et un groupe de sous-réseau comme suit:

...

"redissubnet1": { 
    "Type": "AWS::EC2::Subnet", 
    "Properties": { 
    "CidrBlock": "10.0.8.0/24", 
    "AvailabilityZone": "us-east-1c", 
    "VpcId": { 
     "Ref": "myVPC" 
    }, 
    "Tags": [ 
     { 
     "Key": "Name", 
     "Value": "redissubnet1" 
     } 
    ] 
    } 
}, 
"redissubnet2": { 
    "Type": "AWS::EC2::Subnet", 
    "Properties": { 
    "CidrBlock": "10.0.9.0/24", 
    "AvailabilityZone": "us-east-1c", 
    "VpcId": { 
     "Ref": "myVPC" 
    }, 
    "Tags": [ 
     { 
     "Key": "Name", 
     "Value": "redissubnet2" 
     } 
    ] 
    } 
}, 
"SubnetGroupName": { 
    "Type": "AWS::ElastiCache::SubnetGroup", 
    "Properties": { 
    "Description": "Subnet group for main application redis elastic cache", 
    "SubnetIds": [ 
     { 
     "Ref": "redissubnet1" 
     }, 
     { 
     "Ref": "redissubnet2" 
     } 
    ] 
    } 
} 

...

Toutes les ressources sont créées, mais le nom SubnetGroup - "SubnetGroupName" - n'est pas honoré. AWS attribue automatiquement un nom au format [a-z] - [a-z] - [a-z0-9]

Est-ce que quelqu'un a rencontré ce problème? Ce que j'essaie réellement de faire est de faire référence à ce groupe de sous-réseau par son nom lors de la création d'un ElastiCache :: Cluster - mais parce que le nom de la ressource n'est pas honoré, je ne peux pas le faire.

Vous avez des idées? Toute l'aide reçue avec gratitude :)

+0

hah, a résolu le problème moi-même. La réponse est de référencer le nom du groupe de sous-réseau. Extrait complet ci-dessous –

Répondre

0

réponse était de référencer le nom du groupe de sous-réseau dans la ressource de cache élastique, comme suit:

{ 
"subnet1": { 
    "Type": "AWS::EC2::Subnet", 
    "Properties": { 
     "CidrBlock": "10.0.8.0/24", 
     "AvailabilityZone": "us-east-1c", 
     "VpcId": { 
      "Ref": "myVPC" 
     }, 
     "Tags": [{ 
      "Key": "Name", 
      "Value": "subnet1" 
     }] 
    } 
}, 
"subnet2": { 
    "Type": "AWS::EC2::Subnet", 
    "Properties": { 
     "CidrBlock": "10.0.9.0/24", 
     "AvailabilityZone": "us-east-1c", 
     "VpcId": { 
      "Ref": "myVPC" 
     }, 
     "Tags": [{ 
      "Key": "Name", 
      "Value": "subnet2" 
     }] 
    } 
}, 
"redis1": { 
    "Type": "AWS::ElastiCache::SubnetGroup", 
    "Properties": { 
     "Description": "Subnet group for main application redis elastic cache", 
     "SubnetIds": [{ 
      "Ref": "subnet1" 
     }, { 
      "Ref": "subnet2" 
     }] 
    } 
}, 
"mainredis": { 
    "Type": "AWS::ElastiCache::CacheCluster", 
    "Properties": { 
     "AutoMinorVersionUpgrade": "true", 
     "CacheNodeType": "cache.t2.small", 
     "CacheSubnetGroupName": { 
      "Ref": "redis1" 
     }, 
     "ClusterName": "mainredis", 
     "Engine": "redis", 
     "NumCacheNodes": "1", 
     "Port": "6379", 
     "Tags": [{ 
      "Key": "Name", 
      "Value": "mainredis" 
     }, { 
      "Key": "Function", 
      "Value": "Main redis store" 
     }], 
     "VpcSecurityGroupIds": [ 
      "redissecuritygroup" 
     ] 
    } 
    } 
}