全部產品
Search
文件中心

Resource Orchestration Service:ALIYUN::ASM::ServiceMesh

更新時間:Mar 25, 2025

ALIYUN::ASM::ServiceMesh類型用於建立服務網格執行個體。

文法

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

屬性

屬性名稱

類型

必須

允許更新

描述

約束

VpcId

String

專用網路ID。

VSwitches

List

交換器ID。

ApiServerPublicEip

Boolean

是否使用公網地址暴露API Server。

取值:

  • true

  • false(預設值)

AuditProject

String

網格審計對應的記錄項目名稱。

預設值:mesh-log-{meshId}。

EnableACMG

Boolean

是否啟用 ACMG 模式。

CustomizedPrometheus

Boolean

是否自訂 Prometheus。

取值:

  • true:自訂 Prometheus。

  • false:不自訂 Prometheus。

預設值:false

MSEEnabled

Boolean

是否啟用 MSE 微服務引擎。

取值:

  • true:啟用 MSE 微服務引擎。

  • false:不啟用 MSE 微服務引擎。

預設值:false

WebAssemblyFilterEnabled

Boolean

是否啟用 WebAssemblyFilter。

取值:

  • true:啟用 WebAssemblyFilter。

  • false:不啟用 WebAssemblyFilter。

預設值:false

CRAggregationEnabled

Boolean

是否啟用資料面叢集 Kubernetes API 訪問 Istio 資源。

取值:

  • true:啟用資料面叢集 Kubernetes API 訪問 Istio 資源。

  • false:不啟用資料面叢集 Kubernetes API 訪問 Istio 資源。

預設值:false

CertChain

String

從 CaCert 到 RootCert 的憑證鏈結,至少包含兩個認證。

ConfigSourceNacosID

String

Nacos 註冊中心執行個體 ID。

ConfigSourceEnabled

Boolean

是否啟用外部服務註冊中心。

取值:

  • true:啟用外部服務註冊中心。

  • false:不啟用外部服務註冊中心。

預設值:false

EnableSDSServer

Boolean

是否啟用 SDS 服務。

取值:

  • true:啟用 SDS 服務。

  • false:不啟用 SDS 服務。

預設值:false

DNSProxyingEnabled

Boolean

是否啟用 DNS 代理能力。

取值:

  • true:啟用 DNS 代理能力。

  • false:不啟用 DNS 代理能力。

預設值:false

OpaEnabled

Boolean

是否啟用 OPA。

取值:

  • true:啟用 OPA。

  • false:不啟用 OPA。

預設值:false

LocalityLBConf

String

服務就近訪問配置。

GuestCluster

String

建立網格時可以選擇一個叢集加入網格,若為空白時不會添加叢集。

該叢集需要和網格在同一個 VPC 的同一個 VSwitch 中,且叢集網域名稱相同。

KialiEnabled

Boolean

是否啟用網格拓撲。

取值:

  • true:啟用網格拓撲。

  • false:不啟用網格拓撲。

預設值:false

ControlPlaneLogEnabled

Boolean

是否啟用控制面日誌採集。

取值:

  • true:啟用控制面日誌採集。

  • false:不啟用控制面日誌採集。

預設值:false

EnableAmbient

Boolean

是否為服務網格執行個體啟用 Ambient Mesh 模式。

ExistingCaKey

String

CA Key。

該參數一般用於自建 Istio 遷移 ASM 的情境下,對應自建 Istio 叢集的 istio-system 命名空間下名稱為 istio-ca-secret 的 secret 的 ca-key.pem 檔案內容。

ApiServerLoadBalancerSpec

String

APIServer 綁定的 CLB 規格。

取值:簡約型 I(slb.s1.small)、標準型 I(slb.s2.small)、標準型 II(slb.s2.medium)、高階型 I(slb.s3.small)、高階型 II(slb.s3.medium)、超強型 I(slb.s3.large)。

ExcludeIPRanges

String

排除攔截對外訪問的位址範圍。

FilterGatewayClusterConfig

Boolean

是否啟用 Gateway 配置過濾。

取值:

  • true:啟用 Gateway 配置過濾。

  • false:不啟用 Gateway 配置過濾。

預設值:false

PilotLoadBalancerSpec

