尝试将其他EBS卷添加到MarkLogic集群云形成模板

时间:2019-12-11 13:27:24

标签: amazon-cloudformation marklogic

新的Yaml和云层形成。尝试利用MarkLogics template来利用我们自己的VPC部署群集的MarkLogic DB。我们已经在群集上工作,但是到了我们想要挂载额外卷来保存备份的地步。

添加了其他卷:

 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实例的最终配置,因为它们也未通过负载均衡器运行状况检查。非常感谢您的帮助或见解!

2 个答案:

答案 0 :(得分:0)

文档讨论了将EBS卷添加到实例所需的步骤。

Creating an EBS Volume and Attaching it to an Instance

简要介绍一下,您需要:

完成后,您可能还想手动检查与CF模板关联的DynamoDB表,并确保条目具有来自主机的更新的卷信息。

答案 1 :(得分:0)

Michael的答案是在创建堆栈后如何添加EBS卷,这与如何定义预定义卷的CF模板的问题不同。如果已创建但未装入该卷,则建议您查看系统日志,marklogic日志和/ var / log / messages中的指示。如果那不能提供足够的信息来解决,则应打开支持通知单以寻求帮助。