Todos los productos
Search
Centro de documentos

Resource Orchestration Service:ALIYUN::ASM::ServiceMesh

Última actualización: Sep 04, 2026

ALIYUN::ASM::ServiceMesh se usa para crear una instancia de Service Mesh (ASM).

Sintaxis

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

Propiedades

Propiedad

Tipo

Obligatorio

Editable

Descripción

Restricción

VpcId

String

Sí

No

ID de la virtual private cloud (VPC).

Ninguna.

VSwitches

List

Sí

No

ID de los vSwitches.

Ninguna.

ApiServerPublicEip

Boolean

No

No

Indica si el servidor de API se expone a Internet.

Valores válidos:

  • true

  • false (predeterminado)

AuditProject

String

No

Sí

Nombre del proyecto de Simple Log Service (SLS) usado para las auditorías de la malla.

Valor predeterminado: mesh-log-{meshId}.

EnableACMG

Boolean

No

No

Indica si se habilita el modo Alibaba Centralized Mesh Gateway (ACMG).

Ninguna.

CustomizedPrometheus

Boolean

No

No

Indica si se usa una instancia personalizada de Prometheus.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

MSEEnabled

Boolean

No

No

Indica si se habilita Microservices Engine (MSE).

Valores válidos:

  • true

  • false

Valor predeterminado: false.

WebAssemblyFilterEnabled

Boolean

No

No

Indica si se habilita WebAssembly Filter.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

CRAggregationEnabled

Boolean

No

No

Indica si se permite que la API de Kubernetes de los clústeres en el plano de datos acceda a los recursos de Istio.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

CertChain

String

No

No

Cadena de certificados desde el certificado de la autoridad de certificación (CA) hasta el certificado raíz. La cadena debe incluir como mínimo dos certificados.

Ninguna.

ConfigSourceNacosID

String

No

No

ID de instancia del registro Nacos.

Ninguna.

ConfigSourceEnabled

Boolean

No

No

Indica si se habilita el registro de servicios externo.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

EnableSDSServer

Boolean

No

No

Indica si se habilita Secret Discovery Service (SDS).

Valores válidos:

  • true

  • false

Valor predeterminado: false.

DNSProxyingEnabled

Boolean

No

No

Indica si se habilita la función de proxy de resolución de nombres de dominio (DNS).

Valores válidos:

  • true

  • false

Valor predeterminado: false.

OpaEnabled

Boolean

No

No

Indica si se habilita el plugin de Open Policy Agent (OPA).

Valores válidos:

  • true

  • false

Valor predeterminado: false.

LocalityLBConf

String

No

No

Configuraciones para acceder a la instancia de ASM más cercana.

Ninguna.

GuestCluster

String

No

No

ID del clúster que desea agregar a la instancia de ASM al crearla. Si no especifica esta propiedad, no se agrega ningún clúster a la instancia de ASM.

El clúster y la instancia de ASM deben estar en el mismo vSwitch de la misma VPC y tener el mismo nombre de dominio.

KialiEnabled

Boolean

No

No

Indica si se habilita la función de topología de malla.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

ControlPlaneLogEnabled

Boolean

No

No

Indica si se habilita la recopilación de registros del plano de control.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

EnableAmbient

Boolean

No

No

Indica si se habilita el modo Ambient Mesh para la instancia de ASM.

Ninguna.

ExistingCaKey

String

No

No

Clave de CA existente.

Esta propiedad se usa en escenarios donde se migra Istio de código abierto a ASM. El valor corresponde al contenido del archivo ca-key.pem en el secreto istio-ca-secret dentro del namespace istio-system del clúster donde está instalado Istio de código abierto.

ApiServerLoadBalancerSpec

String

No

No

Especificación de la instancia de Classic Load Balancer (CLB) vinculada al servidor de API.

Valores válidos: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium y slb.s3.large.

ExcludeIPRanges

String

No

No

Rangos de direcciones IP que se excluirán de la redirección al proxy sidecar en la instancia de ASM.

Ninguna.

FilterGatewayClusterConfig

Boolean

No

No

Indica si se habilita la función de filtrado de configuración de gateway.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

PilotLoadBalancerSpec

String

No

No

Especificación de la instancia de CLB vinculada a Istio Pilot.

Valores válidos: slb.s1.small, slb.s2.small, slb.s2.medium, slb.s3.small, slb.s3.medium y slb.s3.large.

AutoRenew

Boolean

No

No

