全部產品
Search
文件中心

:ALIYUN::KAFKA::Instance

更新時間:Oct 15, 2024

ALIYUN::KAFKA::Instance類型用於建立Kafka執行個體。

文法

{
  "Type": "ALIYUN::KAFKA::Instance",
  "Properties": {
    "DeployType": Integer,
    "DiskType": String,
    "DeployOption": Map,
    "EipMax": Integer,
    "SpecType": String,
    "IoMax": Integer,
    "IoMaxSpec": String,
    "DiskSize": Integer,
    "TopicQuota": Integer,
    "PayType": String,
    "Tags": List,
    "DeletionForce": Boolean,
    "OpenConnector": Boolean,
    "PartitionNum": Integer,
    "ServerlessConfig": Map
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

DeployType

Integer

部署類型。

取值:

  • 4:公網和VPC執行個體。

  • 5:VPC執行個體。

DiskType

String

磁碟類型。

取值:

  • 0:高效雲端硬碟。

  • 1:SSD。

DeployOption

Map

部署選項。

更多資訊,請參見DeployOption屬性

EipMax

Integer

公網流量。

當DeployType取值為4時,需指定該參數。

取值範圍:1~160。

SpecType

String

規格類型。

取值:

  • normal:標準版(高寫版)。

  • professional:專業版(高寫版)。

  • professionalForHighRead:專業版(高讀版)。

IoMax

Integer

流量峰值(不推薦)。

流量峰值和流量規格必須指定其中一個參數。如果同時指定,以流量規格為準。建議您只填寫流量規格。

更多資訊,請參見計費概述

IoMaxSpec

String

流量規格(推薦)。

流量峰值和流量規格必須指定其中一個參數。如果同時指定,以流量規格為準。建議您只填寫流量規格。

更多資訊,請參見計費概述

DiskSize

Integer

磁碟容量。

取值範圍:500~96,000。

單位:GB。

TopicQuota

Integer

Topic的數量。

取值範圍:50~79。

PayType

String

付費類型。

取值:

  • Hour:按小時付費。

  • Month:月付型。

Tags

List

標籤。

最多支援添加20個標籤。

更多資訊,請參見Tags屬性

DeletionForce

Boolean

是否強制移除。

取值:

  • true:強制移除。

  • false(預設值):不強制移除。

OpenConnector

Boolean

是否開啟Connector。

取值:

  • true:開啟Connector。

  • false(預設值):關閉Connector。

說明

關於Connector的更多資訊,請參見Connector概述

PartitionNum

Integer

分區數(推薦)。

要求如下:

  • 分區數和Topic規格必須選填一個,建議您只填寫分區數。

  • 分區數和Topic規格同時填寫時,將會按照老的Topic售賣模型去校正分區數和Topic規格是否等價。如不等價將返回失敗,反之則按分區數進行購買。

更多資訊,請參見計費概述

ServerlessConfig

Map

Serverless 執行個體的相關設定。

建立 V3 系列(Serverless)執行個體時必傳。詳細資料,請參考ServerlessConfig屬性。

Tags文法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~128個字元,不能以aliyunacs:開頭,不能包含http://或者https://

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://或者https://

DeployOption文法

"DeployOption": {
  "IsEipInner": Boolean,
  "VpcId": String,
  "ZoneId": String,
  "VSwitchId": String,
  "SecurityGroup": String,
  "DeployModule": String,
  "Name": String,
  "IsSetUserAndPassword": Boolean,
  "Username": String,
  "Password": String,
  "ServiceVersion": String,
  "Config": Map,
  "Notifier": String,
  "CrossZone": Boolean,
  "UserPhoneNum": String,
  "SelectedZones": List,
  "VSwitchIds": List,
  "KMSKeyId": String,
  "IsForceSelectedZones": Boolean
}

DeployOption屬性

屬性名稱

類型

必須

允許更新

描述

約束

IsEipInner

Boolean

是否支援EIP。

取值:

  • true:支援EIP。

  • false(預設值):不支援EIP。

EIP支援情況必須與執行個體類型一致。即公網和VPC執行個體取值為true,VPC執行個體取值為false。

DeployModule

String

部署模式。

取值:

  • vpc:VPC執行個體的部署模式。

  • eip:公網和VPC執行個體的部署模式。

VpcId

String

執行個體部署的專用網路ID。

ZoneId

String

執行個體部署的可用性區域ID。

VSwitchId

String

執行個體部署的交換器ID。

SecurityGroup

String

執行個體的安全性群組。

如果不指定該參數,訊息佇列Kafka版會自動為您的執行個體配置安全性群組。

Name

String

執行個體的名稱。

IsSetUserAndPassword

Boolean

是否設定新的使用者名稱和密碼。

僅支援公網和VPC執行個體。取值:

  • true:設定新的使用者名稱和密碼。

  • false(預設值):不設定新的使用者名稱和密碼。

Username

String

使用者名稱。

僅支援公網和VPC執行個體。

長度為8~40個字元,可包含英文字母和數字。

Password

String

使用者密碼。

僅支援公網和VPC執行個體。

長度為8~40個字元,可包含英文字母和數字,且必須同時包含小寫英文字母、大寫英文字母和數字。

ServiceVersion

String

部署的訊息佇列Kafka版的版本。

取值:

  • 0.10.2

  • 2.2.0

Config

Map

部署的訊息佇列Kafka版執行個體的初始配置。

配置資訊必須是一個合法的JSON字串。取值:

  • enable.vpc_sasl_ssl:是否開啟VPC傳輸加密。取值:

    • true:開啟VPC傳輸加密。如果開啟,則須同時開啟ACL。

    • false(預設值):關閉VPC傳輸加密。

  • enable.acl:是否開啟ACL。取值:

    • true:開啟ACL。

    • false(預設值):關閉ACL。

  • kafka.log.retention.hours:在磁碟容量充足的情況下,訊息的最長保留時間。

    取值範圍:24~480。

    預設值:72。

    單位:小時。

    說明

    磁碟容量不足(即磁碟水位達到85%)時,將提前刪除舊的訊息,以確保服務可用性。

  • kafka.message.max.bytes:訊息佇列Kafka版能收發的訊息的最大值。

    取值範圍:1,048,576~10,485,760。

    預設值:1,048,576。

    單位:位元組。

    說明

    修改該配置前,請確認修改值是否匹配生產和消費用戶端相應配置。

Notifier

String

預警連絡人。

CrossZone

Boolean

是否要跨可用性區域部署。

取值:

  • true:需要跨可用性區域部署。

  • false:不需要跨可用性區域部署。

預設值:true。

UserPhoneNum

String

預警連絡人手機號碼。

SelectedZones

List

選擇部署的主可用性區域候選集合。

以及備可用性區域候選集合的二維數組。支援自訂 code(zone{可用性區域})與標準 code(cn-RegionID-{可用性區域})。

  • 當希望跨可用性區域部署(isCrossZone=true),並且主可用性區域候選集合為可用性區域 H 或可用性區域 F,備可用性區域候選集合為可用性區域 K,以自訂 code 為例,則傳入參數為[[\"zoneh\",\"zonef\"],[\"zonek\"]]

    說明

    當主或備可用性區域填寫多個可用性區域時,表示從多個可用性區域中任選一個,且沒有優先順序關係,以[[\"zoneh\",\"zonef\"],[\"zonek\"]]為例,最終部署的主可用性區域為可用性區域 H 或可用性區域 F,備可用性區域為 K。

  • 當不希望跨可用性區域部署時(isCrossZone=false),可用性區域部署在可用性區域 K,以自訂 code 為例,則傳入參數[[\"zonek\"],[]],注意此時仍需傳入 2 個數組,第二個表示備可用性區域候選集合的數組為空白[]即可。

VSwitchIds

List

執行個體部署的 vSwitch ID 列表。

該參數在 V2 和 V3 系列執行個體中必填,Confluent 類型執行個體支援該參數,且 VSwitchIds 與 VSwitchId 需要至少填寫一項,都填寫時,優先使用 VSwitchIds。

KMSKeyId

String

同地區內的雲端硬碟加密的金鑰識別碼。

您可以在Key Management Service控制台查看金鑰識別碼,也可以建立新的密鑰。具體操作,請參見建立密鑰

傳入此參數表示開啟執行個體加密(開啟後無法關閉),在調用該介面時,系統會檢查是否建立服務關聯角色 AliyunServiceRoleForAlikafkaInstanceEncryption,若未建立,則會自動建立服務關聯角色。更多資訊,請參見服務關聯角色

IsForceSelectedZones

Boolean

是否強制部署在所選可用性區域。

ServerlessConfig文法

"ServerlessConfig": {
   "ReservedPublishCapacity": Integer,
   "ReservedSubscribeCapacity": Integer
}

ServerlessConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

ReservedPublishCapacity

Integer

預留的發送流量規格值。

僅支援傳入整數,最低 60

ReservedSubscribeCapacity

Integer

預留的消費流量規格值。

僅支援傳入整數,最低 20。

傳回值

Fn::GetAtt

  • InstanceId:執行個體ID。

  • OrderId:訂單ID。

  • Name:執行個體名稱。

  • SslEndpoint:SSL存取點的IP存取點。

  • SaslDomainEndpoint:SASL存取點的網域名稱存取點。

  • SslDomainEndpoint:SSL存取點的網域名稱存取點。

  • DomainEndpoint:預設存取點的網域名稱存取點。

  • Endpoint:預設存取點的IP存取點。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
  ZoneId:
    Type: String
    AssociationProperty: ALIYUN::ECS::ZoneId
  VSwitchId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
      ZoneId: ${ZoneId}
  SecurityGroupId:
    Type: String
    AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
Resources:
  Instance:
    Type: ALIYUN::KAFKA::Instance
    Properties:
      DeployType: 5
      SpecType: normal
      PayType: Hour
      DiskType: '1'
      DeployOption:
        VpcId:
          Ref: VpcId
        ZoneId:
          Ref: ZoneId
        VSwitchId:
          Ref: VSwitchId
        SecurityGroup:
          Ref: SecurityGroupId
        DeployModule: vpc
        ServiceVersion: 0.10.2
        Config:
          kafka.log.retention.hours: '33'
      DeletionForce: 'false'
      DiskSize: 500
      TopicQuota: 50
      OpenConnector: 'false'
      IoMaxSpec: alikafka.hw.2xlarge
Outputs:
  InstanceId:
    Description: 'Id of the instance. '
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceId
  OrderId:
    Description: 'Id of the order. '
    Value:
      Fn::GetAtt:
        - Instance
        - OrderId
  Name:
    Description: Name of the instance.
    Value:
      Fn::GetAtt:
        - Instance
        - Name

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    },
    "ZoneId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::ZoneId"
    },
    "VSwitchId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}",
        "ZoneId": "${ZoneId}"
      }
    },
    "SecurityGroupId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}"
      }
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::KAFKA::Instance",
      "Properties": {
        "DeployType": 5,
        "SpecType": "normal",
        "PayType": "Hour",
        "DiskType": "1",
        "DeployOption": {
          "VpcId": {
            "Ref": "VpcId"
          },
          "ZoneId": {
            "Ref": "ZoneId"
          },
          "VSwitchId": {
            "Ref": "VSwitchId"
          },
          "SecurityGroup": {
            "Ref": "SecurityGroupId"
          },
          "DeployModule": "vpc",
          "ServiceVersion": "0.10.2",
          "Config": {
            "kafka.log.retention.hours": "33"
          }
        },
        "DeletionForce": "false",
        "DiskSize": 500,
        "TopicQuota": 50,
        "OpenConnector": "false",
        "IoMaxSpec": "alikafka.hw.2xlarge"
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Description": "Id of the instance. ",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    },
    "OrderId": {
      "Description": "Id of the order. ",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "OrderId"
        ]
      }
    },
    "Name": {
      "Description": "Name of the instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "Name"
        ]
      }
    }
  }
}

更多樣本,請參見建立Kafka執行個體和建立Topic的組合樣本:YAML樣本