All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ASM::ServiceMesh

Last Updated:Jun 26, 2025

ALIYUN::ASM::ServiceMesh digunakan untuk membuat instance Service Mesh (ASM).

Sintaksis

{
  "Type": "ALIYUN::ASM::ServiceMesh",
  "Properties": {
    "EnableAudit": Boolean,
    "OPA": Map,
    "IstioVersion": String,
    "ApiServerPublicEip": Boolean,
    "LocalityLoadBalancing": Boolean,
    "Telemetry": Boolean,
    "OutboundTrafficPolicy": String,
    "AuditProject": String,
    "TraceSampling": Number,
    "Name": String,
    "Proxy": Map,
    "VpcId": String,
    "PilotPublicEip": Boolean,
    "IncludeIPRanges": String,
    "VSwitches": List,
    "Tracing": Boolean,
    "CustomizedZipkin": Boolean,
    "EnableACMG": Boolean,
    "CustomizedPrometheus": Boolean,
    "MSEEnabled": Boolean,
    "WebAssemblyFilterEnabled": Boolean,
    "CRAggregationEnabled": Boolean,
    "CertChain": String,
    "ConfigSourceNacosID": String,
    "ConfigSourceEnabled": Boolean,
    "EnableSDSServer": Boolean,
    "DNSProxyingEnabled": Boolean,
    "OpaEnabled": Boolean,
    "LocalityLBConf": String,
    "GuestCluster": String,
    "KialiEnabled": Boolean,
    "ControlPlaneLogEnabled": Boolean,
    "EnableAmbient": Boolean,
    "ExistingCaKey": String,
    "ApiServerLoadBalancerSpec": String,
    "ExcludeIPRanges": String,
    "FilterGatewayClusterConfig": Boolean,
    "PilotLoadBalancerSpec": String,
    "AutoRenew": Boolean,
    "AccessLogServiceEnabled": Boolean,
    "ExistingRootCaCert": String,
    "MysqlFilterEnabled": Boolean,
    "GatewayAPIEnabled": Boolean,
    "ControlPlaneLogProject": String,
    "Edition": String,
    "UseExistingCA": Boolean,
    "ChargeType": String,
    "ExistingCaType": String,
    "PlaygroundScene": String,
    "AccessLogEnabled": Boolean,
    "AccessLogProject": String,
    "ExistingRootCaKey": String,
    "ExistingCaCert": String,
    "Period": Number,
    "ExcludeInboundPorts": String,
    "ClusterSpec": String,
    "MultiBufferPollDelay": String,
    "AccessLogServicePort": Integer,
    "ExcludeOutboundPorts": String,
    "PrometheusUrl": String,
    "AccessLogFormat": String,
    "DubboFilterEnabled": Boolean,
    "AutoRenewPeriod": Integer,
    "AccessLogFile": String,
    "MultiBufferEnabled": Boolean,
    "EnableCRHistory": Boolean,
    "AccessLogServiceHost": String
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

VpcId

String

Ya

Tidak

ID dari virtual private cloud (VPC).

Tidak ada.

VSwitches

List

Ya

Tidak

ID dari vSwitches.

Tidak ada.

ApiServerPublicEip

Boolean

Tidak

Tidak

Menentukan apakah akan mengekspos API server ke Internet.

Nilai yang valid:

  • true

  • false (default)

AuditProject

String

Tidak

Ya

Nama proyek Simple Log Service (SLS) yang digunakan untuk audit mesh.

Nilai default: mesh-log-{meshId}.

EnableACMG

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan mode Alibaba Centralized Mesh Gateway (ACMG).

Tidak ada.

CustomizedPrometheus

Boolean

Tidak

Tidak

Menentukan apakah menggunakan instance Prometheus kustom.

Nilai yang valid:

  • true

  • false

Nilai default: false.

MSEEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan Microservices Engine (MSE).

Nilai yang valid:

  • true

  • false

Nilai default: false.

WebAssemblyFilterEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan WebAssembly Filter.

Nilai yang valid:

  • true

  • false

Nilai default: false.

CRAggregationEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengizinkan Kubernetes API kluster pada bidang data plane untuk mengakses sumber daya Istio.

Nilai yang valid:

  • true

  • false

Nilai default: false.

CertChain

String

Tidak

Tidak

Rantai sertifikat dari sertifikat otoritas (CA) hingga sertifikat root. Rantai tersebut harus mencakup setidaknya dua sertifikat.

Tidak ada.

ConfigSourceNacosID

String

Tidak

Tidak

ID instance registry Nacos.

Tidak ada.

ConfigSourceEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan registri layanan eksternal.

Nilai yang valid:

  • true

  • false

Nilai default: false.

EnableSDSServer

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan Secret Discovery Service (SDS).

Nilai yang valid:

  • true

  • false

Nilai default: false.

DNSProxyingEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan fitur proxy resolusi nama domain (DNS). 

Nilai yang valid:

  • true

  • false

Nilai default: false.

OpaEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan plugin Open Policy Agent (OPA).

Nilai yang valid:

  • true

  • false

Nilai default: false.

LocalityLBConf

String

Tidak

Tidak

Konfigurasi untuk akses ke instance ASM terdekat.

Tidak ada.

GuestCluster

String

Tidak

Tidak

ID kluster yang ingin Anda tambahkan ke instance ASM saat membuat instance ASM. Jika Anda tidak menentukan properti ini, tidak ada kluster yang ditambahkan ke instance ASM.

Kluster dan instance ASM harus berada dalam vSwitch yang sama dari VPC yang sama dan memiliki nama domain yang sama.

KialiEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan fitur topologi mesh.

Nilai yang valid:

  • true

  • false

Nilai default: false.

ControlPlaneLogEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan pengumpulan log bidang kontrol.

Nilai yang valid:

  • true

  • false

Nilai default: false.

EnableAmbient

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan mode Ambient Mesh untuk instance ASM.

Tidak ada.

ExistingCaKey

String

Tidak

Tidak

Kunci CA yang sudah ada.

Properti ini digunakan dalam skenario di mana Anda bermigrasi dari Istio open source ke ASM. Nilai properti ini sesuai dengan konten file ca-key.pem dalam rahasia istio-ca-secret di namespace istio-system dari kluster tempat Istio open source diinstal.

ApiServerLoadBalancerSpec

String

Tidak

Tidak

Spesifikasi instance Classic Load Balancer (CLB) yang terikat ke server API.

Nilai yang valid: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, dan slb.s3.large.

ExcludeIPRanges

String

Tidak

Tidak

Jangkauan IP yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM.

Tidak ada.

FilterGatewayClusterConfig

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan fitur penyaringan konfigurasi gateway.

Nilai yang valid:

  • true

  • false

Nilai default: false.

PilotLoadBalancerSpec

String

Tidak

Tidak

Spesifikasi instance CLB yang terikat ke Istio Pilot.

Nilai yang valid: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium, dan slb.s3.large.

AutoRenew

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan perpanjangan otomatis untuk instance CLB ketika instance CLB menggunakan metode penagihan berlangganan.

Nilai yang valid:

  • true

  • false

AccessLogServiceEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan gRPC Access Log Service (ALS) dari Envoy.

Nilai yang valid:

  • true

  • false

Nilai default: false.

ExistingRootCaCert

String

Tidak

Tidak

Sertifikat root yang sudah ada.

Tidak ada.

MysqlFilterEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan MySQL Filter.

Nilai yang valid:

  • true

  • false

Nilai default: false.

GatewayAPIEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan Gateway API.

Nilai yang valid:

  • true

  • false

Nilai default: false.

ControlPlaneLogProject

String

Tidak

Tidak

Nama proyek SLS yang digunakan untuk mengumpulkan log bidang kontrol.

Tidak ada.

Edition

String

Tidak

Tidak

Edisi gratis dari instance ASM.

Tidak ada.

UseExistingCA

Boolean

Tidak

Tidak

Menentukan apakah menggunakan sertifikat CA dan kunci privat yang sudah ada.

Tidak ada.

ChargeType

String

Tidak

Tidak

Metode penagihan instance CLB.

Nilai yang valid:

  • PayOnDemand: bayar sesuai pemakaian.

  • PrePay: berlangganan.

ExistingCaType

String

Tidak

Tidak

Jenis sertifikat CA yang sudah ada.

  • 1: sertifikat tanda tangan sendiri yang dihasilkan oleh Istiod. Sertifikat tersebut sesuai dengan rahasia istio-ca-secret di namespace istio-system. Jika Anda menggunakan jenis sertifikat ini, Anda harus menentukan ExistingCaCert dan ExsitingCaKey.

  • 2: sertifikat yang ditentukan oleh administrator. Untuk informasi lebih lanjut, lihat plugin ca cert. Pada sebagian besar kasus, sertifikat tersebut sesuai dengan rahasia cacerts di namespace istio-system. Jika Anda menggunakan jenis sertifikat ini, Anda harus menentukan ExisingRootCaCert dan ExisingRootCaKey.

PlaygroundScene

String

Tidak

Tidak

Skenario playground.

Tetapkan nilai menjadi ewmaLb. Nilai ewmaLb menentukan algoritma penyeimbangan beban rata-rata bergerak eksponensial (EWMA).

AccessLogEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan fitur pengumpulan log akses.

Nilai yang valid:

  • true

  • false

Nilai default: false.

AccessLogProject

String

Tidak

Tidak

Proyek SLS tempat log akses dikumpulkan.

Tidak ada.

ExistingRootCaKey

String

Tidak

Tidak

Kunci privat yang sesuai dengan sertifikat root.

Tidak ada.

ExistingCaCert

String

Tidak

Tidak

Sertifikat CA yang sudah ada, yang dienkripsi dalam Base64.

Properti ini digunakan dalam skenario di mana Anda bermigrasi dari Istio open source ke ASM. Nilai properti ini sesuai dengan konten file ca-cert.pem dalam rahasia istio-ca-secret di namespace istio-system dari kluster tempat Istio open source diinstal.

Period

Number

Tidak

Tidak

Durasi langganan instance CLB ketika instance CLB menggunakan metode penagihan berlangganan. Satuan: bulan.

Properti ini berlaku ketika ChargeType disetel ke PrePay. Jika Anda ingin berlangganan selama satu tahun, tentukan 12 sebagai nilai Period.

ExcludeInboundPorts

String

Tidak

Tidak

Port masuk yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM. Pisahkan beberapa nomor port dengan koma (,).

Tidak ada.

ClusterSpec

String

Tidak

Tidak

Edisi instance ASM.

Nilai yang valid:

  • standard: Edisi Standar.

  • enterprise: Edisi Perusahaan.

  • ultimate: Edisi Ultimate.

MultiBufferPollDelay

String

Tidak

Tidak

Latensi permintaan tarik.

Nilai default: 30s.

AccessLogServicePort

Integer

Tidak

Tidak

Port gRPC ALS dari Envoy.

Tidak ada.

ExcludeOutboundPorts

String

Tidak

Tidak

Port keluar yang akan dikecualikan dari pengalihan ke proxy sidecar di instance ASM. Pisahkan beberapa nomor port dengan koma (,).

Tidak ada.

PrometheusUrl

String

Tidak

Tidak

Alamat instance Prometheus kustom.

Tidak ada.

AccessLogFormat

String

Tidak

Tidak

Format kustom log akses.

Nilai properti ini harus berupa string JSON yang mencakup setidaknya kunci-kunci berikut dan nilainya: authority_for, bytes_received, bytes_sent, downstream_local_address, downstream_remote_address, duration, istio_policy_status, method, path, protocol, requested_server_name, response_code, response_flags, route_name, start_time, trace_id, upstream_cluster, upstream_host, upstream_local_address, upstream_service_time, upstream_transport_failure_reason, user_agent, dan x_forwarded_for.

Contoh:

{"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}

DubboFilterEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan Dubbo Filter.

Nilai yang valid:

  • true

  • false

Nilai default: false.

AutoRenewPeriod

Integer

Tidak

Tidak

Periode perpanjangan otomatis instance CLB ketika instance CLB menggunakan metode penagihan berlangganan.

Properti ini berlaku ketika ChargeType disetel ke PrePay. Jika durasi langganan instance CLB kurang dari satu tahun, nilai AutoRenewPeriod menentukan jumlah bulan untuk perpanjangan otomatis. Jika durasi langganan instance CLB lebih dari satu tahun, nilai AutoRenewPeriod menentukan jumlah tahun untuk perpanjangan otomatis.

AccessLogFile

String

Tidak

Tidak

Menentukan apakah mengaktifkan fitur pengumpulan log akses.

Nilai yang valid:

  • "": menonaktifkan fitur pengumpulan log akses.

  • /dev/stdout: mengaktifkan fitur pengumpulan log akses.

MultiBufferEnabled

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan percepatan Transport Layer Security (TLS) berbasis MultiBuffer.

Nilai yang valid:

  • true

  • false

Nilai default: true.

EnableCRHistory

Boolean

Tidak

Tidak

Menentukan apakah mengaktifkan fitur rollback untuk sumber daya Istio.

Nilai yang valid:

  • true

  • false

Nilai default: false.

AccessLogServiceHost

String

Tidak

Tidak

Alamat gRPC ALS dari Envoy.

Tidak ada.

CustomizedZipkin

Boolean

Tidak

Ya

Menentukan apakah mengaktifkan Zipkin yang dikelola sendiri.

Nilai yang valid:

  • true

  • false

EnableAudit

Boolean

Tidak

Ya

Menentukan apakah mengaktifkan fitur audit mesh.

Nilai yang valid:

  • true

  • false (default)

Catatan

Untuk mengaktifkan fitur ini, Anda harus mengaktifkan SLS.

IncludeIPRanges

String

Tidak

Ya

Jangkauan IP untuk mana lalu lintas akan dialihkan ke proxy sidecar di instance ASM.

Tidak ada.

IstioVersion

String

Tidak

Tidak

Versi Istio.

Tidak ada.

LocalityLoadBalancing

Boolean

Tidak

Ya

Menentukan apakah merutekan lalu lintas ke instance ASM terdekat.

Nilai yang valid:

  • true

  • false (default)

Name

String

Tidak

Tidak

Nama instance ASM.

Tidak ada.

OPA

Map

Tidak

Ya

Konfigurasi plugin OPA.

Untuk informasi lebih lanjut, lihat Properti OPA.

OutboundTrafficPolicy

String

Tidak

Ya

Kebijakan lalu lintas keluar.

Nilai yang valid:

  • ALLOW_ANY

  • REGISTRY_ONLY

PilotPublicEip

Boolean

Tidak

Tidak

Menentukan apakah mengekspos Istio Pilot ke Internet.

Nilai yang valid:

  • true

  • false (default)

Proxy

Map

Tidak

Ya

Konfigurasi proxy.

Untuk informasi lebih lanjut, lihat Properti Proxy.

Telemetry

Boolean

Tidak

Ya

Menentukan apakah mengaktifkan fitur pemantauan Prometheus.

Kami merekomendasikan Anda menggunakan Alibaba Cloud Managed Service for Prometheus.

TraceSampling

Number

Tidak

Ya

Persentase sampling Managed Service for OpenTelemetry.

Tidak ada.

Tracing

Boolean

Tidak

Ya

Menentukan apakah mengaktifkan fitur analisis pelacakan.

Nilai yang valid:

  • true

  • false (default)

Catatan

Untuk mengaktifkan fitur ini, Anda harus mengaktifkan Managed Service for OpenTelemetry.

Sintaksis OPA

"OPA": {
  "OPARequestCPU": String,
  "OpenAgentPolicy": Boolean,
  "OPALogLevel": String,
  "OPALimitCPU": String,
  "OPALimitMemory": String,
  "OPARequestMemory": String
}

Properti OPA

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

OPALimitCPU

String

Tidak

Ya

Batas CPU dari kontainer OPA.

Tidak ada.

OPALimitMemory

String

Tidak

Ya

Batas memori kontainer OPA.

Tidak ada.

OPALogLevel

String

Tidak

Ya

Tingkat log kontainer OPA.

Tidak ada.

OPARequestCPU

String

Tidak

Ya

Permintaan CPU kontainer OPA.

Tidak ada.

OPARequestMemory

String

Tidak

Ya

Permintaan memori kontainer OPA.

Tidak ada.

OpenAgentPolicy

Boolean

Tidak

Ya

Menentukan apakah menginstal plugin OPA.

Nilai yang valid:

  • true

  • false (default)

Sintaksis Proxy

"Proxy": {
  "ClusterDomain": String,
  "ProxyLimitCPU": String,
  "ProxyLimitMemory": String,
  "ProxyRequestCPU": String,
  "ProxyRequestMemory": String
}

Properti Proxy

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ClusterDomain

String

Tidak

Ya

Nama domain kluster.

Tidak ada.

ProxyLimitCPU

String

Tidak

Ya

Batas CPU dari proxy.

Tidak ada.

ProxyLimitMemory

String

Tidak

Ya

Batas memori dari proxy.

Tidak ada.

ProxyRequestCPU

String

Tidak

Ya

Permintaan CPU dari proxy.

Tidak ada.

ProxyRequestMemory

String

Tidak

Ya

Permintaan memori dari proxy.

Tidak ada.

Nilai Pengembalian

Fn::GetAtt

ServiceMeshId: ID dari instance ASM.

Contoh

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneId:
    Type: String
    Description: Buat Availability Zone untuk sebuah instance untuk memastikan bahwa Availability Zone mendukung pembuatan spesifikasi sumber daya Memcache.
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
    Label: Zone ID
  VPC:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description: Silakan cari ID yang dimulai dengan (vpc-xxx) dari konsol-Virtual Private Cloud
    Label: Existing VPC Instance ID
  VSwitch:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Type: String
    Description: Silakan cari ID VSwitch bisnis yang dimulai dengan(vsw-xxx) dari konsol-Virtual Private Cloud-VSwitches
    Label: Existing VSwitch ID
    AssociationPropertyMetadata:
      VpcId: VPC
      ZoneId: ZoneId
Resources:
  ServiceMesh:
    Type: ALIYUN::ASM::ServiceMesh
    Properties:
      VpcId:
        Ref: VPC
      VSwitches:
        - Ref: VSwitch
Outputs:
  ServiceMeshId:
    Description: ID dari instance ASM.
    Value:
      Fn::GetAtt:
        - ServiceMesh
        - ServiceMeshId

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ZoneId": {
      "Type": "String",
      "Description": "Buat Availability Zone untuk sebuah instance untuk memastikan bahwa Availability Zone mendukung pembuatan spesifikasi sumber daya Memcache.",
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
      "Label": "Zone ID"
    },
    "VPC": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": "Silakan cari ID yang dimulai dengan (vpc-xxx) dari konsol-Virtual Private Cloud",
      "Label": "Existing VPC Instance ID"
    },
    "VSwitch": {
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "Type": "String",
      "Description": "Silakan cari ID VSwitch bisnis yang dimulai dengan(vsw-xxx) dari konsol-Virtual Private Cloud-VSwitches",
      "Label": "Existing VSwitch ID",
      "AssociationPropertyMetadata": {
        "VpcId": "VPC",
        "ZoneId": "ZoneId"
      }
    }
  },
  "Resources": {
    "ServiceMesh": {
      "Type": "ALIYUN::ASM::ServiceMesh",
      "Properties": {
        "VpcId": {
          "Ref": "VPC"
        },
        "VSwitches": [
          {
            "Ref": "VSwitch"
          }
        ]
      }
    }
  },
  "Outputs": {
    "ServiceMeshId": {
      "Description": "ID dari instance ASM.",
      "Value": {
        "Fn::GetAtt": [
          "ServiceMesh",
          "ServiceMeshId"
        ]
      }
    }
  }
}