String

服務網格控制面的 Istio Pilot 綁定的 CLB 規格。

取值:簡約型 I(slb.s1.small)、標準型 I(slb.s2.small)、標準型 II(slb.s2.medium)、高階型 I(slb.s3.small) 、高階型 II(slb.s3.medium)、超強型 I(slb.s3.large)。

AutoRenew

Boolean

CLB 為訂用帳戶類型時,是否自動續約。

取值:

  • true:自動續約。

  • false:不自動續約。

AccessLogServiceEnabled

Boolean

是否啟用 Envoy 的 gRPC Log Service(ALS)。

取值:

  • true:啟用 Envoy 的 gRPC Log Service。

  • false:不啟用 Envoy 的 gRPC Log Service。

預設值:false

ExistingRootCaCert

String

已有的根憑證。

MysqlFilterEnabled

Boolean

是否啟用 MysqlFilter。

取值:

  • true:啟用 MysqlFilter。

  • false:不啟用 MysqlFilter。

預設值:false

GatewayAPIEnabled

Boolean

是否啟用 Gateway API。

取值:

  • true:啟用 Gateway API。

  • false:不啟用 Gateway API。

預設值:false

ControlPlaneLogProject

String

控制面日誌採集的 SLS Project。

Edition

String

ASM 執行個體版本。

UseExistingCA

Boolean

使用已有的 CA 憑證和私密金鑰。

ChargeType

String

CLB 付費類型。

取值:

  • PayOnDemand:隨用隨付類型。

  • PrePay:訂用帳戶類型。

ExistingCaType

String

已有的認證類型。

  • 1:Istiod 自簽認證。對應 istio-system 命名空間下名稱為 istio-ca-secret 的 secret。若使用該類型,還需要提供ExistingCaCert 和ExsitingCaKey兩個參數。

  • 2:Istiod 外部認證。詳情請參見plugin ca cert。一般對應為 istio-system 命名空間下名稱為 cacerts 的 secret。 若使用該類型,還需要提供ExisingRootCaCertExisingRootCaKey兩個參數。

PlaygroundScene

String

Playground 情境。

可選值:

  • ewmaLb: ewma 負載平衡情境

AccessLogEnabled

Boolean

是否啟用訪問日誌。

取值:

  • true:啟用訪問日誌。

  • false:不啟用訪問日誌。

預設值:false

AccessLogProject

String

訪問日誌採集的 SLS Project。

ExistingRootCaKey

String

已有的根憑證對應的私密金鑰。

ExistingCaCert

String

CA 憑證(Base64 Encode 格式)。

該參數一般用於自建 Istio 遷移 ASM 的情境下,對應自建 Istio 叢集的 istio-system 命名空間下名稱為 istio-ca-secret 的 secret 的 ca-cert.pem 檔案內容。

Period

Number

表示購買訂用帳戶類型的 CLB 時,購買的月份。

ChargeTypePrePay時生效。如果為 1 年,則輸入 12。

ExcludeInboundPorts

String

以半形英文逗號(,)分隔的入站連接埠列表。

ClusterSpec

String

服務網格執行個體規格。

取值:

  • standard:標準版。

  • enterprise:企業版。

  • ultimate:旗艦版。

MultiBufferPollDelay

String

MultiBuffer 開啟狀態同步時間。

預設30s

AccessLogServicePort

Integer

啟用 Envoy 的 gRPC Log Service(ALS)的連接埠。

ExcludeOutboundPorts

String

以半形英文逗號(,)分隔的出站連接埠列表。

PrometheusUrl

String

自訂 Prometheus 服務地址。

AccessLogFormat

String

自訂訪問日誌的格式。

本項字串為 JSON 格式,且 JSON 字串中必須至少包含下述的索引值: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、x_forwarded_for。

樣本:

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

是否啟用 DubboFilter。

取值:

  • true:啟用 DubboFilter。

  • false:不啟用 DubboFilter。

預設值:false

AutoRenewPeriod

Integer

表示購買訂用帳戶類型的 CLB 時,自動續約的時間。

ChargeTypePrePay時生效。如果為購買時間小於 1 年,此參數表示自動續約多少個月;如果購買時間長度超過 1 年,此參數表示自動續約多少年。

