全部產品
Search
文件中心

Compute Nest:配置參數映射

更新時間:Nov 21, 2024

在全託管服務中,如果您的模板參數之間存在依賴關係,並且在特定條件下希望將參數設定為固定的值,則可以在服務中配置參數映射。計算巢在部署服務執行個體時,在滿足條件的情境下,會自動將您配置的參數值用作執行個體部署。本文介紹如何配置參數映射關係。

背景資訊

全託管服務支援直接添加使用資源棧組添加兩種映射方式添加映射關係。設定後,對應參數自動變為隱藏參數。在使用者建立服務執行個體時,只體現依賴參數,且選擇依賴參數的值後,隱藏的參數自動填寫映射關係中對應參數設定的值。

  • 直接添加:用於少數地區配置參數映射關係。服務商對模板中的參數進行映射關係和子依賴映射設定。選擇依賴參數和對應參數,並設定依賴參數和對應參數的值。

  • 試用資源棧組添加:用於服務部署在多個地區的多個可用性區域且需要在每個地區都配置一個參數映射關係的情況。服務商可以使用資源棧組添加參數映射關係,簡化配置參數映射的操作。

直接添加參數映射關係

操作步驟

  1. 登入計算巢控制台

  2. 在左側導覽列中選擇我的服務,在我建立的服務地區下單擊建立新服務

  3. 建立新服務頁面,設定服務資訊。

    此處只列舉參數映射需要特別配置的參數,其他參數,請參見建立全託管服務

    1. 模板內容框中,輸入模板內容。模板內容的詳細資料,請參見模板樣本

    2. 單擊添加參數映射關係,在彈出的添加參數映射關係彈窗中選擇直接添加並配置相關參數。

      1. 映射配置子依賴項映射配置地區,分別選擇依賴參數對應參數2023-09-18_16-32-49.png

      2. 單擊添加自動參數映射,設定選擇依賴參數對應參數的值。

        在已設定的依賴參數Region後,選擇華東1(杭州);在已設定的對應參數VpcId後,選擇一個已有VPC。2023-09-18_15-46-48.png

      3. 單擊添加子依賴參數,選擇子依賴參數對應參數的值。

        在已設定的子依賴參數ZoneId後,選擇華東 1 可用性區域 K;在已配置的對應參數vSwitchId後,選擇一個已有vSwitch。重複此步驟,添加華東 1 可用性區域 J和對應可用性區域的vSwitch。2023-09-18_16-40-33.png

      4. 單擊確定2023-09-18_16-45-03.png

  4. 單擊儲存服務

使用資源棧組添加參數映射關係

操作步驟

  1. 登入計算巢控制台

  2. 在左側導覽列中,選擇我的服務,並在我的服務頁面中選擇我建立的服務,然後單擊建立新服務

  3. 建立新服務頁面,設定服務資訊。

    此處只列舉使用資源棧組添加參數映射需要特別配置的參數,其他參數,請參見建立全託管服務

    點擊添加自動參數映射,在添加自動參數映射彈窗中配置相關參數。

    1. 選擇使用資源棧組添加頁簽,並添加資源棧組。

      • 若您有已建立的資源棧組,則您可以直接在資源棧組地區,選擇已建立資源棧組的地區、資源棧組ID。

      • 若您還未建立資源棧組,則需要先完成資源棧組的建立,再選擇資源棧組。更多資訊,請參見建立資源棧組

      • 為方便您的操作,計算巢為您提供了兩個建立資源棧組的最佳實務,這兩個模板都會在各地區各可用性區域下建立VPC、交換器、安全性群組等資訊。您只需要單擊對應的名稱,即可跳轉到資源棧組建立頁面。然後根據介面提示填寫相應的參數,完成資源棧組的建立。

        • 使用在某個地區建立VPC、交換器、安全性群組,並指定可用性區域數量建立資源棧時,您需要指定可用性區域數量,且需要保證指定的可用性區域數量不大於地區中的可用性區域真實數量。

        • 使用在某個地區所有可用性區域建立VPC、交換器、安全性群組建立資源棧時,會預設在所有可用性區域下建立。

      2023-09-18_16-55-57.png

    2. 單擊確定

      計算巢會自動產生參數映射。這可能會耗時幾秒鐘,請您耐心等待。2023-09-18_16-57-17.png

  4. 單擊建立服務,並在彈出的確認彈窗中單擊確定

