Что такое выходные данные 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 игнорировать некоторые автоматические проверки, которые он делает.

Другие вопросы по тегам