AccessLogFile

String

開啟和關閉訪問日誌。

取值:

  • “”:關閉訪問日誌。

  • /dev/stdout:開啟訪問日誌。

MultiBufferEnabled

Boolean

是否啟用基於 MultiBuffer 的 TLS 效能最佳化。

取值:

  • true:開啟。

  • false:不開啟。

預設值:true

EnableCRHistory

Boolean

是否啟用 ASM 的 Istio 資源歷史版本管理功能。

取值:

  • true:啟用 ASM 的 Istio 資源歷史版本管理功能。

  • false:不啟用 ASM 的 Istio 資源歷史版本管理功能。

預設值:false

AccessLogServiceHost

String

啟用 Envoy 的 gRPC Log Service(ALS)的地址。

CustomizedZipkin

Boolean

是否啟用自建Zipkin。

取值:

  • true

  • false

EnableAudit

Boolean

是否啟用網格審計 。

取值:

  • true

  • false(預設值)

說明

您需要開通阿里雲Log Service。

IncludeIPRanges

String

攔截對外訪問的位址範圍。

IstioVersion

String

Istio版本號碼。

LocalityLoadBalancing

Boolean

是否啟用服務就近訪問。

取值:

  • true

  • false(預設值)

Name

String

服務網格名稱。

OPA

Map

開放策略代理。

更多資訊,請參見OPA屬性

OutboundTrafficPolicy

String

對外部服務的存取原則。

取值:

  • ALLOW_ANY

  • REGISTRY_ONLY

PilotPublicEip

Boolean

是否使用公網地址暴露Istio Pilot。

取值:

  • true

  • false(預設值)

Proxy

Map

代理。

更多資訊,請參見Proxy屬性

Telemetry

Boolean

開啟採集Prometheus監控指標。

建議您使用阿里雲Prometheus監控。

TraceSampling

Number

鏈路追蹤採樣百分比。

Tracing

Boolean

是否啟用鏈路追蹤。

取值:

  • true

  • false(預設值)

說明

您需要開通阿里雲鏈路追蹤服務。

OPA文法

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

OPA屬性

屬性名稱

類型

必須

允許更新

描述

約束

OPALimitCPU

String

OPA代理容器的CPU資源限制。

OPALimitMemory

String

OPA代理容器的記憶體資源限制。

OPALogLevel

String

OPA代理容器記錄層級。

OPARequestCPU

String

OPA代理容器的CPU資源請求。

OPARequestMemory

String

OPA代理容器的記憶體資源請求。

OpenAgentPolicy

Boolean

是否整合開放策略代理(OPA)外掛程式。

取值:

  • true

  • false(預設值)

Proxy文法

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

Proxy屬性

屬性名稱

類型

必須

允許更新

描述

約束

ClusterDomain

String

叢集網域名稱。

ProxyLimitCPU

String

CPU資源限制。

ProxyLimitMemory

String

記憶體資源限制。

ProxyRequestCPU

String

CPU所需資源。

ProxyRequestMemory

String

記憶體所需資源。

傳回值

Fn::GetAtt

ServiceMeshId:服務網格ID。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneId:
    Type: String
    Description: Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.
    AssociationProperty: ALIYUN::ECS::Instance::ZoneId
    Label: Zone ID
  VPC:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description: Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud
    Label: Existing VPC Instance ID
  VSwitch:
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    Type: String
    Description: Please search the business VSwitch ID starts with(vsw-xxx)from console-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: The ID of the ASM instance.
    Value:
      Fn::GetAtt:
        - ServiceMesh
        - ServiceMeshId

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ZoneId": {
      "Type": "String",
      "Description": "Create an Availability Zone for an instance to ensure that the Availability Zone supports the creation of Memcache resource specifications.",
      "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
      "Label": "Zone ID"
    },
    "VPC": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": "Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud",
      "Label": "Existing VPC Instance ID"
    },
    "VSwitch": {
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "Type": "String",
      "Description": "Please search the business VSwitch ID starts with(vsw-xxx)from console-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": "The ID of the ASM instance.",
      "Value": {
        "Fn::GetAtt": [
          "ServiceMesh",
          "ServiceMeshId"
        ]
      }
    }
  }
}