服務執行個體部署效果

服務執行個體部署介面

服務建立完成後,在服務執行個體部署介面,使用者只需要選擇在參數映射中已配置的地區可用性區域資訊,並且VPC參數和vSwitch參數資訊對使用者不可見。部署中

服務執行個體部署完成

服務執行個體部署成功後,VPC參數和vSwitch參數的資訊對使用者也不可見。2024-04-12_16-13-08.png

模板樣本

ROSTemplateFormatVersion: '2015-09-01'
Description:
  zh-cn: 此模板為單一實例自訂鏡像模板樣本,支援選擇已有基礎資源配置,支援配置ECS的付費模式為預付費或者後付費
  en: >-
    This template supports single-instance with custom image, including
    scenarios using existing and creating ECS by prepaid or postpaid model
Parameters:
  SystemDiskCategory:
    AssociationProperty: 'ALIYUN::ECS::Disk::SystemDiskCategory'
    AssociationPropertyMetadata:
      InstanceType: InstanceType
      ZoneId: ZoneId
    Type: String
    Description:
      zh-cn: >-
        <font color='blue'><b>可選值:</b></font><br>[cloud_efficiency: <font
        color='green'>高效雲端硬碟</font>]<br>[cloud_ssd: <font
        color='green'>SSD雲端硬碟</font>]<br>[cloud_essd: <font
        color='green'>ESSD雲端硬碟</font>]<br>[cloud: <font color='green'>普通雲端硬碟</font>]
      en: >-
        <font color='blue'><b>Optional values:</b></font><br>[cloud_efficiency:
        <font color='green'>Efficient Cloud Disk</font>]<br>[cloud_ssd: <font
        color='green'>SSD Cloud Disk</font>]<br>[cloud_essd: <font
        color='green'>ESSD Cloud Disk</font>]<br>[cloud: <font
        color='green'>Cloud Disk</font>]
    Label:
      zh-cn: 系統硬碟類型
      en: System Disk Type
  ECSPeriodUnit:
    AssociationPropertyMetadata:
      Visible:
        Condition:
          'Fn::Not':
            'Fn::Equals':
              - '${InstanceChargeType}'
              - PostPaid
    Description:
      zh-cn: '雲端服務器預付費資源的購買時間長度周期,取值:[Week(周), Month(月)],<br>'
      en: 'ECS Purchase cycle of prepaid resource, value: [Week, Month]<br>'
    Default: Week
    AllowedValues:
      - Week
      - Month
    Label:
      zh-cn: 雲端服務器預付費資源的購買周期
      en: ECS Purchase cycle of prepaid resources
    Type: String
  ECSPeriod:
    AssociationPropertyMetadata:
      Visible:
        Condition:
          'Fn::Not':
            'Fn::Equals':
              - '${InstanceChargeType}'
              - PostPaid
    Description:
      zh-cn: >-
        雲端服務器預付費資源的購買時間長度,當預付費資源的購買周期為Week時,取值範圍:[1,2,3,4];
        當預付費資源的購買周期為Month時,取值:[1,2,3,4,5,6,7,8,9,12,24,36,48,60]<br>
      en: >-
        When the purchase cycle of prepaid resource is week, the value range is:
        [1,2,3,4]; when the purchase cycle of prepaid resource is month, the
        value is: [1,2,3,4,5,6,7,8,9,12,24,36,48,60]<br>
    Default: 1
    Label:
      zh-cn: 雲端服務器預付費資源的購買時間長度
      en: ECS Purchase duration of prepaid resources
    AllowedValues:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 12
      - 24
      - 36
      - 48
      - 60
    Type: Number
  SecurityGroupId:
    AssociationPropertyMetadata:
      VpcId: VpcId
    Description:
      zh-cn: 現有安全性群組的執行個體ID
      en: The instance ID of an existing security group.
    Default: null
    Label:
      zh-cn: 安全性群組ID
      en: Security Group ID
    AssociationProperty: 'ALIYUN::ECS::SecurityGroup::SecurityGroupId'
    Type: String
  SystemDiskSize:
    Default: 40
    Type: Number
    Description:
      zh-cn: '系統硬碟大小, 取值範圍:[40, 500], 單位:GB。'
      en: 'System disk size, range of values: 40-500, units: GB.'
    Label:
      zh-cn: 系統硬碟空間
      en: System Disk Space
  ZoneId:
    AssociationProperty: 'ALIYUN::ECS::Instance::ZoneId'
    Type: String
    Description:
      zh-cn: 可用性區域配置決定了建立ECS執行個體的可用性區域。此外,如果您選擇已有基礎資源配置,僅能選到該可用性區域下的交換器。
      en: >-
        ECS VSwitch Zone ID defines the Availability Zone for creating ECS
        instance. If you choose existing Infrastructure Configuration,you can
        only find the VSwitch under the Availability zone.
    Label:
      zh-cn: ECS交換器可用性區域
      en: ECS VSwitch Zone ID
  DataDiskCategory:
    AssociationProperty: 'ALIYUN::ECS::Disk::DataDiskCategory'
    AssociationPropertyMetadata:
      InstanceType: InstanceType
      ZoneId: ZoneId
    Type: String
    Description:
      zh-cn: >-
        <font color='blue'><b>可選值:</b></font><br>[cloud_efficiency: <font
        color='green'>高效雲端硬碟</font>]<br>[cloud_ssd: <font
        color='green'>SSD雲端硬碟</font>]<br>[cloud_essd: <font
        color='green'>ESSD雲端硬碟</font>]<br>[cloud: <font color='green'>普通雲端硬碟</font>]
      en: >-
        <font color='blue'><b>Optional values:</b></font><br>[cloud_efficiency:
        <font color='green'>Efficient Cloud Disk</font>]<br>[cloud_ssd: <font
        color='green'>SSD Cloud Disk</font>]<br>[cloud_essd: <font
        color='green'>ESSD Cloud Disk</font>]<br>[cloud: <font
        color='green'>Cloud Disk</font>]
    Label:
      zh-cn: 資料盤類型
      en: Data Disk Type
  InstanceChargeType:
    Default: PostPaid
    Label:
      zh-cn: ECS執行個體的付費模式
      en: ECS Instance Billing Method
    Type: String
    Description:
      zh-cn: >-
        <font color='blue'><b>可選值:</b></font><br>[PostPaid: <font
        color='green'>隨用隨付。</font>]<br>[PrePaid: <font
        color='green'>預付費,訂用帳戶。</font>]
      en: >-
        <font color='blue'><b>Optional values:</b></font><br>[PostPaid: <font
        color='green'>Pay as you go.</font>]<br> [PrePaid: <font
        color='green'>Prepaid, subscription.</font>]
    AllowedValues:
      - PostPaid
      - PrePaid
  VpcId:
    Default: null
    AssociationProperty: 'ALIYUN::ECS::VPC::VPCId'
    Type: String
    Description:
      zh-cn: '請選擇已有的VPC<br><b><font color=''blue''>如找不到VPC,請切換地區。</font></b>'
      en: >-
        Please select the existing VPC. <br><b><font color='blue'>If you can't
        find the VPC, please switch Regions.</font></b>
    Label:
      zh-cn: 現有VPC的執行個體ID
      en: Existing VPC ID
  DataDiskSize:
    Description:
      zh-cn: ECS執行個體資料盤大小,單位為GiB。取值範圍:20~32768
      en: 'ECS Instance disk size, range of values: 20-32768, units: GB'
    Default: 100
    MaxValue: 32768
    MinValue: 20
    Label:
      zh-cn: 資料盤空間
      en: Data Disk Space
    Type: Number
  VSwitchId:
    AssociationPropertyMetadata:
      VpcId: VpcId
      ZoneId: ZoneId
    Description:
      zh-cn: 現有網路交換器的執行個體ID
      en: The instance ID of an existing network switch.
    Default: null
    Label:
      zh-cn: 網路交換器ID
      en: VSwitch ID
    AssociationProperty: 'ALIYUN::ECS::VSwitch::VSwitchId'
    Type: String
  Password:
    ConstraintDescription:
      zh-cn: '長度8-30,必須包含三項(大寫字母、小寫字母、數字、 ()`~!@#$%^&*_-+=|{}[]:;''<>,.?/ 中的特殊符號)。'
      en: >-
        Length 8-30, must contain three(Capital letters, lowercase letters,
        numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in).
    Description:
      zh-cn: >-
        伺服器登入密碼,長度8-30,必須包含三項(大寫字母、小寫字母、數字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/
        中的特殊符號)。
      en: >-
        Server login password, Length 8-30, must contain three(Capital letters,
        lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special
        symbol in).
    MinLength: 8
    Label:
      zh-cn: 執行個體密碼
      en: Instance Password
    AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
    NoEcho: true
    MaxLength: 30
    Type: String
  InstanceType:
    AssociationProperty: 'ALIYUN::ECS::Instance::InstanceType'
    AssociationPropertyMetadata:
      InstanceChargeType: '${InstanceChargeType}'
      ZoneId: ZoneId
    Type: String
    Label:
      zh-cn: 執行個體類型
      en: Instance Type
  InternetChargeType:
    Type: String
    Description:
      zh-cn: >-
        <font color='blue'><b>可選值:</b></font><br>[PayByBandwidth: <font
        color='green'>按頻寬付費。</font>]<br>[PayByTraffic: <font
        color='green'>按流量付費。</font>],<br>預設為PayByTraffic
      en: >-
        <font color='blue'><b>Optional values:</b></font><br>[PayByBandwidth:
        <font color='green'>Pay by bandwidth. </font>]<br>[PayByTraffic: <font
        color='green'>Pay by traffic. </font>],<br>The default is PayByTraffic
    Label:
      en: InternetChargeType
      zh-cn: 流量付費類型
    AllowedValues:
      - PayByBandwidth
      - PayByTraffic
    Default: PayByTraffic
  InternetMaxBandwidthOut:
    Type: Number
    Description:
      en: >-
        ECS Internet Max Bandwidth Out. Value range: 0~100. Unit: Mbps. Default
        value: 0.
      zh-cn: ECS最大出頻寬。取值範圍:0~100。單位:Mbps。預設值:0。
    Label:
      en: 'Internet Max BandwidthOut '
      zh-cn: 執行個體公網頻寬
    Default: 0
    MaxValue: 100
    MinValue: 0
