Используя последний. NET CDK, я пытаюсь создать стек, в котором AMI экземпляра указывается во время развертывания в зависимости от региона, в котором развернут стек. С помощью обычного CloudFormation я мог бы сделать это, используя Mappings, функции AWS :: Region и FindInMap, но с CDK, GenericLinuxImage или LookupMachineImage, по-видимому, не принимают Aws .REGION и вывод CfnMapping.FindInMap () - отложенные значения, и AMI и его регион должны быть известны во время синтеза, а это не то, что мне нужно.
При использовании GenericLinuxImage я получаю ошибку "Unable to determine AMI from AMI map since stack is region-agnostic
".
Возможно ли использовать CfnMapping. FindInMap () и Aws .REGION для указания пользовательского AMI экземпляра?
Фрагмент CFN, поведение которого я хочу воспроизвести:
Mappings:
RegionMap:
us-east-1:
AmiId: ami-XXXXXXXXXXX
...
Resources:
...
InstanceMachine:
Type: AWS::EC2::Instance
Properties:
InstanceType: t3a.large
ImageId: !FindInMap
- RegionMap
- !Ref 'AWS::Region'
- AmiId
Спасибо, Влад.