Что такое выходные данные AWS Attribute и значение ImportValue в облачной формации
я начинаю свое путешествие в AWS, и сегодня у меня есть возможность создатьcloudformation
стек для создания файловой системы на AWS, я смог запустить файловую систему, однако у меня мало сомнений относительно некоторых значений и функций/атрибутов, поскольку они были предоставлены кем-то из команды, и он был в длительном отпуске, поэтому прошу здесь о помощи.
Нижеcloudfoemation Stack
который работает просто отлично.
Стек Cloudformaton:
---
Description: "Create FSxN filesystem"
Resources:
MytestCluster:
Type: "AWS::FSx::FileSystem"
Properties:
FileSystemType: "ONTAP"
StorageCapacity: "1024"
SubnetIds: ['subnet-0f349h6eee098b0pg']
OntapConfiguration:
DeploymentType: "SINGLE_AZ_1"
PreferredSubnetId: "subnet-0f349h6eee098b0pg"
ThroughputCapacity: "128"
FsxAdminPassword: '{{resolve:secretsmanager:fsx_admin_password}}'
SecurityGroupIds:
- !ImportValue 'KPCL-FSxforONTAPsgID'
Tags:
- Key: "Backup"
Value: "None"
MytestSVM:
Type: "AWS::FSx::StorageVirtualMachine"
Metadata:
cfn-lint:
config:
ignore_checks:
- E3001
Properties:
FileSystemId: !Ref MytestCluster
Name: svmdemo
RootVolumeSecurityStyle: "UNIX"
SvmAdminPassword: '{{resolve:secretsmanager:svm_admin_password}}'
Tags:
- Key: "Backup"
Value: "None"
fsxndemovolume:
Type: "AWS::FSx::Volume"
Metadata:
cfn-lint:
config:
ignore_checks:
- E3001
Properties:
Name: myTestVol001
OntapConfiguration:
JunctionPath: /myVolume001
SizeInMegabytes: 1536000
StorageEfficiencyEnabled: true
StorageVirtualMachineId: !Ref MytestSVM
VolumeType: "ONTAP"
Tags:
- Key: "Backup"
Value: "None"
Outputs:
FileSystemId:
Value: !Ref "MytestCluster"
SvmId:
Value: !Ref "MytestSVM"
...
Я хотел бы понять:
У меня мало сомнений в себе, чтобы прояснить, что я пытался понять из документа, но не мог хорошо понять, поэтому, хотя и прислушиваюсь к мнению экспертов.
Первый: ниже подSecurityGroupIds
что значит - !ImportValue
значит здесь.
SecurityGroupIds:
- !ImportValue 'KPCL-FSxforONTAPsgID'
Второй: что такоеoutputs
значит здесь.
Outputs:
FileSystemId:
Value: !Ref "MytestCluster"
SvmId:
Value: !Ref "MytestSVM"
Последний: что этоignore_checks:
и его стоимость- E3001
здесь.
ignore_checks:
- E3001
Пожалуйста, помогите мне понять.
2 ответа
Выходы в стеке создают экспорты в облачной формации, которые можно перечислить в консоли AWS,!Import
директива используется для ссылки на экспорт из другого стека.
cfn-lint
раздел в метаданных используется для скрытия ошибок в инструменте CloudFormation Linter и не влияет на сам ресурс.
Первый: ниже под SecurityGroupIds что здесь означает !ImportValue.
Следующее:
SecurityGroupIds:
- !ImportValue 'KPCL-FSxforONTAPsgID'
означает, что в текущем стеке вы собираетесь импортировать идентификатор группы безопасности, который был экспортирован каким-либо другим стеком.
Эта функция экспорта/импорта позволяет отделить и повторно использовать вашу инфраструктуру. Вместо того, чтобы иметь все в одном стеке, вы можете создать один стек с сетевыми ресурсами (это обычная настройка), такими как группы безопасности, подсети, VPC и другие стеки, которые фактически используют эти ресурсы.
Второй: что здесь означает выходы.
Выходы позволяют вам возвращать значения из ваших стеков. Вы можете думать о них как о типе возвращаемых значений функций в распространенных языках программирования.
Выходные значения имеют множество вариантов использования. Примеры: их можно экспортировать и импортировать в другие стеки. Их также можно запрашивать программно, если ваши стеки являются частью некоторых конвейеров CI/CD или другого приложения. Их можно использовать в качестве входных параметров для других стеков, опять же, как порт некоторого конвейера CI/CD. Это альтернатива функциям экспорта/импорта.
Последнее: что такое ignore_checks: и его значение - E3001 здесь.
Это какой-то дополнительный код, не связанный с самим CloudFormation. На самом деле это подсказка редактору Visual Studio Code cfn-lint-visual-studio-code игнорировать некоторые автоматические проверки, которые он делает.