Outputs:
  InstanceIds:
    Value:
      'Fn::GetAtt':
        - ECSInstances
        - InstanceIds
Conditions: {}
Resources:
  ECSInstances:
    Type: 'ALIYUN::ECS::InstanceGroup'
    Properties:
      SystemDiskCategory:
        Ref: SystemDiskCategory
      VpcId:
        Ref: VpcId
      InstanceChargeType:
        Ref: InstanceChargeType
      AllocatePublicIP: true
      SecurityGroupId:
        Ref: SecurityGroupId
      InternetChargeType:
        Ref: InternetChargeType
      InternetMaxBandwidthOut:
        Ref: InternetMaxBandwidthOut
      DiskMappings:
        - Category:
            Ref: DataDiskCategory
          Size:
            Ref: DataDiskSize
      SystemDiskSize:
        Ref: SystemDiskSize
      ImageId: centos_7
      PeriodUnit:
        Ref: ECSPeriodUnit
      VSwitchId:
        Ref: VSwitchId
      Period:
        Ref: ECSPeriod
      Password:
        Ref: Password
      InstanceType:
        Ref: InstanceType
      ZoneId:
        Ref: ZoneId
      MaxAmount: 1
    Metadata:
      'ALIYUN::ROS::Designer':
        id: 3d97f557-f6c2-475f-bdca-942c45e583b5
Metadata:
  'ALIYUN::ROS::Interface':
    ParameterGroups:
      - Parameters:
          - ZoneId
        Label:
          default:
            zh-cn: 可用性區域配置
            en: Zone Configuration
      - Parameters:
          - VpcId
          - VSwitchId
          - SecurityGroupId
        Label:
          default:
            zh-cn: 選擇已有基礎資源配置
            en: Choose existing Infrastructure Configuration
      - Parameters:
          - InstanceChargeType
          - ECSPeriodUnit
          - ECSPeriod
          - InstanceType
          - SystemDiskCategory
          - SystemDiskSize
          - DataDiskCategory
          - DataDiskSize
          - InternetChargeType
          - InternetMaxBandwidthOut
          - Password
        Label:
          default:
            zh-cn: ECS 配置(必填)
            en: ECS Configuration
    TemplateTags:
      - 'acs:example:ISV軟體部署:自訂鏡像建立單一實例ECS雲端服務器'