全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::KAFKA::Instance

更新时间:Jul 02, 2025

ALIYUN::KAFKA::Instance digunakan untuk membuat instance ApsaraMQ for Kafka.

Sintaksis

{
  "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
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

DeployType

Integer

Ya

Tidak

Jenis penyebaran.

Nilai yang valid:

  • 4: menyebarkan instance yang terhubung ke Internet dan virtual private cloud (VPC).

  • 5: menyebarkan instance yang terhubung ke VPC.

DiskType

String

Tidak

Tidak

Kategori disk.

Nilai yang valid:

  • 0: ultra disk

  • 1: SSD standar

DeployOption

Map

Tidak

Tidak

Rincian opsi penyebaran.

Untuk informasi lebih lanjut, lihat Properti DeployOption.

EipMax

Integer

Tidak

Ya

Traffic Internet.

Anda harus menentukan properti ini ketika DeployType diatur ke 4.

Nilai yang valid: 1 hingga 160.

SpecType

String

Tidak

Ya

Edisi.

Nilai yang valid:

  • normal: Edisi Standar (Tulis Tinggi)

  • professional: Edisi Profesional (Tulis Tinggi)

  • professionalForHighRead: Edisi Profesional (Baca Tinggi)

IoMax

Integer

Tidak

Ya

Traffic puncak.

Anda harus menentukan salah satu dari properti IoMax dan IoMaxSpec. Jika Anda menentukan kedua properti tersebut, properti IoMaxSpec akan diutamakan. Kami merekomendasikan agar Anda hanya menentukan properti IoMaxSpec.

Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

IoMaxSpec

String

Tidak

Ya

Spesifikasi traffic.

Anda harus menentukan salah satu dari properti IoMax dan IoMaxSpec. Jika Anda menentukan kedua properti tersebut, properti IoMaxSpec akan diutamakan. Kami merekomendasikan agar Anda hanya menentukan properti IoMaxSpec.

Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

DiskSize

Integer

Tidak

Ya

Ukuran disk.

Nilai yang valid: 500 hingga 96000.

Satuan: GB.

TopicQuota

Integer

Tidak

Ya

Jumlah topik.

Nilai yang valid: 50 hingga 79.

PayType

String

Tidak

Tidak

Metode penagihan.

Nilai yang valid:

  • Hour: bayar sesuai pemakaian

  • Month: langganan

Tags

List

Tidak

Ya

Tag.

Anda dapat menambahkan hingga 20 tag.

Untuk informasi lebih lanjut, lihat Properti Tags.

DeletionForce

Boolean

Tidak

Ya

Menentukan apakah akan memaksa menghapus instance.

Nilai yang valid:

  • true

  • false (default)

OpenConnector

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan fitur konektor.

Nilai yang valid:

  • true

  • false (default)

Catatan

Untuk informasi lebih lanjut tentang konektor, lihat Ikhtisar.

PartitionNum

Integer

Tidak

Ya

Jumlah partisi.

Aturan berikut berlaku:

  • Anda harus menentukan salah satu dari properti PartitionNum dan TopicQuota. Kami merekomendasikan agar Anda hanya menentukan properti PartitionNum.

  • Jika Anda menentukan kedua properti tersebut, model penjualan berbasis topik digunakan untuk memeriksa apakah nilai PartitionNum sama dengan nilai TopicQuota. Jika nilainya berbeda, respons gagal dikembalikan. Jika nilainya sama, pesanan ditempatkan berdasarkan nilai PartitionNum.

Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

ServerlessConfig

Map

Tidak

Ya

Parameter instance serverless.

Anda harus menentukan properti ini saat membuat instance ApsaraMQ for Kafka V3 serverless. Untuk informasi lebih lanjut, lihat bagian "Properti ServerlessConfig" dari topik ini.

Sintaksis Tags

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

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

Key

String

Ya

Tidak

Kunci tag.

Kunci tag harus memiliki panjang 1 hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan aliyun atau acs:.

Value

String

Tidak

Tidak

Nilai tag.

Nilai tag dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan aliyun atau acs:.

Sintaksis 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
}

Properti DeployOption

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

IsEipInner

Boolean

Tidak

Tidak

Menentukan apakah instance mendukung elastic IP addresses (EIPs).

Nilai yang valid:

  • true

  • false (default)

Nilai properti ini harus sesuai dengan jenis instance. Nilai yang valid untuk instance yang terhubung ke Internet dan VPC adalah true. Nilai yang valid untuk instance yang terhubung ke VPC adalah false.

