Я создаю том EFS в облачной среде и пытаюсь сослаться на это в пользовательских данных шаблона запуска.
Я пробовал несколько синтаксисов использования Ref в CF, но каждый раз получал одну и ту же ошибку.Я действительно хочу делать разные вещи с EFS, но публикую пример кода, который также не работает
ClusterFileSystem:
Type: AWS::EFS::FileSystem
Properties:
Encrypted: true
ClusterLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
DependsOn: ClusterFileSystem
Properties:
LaunchTemplateName: !Sub ${AWS::StackName}
LaunchTemplateData:
ImageId: !Ref 'AMIId'
SecurityGroupIds: [!GetAtt 'ClusterSecurityGroup.GroupId']
InstanceType: !Ref 'InstanceType'
BlockDeviceMappings:
- DeviceName: "/dev/xvda"
Ebs:
VolumeSize: "40"
VolumeType: "gp2"
Encrypted: true
- DeviceName: "/dev/xvdcz"
Ebs:
VolumeSize: "22"
VolumeType: "gp2"
Encrypted: true
IamInstanceProfile:
Name: 'ECSHostInstanceProfile'
Monitoring:
Enabled: true
KeyName: !Ref 'Key'
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
function setup-efs () {
{
mkdir -p /ecs-resources/${AWS::StackName}/environment
EFS_FILE_SYSTEM_ID= !Ref ClusterFileSystem
echo ${EFS_FILE_SYSTEM_ID} >> /tmp/xyz.txt
}
Это ошибка, которую я получаю -
Ошибка формата шаблона: неразрешенные зависимости ресурса [EFS_FILE_SYSTEM_ID]в блоке ресурсов шаблона Произошла ошибка (ValidationError) при вызове операции UpdateStack: Ошибка формата шаблона: неразрешенные зависимости ресурса [EFS_FILE_SYSTEM_ID] в блоке ресурсов шаблона - "