Попытка добавить дополнительные тома EBS в шаблон формирования облака MarkLogic Cluster - PullRequest
2 голосов
/ 11 декабря 2019

Новая формация Yaml и Cloud. Попытка использовать шаблон MarkLogics для развертывания кластеризованной базы данных MarkLogic с использованием нашего собственного VPC. У нас работает кластер, но мы подошли к тому моменту, когда нам бы хотелось смонтировать дополнительный том для сохранения резервных копий.

Были добавлены дополнительные тома:

 MarklogicVolume1root:
    Type: 'AWS::EC2::Volume'
    Properties:
      AvailabilityZone: !Select [0, !Ref AZ]
      Size: !Ref VolumeSize
      Tags:
        - Key: Name
          Value: MarkLogic-GroupA-Host1-Volume1Aroot
      VolumeType: !Ref VolumeType
      Encrypted: !If [UseVolumeEncryption, 'true', 'false']
      KmsKeyId: !If [HasCustomEBSKey, !Ref VolumeEncryptionKey, !Ref 'AWS::NoValue']
    Metadata:
      'AWS::CloudFormation::Designer':
        id: c81032f7-b0ec-47ca-a236-e24d57b49ae3
  MarklogicVolume1data:
    Type: 'AWS::EC2::Volume'
    Properties:
      AvailabilityZone: !Select [0, !Ref AZ]
      Size: !Ref VolumeSizeData
      Tags:
        - Key: Name
          Value: MarkLogic-GroupA-Host1-Volume1Adata
      VolumeType: !Ref VolumeType
      Encrypted: !If [UseVolumeEncryption, 'true', 'false']
      KmsKeyId: !If [HasCustomEBSKey, !Ref VolumeEncryptionKey, !Ref 'AWS::NoValue']
  MarklogicVolume1backup:
    Type: 'AWS::EC2::Volume'
    Properties:
      AvailabilityZone: !Select [0, !Ref AZ]
      Size: !Ref VolumeSizeBackup
      Tags:
        - Key: Name
          Value: MarkLogic-GroupA-Host1-Volume1Abackup
      VolumeType: !Ref VolumeType
      Encrypted: !If [UseVolumeEncryption, 'true', 'false']
      KmsKeyId: !If [HasCustomEBSKey, !Ref VolumeEncryptionKey, !Ref 'AWS::NoValue']

Обновлены сопоставления блоков в конфигурации запуска и сценарии пользовательских данных:

LaunchConfig1:
    Type: 'AWS::AutoScaling::LaunchConfiguration'
    DependsOn:
      - InstanceSecurityGroup
    Properties:
      BlockDeviceMappings:
       - DeviceName: !Ref MarklogicVolume1root
         NoDevice: true
         Ebs: {}
       - DeviceName: !Ref MarklogicVolume1data
         NoDevice: true
         Ebs: {}        
       - DeviceName: !Ref MarklogicVolume1backup
         NoDevice: true
         Ebs: {} 
      KeyName: !Ref KeyName
      ImageId: !If [EssentialEnterprise, !FindInMap [LicenseRegion2AMI,!Ref 'AWS::Region',"Enterprise"], !FindInMap [LicenseRegion2AMI, !Ref 'AWS::Region', "BYOL"]]
      UserData: !Base64
        'Fn::Join':
          - ''
          - - MARKLOGIC_CLUSTER_NAME=
            - !Ref MarkLogicDDBTable
            - |+

            - MARKLOGIC_EBS_VOLUME1=
            - !Ref MarklogicVolume1root
            - ',:'
            - !Ref VolumeSize
            - '::'
            - !Ref VolumeType
            - |
              ::,*
            - | 
            - MARKLOGIC_EBS_VOLUME2=
            - !Ref MarklogicVolume1data
            - ',:'
            - !Ref VolumeSizeData
            - '::'
            - !Ref VolumeType
            - |
              ::,*
            - |  
            - MARKLOGIC_EBS_VOLUME3=
            - !Ref MarklogicVolume1backup
            - ',:'
            - !Ref VolumeSizeBackup
            - '::'
            - !Ref VolumeType
            - |
              ::,*  
            - |
              MARKLOGIC_NODE_NAME=NodeA#
            - MARKLOGIC_ADMIN_USERNAME=
            - !Ref AdminUser
            - |+

            - MARKLOGIC_ADMIN_PASSWORD=
            - !Ref AdminPass
            - |+

            - |
              MARKLOGIC_CLUSTER_MASTER=1
            - MARKLOGIC_LICENSEE=
            - !Ref Licensee
            - |+

            - MARKLOGIC_LICENSE_KEY=
            - !Ref LicenseKey
            - |+

            - MARKLOGIC_LOG_SNS=
            - !Ref LogSNS
            - |+

            - !If
              - UseVolumeEncryption
              - !Join
                - ''
                - - 'MARKLOGIC_EBS_KEY='
                  - !If
                    - HasCustomEBSKey
                    - !Ref VolumeEncryptionKey
                    - 'default'
              - ''

Мы можем развернуть дополнительные томано они не крепятся. Это также прерывает окончательную настройку экземпляров Ec2, поскольку они также не проходят проверку работоспособности балансировщика нагрузки. Любая помощь или понимание очень ценится!

...