DeployModule

String

Ya

Tidak

Mode penyebaran.

Nilai yang valid:

  • vpc: menyebarkan instance yang terhubung ke VPC.

  • eip: menyebarkan instance yang terhubung ke Internet dan VPC.

VpcId

String

Tidak

Tidak

ID VPC tempat Anda ingin menyebarkan instance.

Tidak ada.

ZoneId

String

Tidak

Tidak

ID zona tempat Anda ingin menyebarkan instance.

Tidak ada.

VSwitchId

String

Ya

Tidak

ID vSwitch tempat instance yang ingin Anda sebarkan terhubung.

Tidak ada.

SecurityGroup

String

Tidak

Tidak

Grup keamanan tempat instance milik.

Jika Anda meninggalkan properti ini kosong, ApsaraMQ for Kafka secara otomatis mengonfigurasi grup keamanan untuk instance.

Name

String

Tidak

Tidak

Nama instance.

Tidak ada.

IsSetUserAndPassword

Boolean

Tidak

Tidak

Menentukan apakah akan mengonfigurasi nama pengguna dan kata sandi baru.

Hanya instance yang terhubung ke Internet dan VPC yang didukung. Nilai yang valid:

  • true

  • false (default)

Username

String

Tidak

Tidak

Nama pengguna.

Hanya instance yang terhubung ke Internet dan VPC yang didukung.

Nama pengguna harus memiliki panjang 8 hingga 40 karakter, dan dapat berisi huruf dan angka.

Password

String

Tidak

Tidak

Kata sandi yang sesuai dengan nama pengguna.

Hanya instance yang terhubung ke Internet dan VPC yang didukung.

Kata sandi harus memiliki panjang 8 hingga 40 karakter, dan harus mengandung huruf kecil, huruf besar, dan angka.

ServiceVersion

String

Tidak

Tidak

Versi instance yang ingin Anda sebarkan.

Nilai yang valid:

  • 0.10.2

  • 2.2.0

Config

Map

Tidak

Tidak

Konfigurasi awal dari instance yang ingin Anda sebarkan.

Nilainya harus berupa string JSON yang valid. Nilai properti ini mencakup bidang-bidang berikut:

  • enable.vpc_sasl_ssl: menentukan apakah akan mengaktifkan enkripsi transmisi VPC. Nilai yang valid:

    • true: mengaktifkan enkripsi transmisi VPC. Jika Anda mengaktifkan enkripsi transmisi VPC, Anda harus mengaktifkan fitur daftar kontrol akses (ACL).

    • false (default): menonaktifkan enkripsi transmisi VPC.

  • enable.acl: menentukan apakah akan mengaktifkan fitur ACL. Nilai yang valid:

    • true

    • false (default)

  • kafka.log.retention.hours: periode retensi maksimum pesan ketika kapasitas disk mencukupi.

    Nilai yang valid: 24 hingga 480.

    Nilai default: 72.

    Satuan: jam.

    Catatan

    Ketika penggunaan disk mencapai 85%, sistem menganggap bahwa kapasitas disk tidak mencukupi. Dalam hal ini, sistem menghapus pesan dalam urutan penyimpanannya, dari yang paling awal hingga yang terbaru. Ini memastikan ketersediaan layanan.

  • kafka.message.max.bytes: ukuran maksimum pesan yang dapat dikirim dan diterima oleh ApsaraMQ for Kafka.

    Nilai yang valid: 1048576 hingga 10485760.

    Nilai default: 1048576.

    Satuan: byte.

    Catatan

    Sebelum Anda mengubah ukuran pesan maksimum, pastikan nilai baru sesuai dengan konfigurasi produsen dan konsumen.

Notifier

String

Tidak

Tidak

Kontak peringatan.

Tidak ada.

CrossZone

Boolean

Tidak

Tidak

Menentukan apakah akan menyebarkan instance di seluruh zona.

Nilai yang valid:

  • true

  • false

Nilai default: true.

UserPhoneNum

String

Tidak

Tidak

Nomor telepon seluler kontak peringatan.

Tidak ada.

SelectedZones

List

Tidak

Tidak

Array dua dimensi yang terdiri dari set kandidat untuk zona utama dan set kandidat untuk zona sekunder.