Indica si se habilita la renovación automática para la instancia de CLB cuando esta usa el método de facturación por suscripción.

Valores válidos:

  • true

  • false

AccessLogServiceEnabled

Boolean

No

No

Indica si se habilita gRPC Access Log Service (ALS) de Envoy.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

ExistingRootCaCert

String

No

No

Certificado raíz existente.

Ninguna.

MysqlFilterEnabled

Boolean

No

No

Indica si se habilita MySQL Filter.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

GatewayAPIEnabled

Boolean

No

No

Indica si se habilita Gateway API.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

ControlPlaneLogProject

String

No

No

Nombre del proyecto de SLS usado para recopilar registros del plano de control.

Ninguna.

Edition

String

No

No

Edición gratuita de la instancia de ASM.

Ninguna.

UseExistingCA

Boolean

No

No

Indica si se usa un certificado de CA y una clave privada existentes.

Ninguna.

ChargeType

String

No

No

Método de facturación de la instancia de CLB.

Valores válidos:

  • PayOnDemand: pay-as-you-go.

  • PrePay: suscripción.

ExistingCaType

String

No

No

Tipo de certificado de CA existente.

  • 1: certificado autofirmado generado por Istiod. El certificado corresponde al secreto istio-ca-secret en el namespace istio-system. Si usa este tipo de certificado, debe especificar ExistingCaCert y ExsitingCaKey.

  • 2: certificado especificado por el administrador. Para obtener más información, consulte plugin ca cert. En la mayoría de los casos, el certificado corresponde al secreto cacerts en el namespace istio-system. Si usa este tipo de certificado, debe especificar ExisingRootCaCert y ExisingRootCaKey.

PlaygroundScene

String

No

No

Escenario de playground.

Establezca el valor en ewmaLb. Un valor de ewmaLb especifica el algoritmo de balanceo de carga de media móvil ponderada exponencialmente (EWMA).

AccessLogEnabled

Boolean

No

No

Indica si se habilita la función de recopilación de registros de acceso.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

AccessLogProject

String

No

No

Proyecto de SLS desde el cual se recopilan los registros de acceso.

Ninguna.

ExistingRootCaKey

String

No

No

Clave privada correspondiente al certificado raíz.

Ninguna.

ExistingCaCert

String

No

No

Certificado de CA existente, codificado en Base64.

Esta propiedad se usa en escenarios donde se migra Istio de código abierto a ASM. El valor corresponde al contenido del archivo ca-cert.pem en el secreto istio-ca-secret dentro del namespace istio-system del clúster donde está instalado Istio de código abierto.

Period

Number

No

No

Duración de la suscripción de la instancia de CLB cuando esta usa el método de facturación por suscripción. Unidad: mes.

Esta propiedad surte efecto cuando ChargeType se establece en PrePay. Si desea una suscripción de un año, especifique 12 como valor de Period.

ExcludeInboundPorts

String

No

No

Puertos de entrada que se excluirán de la redirección al proxy sidecar en la instancia de ASM. Separe varios números de puerto con comas (,).

Ninguna.

ClusterSpec

String

No

No

Edición de la instancia de ASM.

Valores válidos:

  • standard: Standard Edition.

  • enterprise: Enterprise Edition.

  • ultimate: Ultimate Edition.

MultiBufferPollDelay

String

No

No

Latencia de solicitud de extracción.

Valor predeterminado: 30s.

AccessLogServicePort

Integer

No

No

Puerto de gRPC ALS de Envoy.

Ninguna.

ExcludeOutboundPorts

String

No

No

Puertos de salida que se excluirán de la redirección al proxy sidecar en la instancia de ASM. Separe varios números de puerto con comas (,).

Ninguna.

PrometheusUrl

String

No

No

Dirección de la instancia personalizada de Prometheus.

Ninguna.

AccessLogFormat

String

No

No

Formato personalizado de los registros de acceso.

El valor de esta propiedad debe ser una cadena JSON que contenga como mínimo las siguientes claves y sus valores: 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 y x_forwarded_for.

Ejemplo:

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

No

No

Indica si se habilita Dubbo Filter.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

AutoRenewPeriod

Integer

No

No

Periodo de renovación automática de la instancia de CLB cuando esta usa el método de facturación por suscripción.

Esta propiedad surte efecto cuando ChargeType se establece en PrePay. Si la duración de la suscripción de la instancia de CLB es menor a un año, el valor de AutoRenewPeriod especifica el número de meses para la renovación automática. Si la duración de la suscripción de la instancia de CLB es mayor a un año, el valor de AutoRenewPeriod especifica el número de años para la renovación automática.