Kode kustom dalam format zone {zone} dan kode standar dalam format cn-RegionID-{zone} digunakan untuk menentukan zona dalam array.

  • Jika Anda mengatur CrossZone ke true dan ingin menggunakan Zona H dan Zona F dalam set kandidat untuk zona utama dan Zona K dalam set kandidat untuk zona sekunder dalam format kode kustom, Anda harus menentukan [[\"zoneh\",\"zonef\"],[\"zonek\"]] sebagai nilai SelectedZones.

    Perhatikan informasi berikut:

    Jika Anda menentukan beberapa zona sebagai zona utama atau sekunder, sistem menggunakan satu zona sebagai zona utama atau sekunder tanpa memprioritaskan zona yang ditentukan. Misalnya, jika Anda mengatur properti ini ke [[\"zoneh\",\"zonef\"],[\"zonek\"]], sistem menggunakan Zona H atau Zona F sebagai zona utama dan menggunakan Zona K sebagai zona sekunder.

  • Jika Anda mengatur CrossZone ke false dan ingin menggunakan Zona K dalam format kode kustom, Anda harus menentukan [[\"zonek\"],[]] sebagai nilai SelectedZones. Perlu diperhatikan bahwa [[\"zonek\"],[]] masih merupakan array dua dimensi, tetapi array yang menentukan set kandidat untuk zona sekunder kosong.

VSwitchIds

List

Tidak

Tidak

ID vSwitch tempat instance yang ingin Anda sebarkan terhubung.

Anda harus menentukan properti ini untuk instance ApsaraMQ for Kafka V2 atau V3. Anda harus menentukan salah satu dari properti VSwitchIds dan VSwitchId untuk instance ApsaraMQ for Confluent. Jika Anda menentukan kedua properti tersebut untuk instance ApsaraMQ for Confluent, properti VSwitchIds akan diutamakan.

KMSKeyId

String

Tidak

Tidak

ID kunci yang digunakan untuk enkripsi disk cloud di wilayah tempat instance berada.

Anda dapat memperoleh ID kunci dari Konsol Key Management Service (KMS). Anda juga dapat membuat kunci. Untuk informasi lebih lanjut, lihat Buat CMK.

Jika Anda menentukan properti ini, enkripsi diaktifkan untuk instance dan tidak dapat dinonaktifkan. Saat menggunakan ALIYUN::KAFKA::Instance, sistem memeriksa apakah peran terkait layanan AliyunServiceRoleForAlikafkaInstanceEncryption telah dibuat. Jika peran terkait layanan belum dibuat, sistem secara otomatis membuat peran tersebut. Untuk informasi lebih lanjut, lihat Peran terkait layanan.

IsForceSelectedZones

Boolean

Tidak

Tidak

Menentukan apakah akan memaksa menyebarkan instance di zona yang dipilih.

Tidak ada.

Sintaksis ServerlessConfig

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

Properti ServerlessConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Batasan

ReservedPublishCapacity

Integer

Ya

Ya

Traffic yang dicadangkan untuk publikasi pesan.

Nilainya harus berupa integer. Nilai minimum: 60.

ReservedSubscribeCapacity

Integer

Ya

Ya

Traffic yang dicadangkan untuk langganan pesan.

Nilainya harus berupa integer. Nilai minimum: 20.

Nilai Pengembalian

Fn::GetAtt

  • InstanceId: ID instance.

  • OrderId: ID pesanan.

  • name: Nama instance.

  • SslEndpoint: Titik akhir SSL dalam format alamat IP.

  • SaslDomainEndpoint: Titik akhir Simple Authentication and Security Layer (SASL) dalam format nama domain.

  • SslDomainEndpoint: Titik akhir SSL dalam format nama domain.

  • DomainEndpoint: Titik akhir default dalam format nama domain.

  • Endpoint: Titik akhir default dalam format alamat IP.

  • Arn: Alibaba Cloud Resource Name (ARN).

Contoh

Format 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 dari instance. '
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceId
  OrderId:
    Description: 'Id dari pesanan. '
    Value:
      Fn::GetAtt:
        - Instance
        - OrderId
  Name:
    Description: Nama dari instance.
    Value:
      Fn::GetAtt:
        - Instance
        - Name

Format 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 dari instance. ",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    },
    "OrderId": {
      "Description": "Id dari pesanan. ",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "OrderId"
        ]
      }
    },
    "Name": {
      "Description": "Nama dari instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "Name"
        ]
      }
    }
  }
}

Untuk lebih banyak contoh, kunjungi instance.yml. Dalam contoh-contoh tersebut, tipe sumber daya ALIYUN::KAFKA::Instance dan ALIYUN::KAFKA::Topic digunakan.