AccessLogFile

String

No

No

Indica si se habilita la función de recopilación de registros de acceso.

Valores válidos:

  • "": deshabilita la función de recopilación de registros de acceso.

  • /dev/stdout: habilita la función de recopilación de registros de acceso.

MultiBufferEnabled

Boolean

No

No

Indica si se habilita la aceleración de Transport Layer Security (TLS) basada en MultiBuffer.

Valores válidos:

  • true

  • false

Valor predeterminado: true.

EnableCRHistory

Boolean

No

No

Indica si se habilita la función de reversión para recursos de Istio.

Valores válidos:

  • true

  • false

Valor predeterminado: false.

AccessLogServiceHost

String

No

No

Dirección de gRPC ALS de Envoy.

Ninguna.

CustomizedZipkin

Boolean

No

Sí

Indica si se habilita Zipkin autogestionado.

Valores válidos:

  • true

  • false

EnableAudit

Boolean

No

Sí

Indica si se habilita la función de auditoría de malla.

Valores válidos:

  • true

  • false (predeterminado)

Nota

Para habilitar esta función, debe activar SLS.

IncludeIPRanges

String

No

Sí

Rangos de direcciones IP cuyo tráfico se redirigirá al proxy sidecar en la instancia de ASM.

Ninguna.

IstioVersion

String

No

No

Versión de Istio.

Ninguna.

LocalityLoadBalancing

Boolean

No

Sí

Indica si se enruta el tráfico a la instancia de ASM más cercana.

Valores válidos:

  • true

  • false (predeterminado)

Name

String

No

No

Nombre de la instancia de ASM.

Ninguna.

OPA

Map

No

Sí

Configuraciones del plugin de OPA.

Para obtener más información, consulte OPA properties.

OutboundTrafficPolicy

String

No

Sí

Directiva de tráfico de salida.

Valores válidos:

  • ALLOW_ANY

  • REGISTRY_ONLY

PilotPublicEip

Boolean

No

No

Indica si se expone Istio Pilot a Internet.

Valores válidos:

  • true

  • false (predeterminado)

Proxy

Map

No

Sí

Configuraciones del proxy.

Para obtener más información, consulte Proxy properties.

Telemetry

Boolean

No

Sí

Indica si se habilita la función de monitoreo de Prometheus.

Se recomienda usar Alibaba Cloud Managed Service for Prometheus.

TraceSampling

Number

No

Sí

Porcentaje de muestreo de Managed Service for OpenTelemetry.

Ninguna.

Tracing

Boolean

No

Sí

Indica si se habilita la función de análisis de rastreo.

Valores válidos:

  • true

  • false (predeterminado)

Nota

Para habilitar esta función, debe activar Managed Service for OpenTelemetry.

Sintaxis de OPA

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

Propiedades de OPA

Propiedad

Tipo

Obligatorio

Editable

Descripción

Restricción

OPALimitCPU

String

No

Sí

Límite de CPU del contenedor de OPA.

Ninguna.

OPALimitMemory

String

No

Sí

Límite de memoria del contenedor de OPA.

Ninguna.

OPALogLevel

String

No

Sí

Nivel de registro del contenedor de OPA.

Ninguna.

OPARequestCPU

String

No

Sí

Solicitud de CPU del contenedor de OPA.

Ninguna.

OPARequestMemory

String

No

Sí

Solicitud de memoria del contenedor de OPA.

Ninguna.

OpenAgentPolicy

Boolean

No

Sí

Indica si se instala el plugin de OPA.

Valores válidos:

  • true

  • false (predeterminado)

Sintaxis de Proxy

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

Propiedades de Proxy

Propiedad

Tipo

Obligatorio

Editable

Descripción

Restricción

ClusterDomain

String

No

Sí

Nombre de dominio del clúster.

Ninguna.

ProxyLimitCPU

String

No

Sí

Límite de CPU del proxy.

Ninguna.

ProxyLimitMemory

String

No

Sí

Límite de memoria del proxy.

Ninguna.

ProxyRequestCPU

String

No

Sí

Solicitud de CPU del proxy.

Ninguna.

ProxyRequestMemory

String

No

Sí

Solicitud de memoria del proxy.

Ninguna.

Valores de retorno

Fn::GetAtt

ServiceMeshId: ID de la instancia de ASM.

Ejemplos

YAML format

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 format

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