ALIYUN::ASM::ServiceMesh は、サービスメッシュ (ASM) インスタンスを作成するために使用されます。
構文
{
"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 | はい | いいえ | 仮想プライベートクラウド (VPC) の ID。 | なし。 |
VSwitches | List | はい | いいえ | vSwitch の ID。 | なし。 |
ApiServerPublicEip | Boolean | いいえ | いいえ | API サーバーをインターネットに公開するかどうかを指定します。 | 有効な値:
|
AuditProject | String | いいえ | はい | メッシュ監査に使用される Simple Log Service (SLS) プロジェクトの名前。 | デフォルト値: mesh-log-{meshId}。 |
EnableACMG | Boolean | いいえ | いいえ | Alibaba Centralized Mesh Gateway (ACMG) モードを有効にするかどうかを指定します。 | なし。 |
CustomizedPrometheus | Boolean | いいえ | いいえ | カスタム Prometheus インスタンスを使用するかどうかを指定します。 | 有効な値:
デフォルト値: |
MSEEnabled | Boolean | いいえ | いいえ | マイクロサービスエンジン (MSE) を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
WebAssemblyFilterEnabled | Boolean | いいえ | いいえ | WebAssembly フィルターを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
CRAggregationEnabled | Boolean | いいえ | いいえ | データプレーン上のクラスターの Kubernetes API が Istio リソースにアクセスすることを許可するかどうかを指定します。 | 有効な値:
デフォルト値: |
CertChain | String | いいえ | いいえ | 認証局 (CA) 証明書からルート証明書までの証明書チェーン。チェーンには少なくとも 2 つの証明書が含まれている必要があります。 | なし。 |
ConfigSourceNacosID | String | いいえ | いいえ | Nacos レジストリのインスタンス ID。 | なし。 |
ConfigSourceEnabled | Boolean | いいえ | いいえ | 外部サービスレジストリを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
EnableSDSServer | Boolean | いいえ | いいえ | Secret Discovery Service (SDS) を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
DNSProxyingEnabled | Boolean | いいえ | いいえ | ドメイン名解決 (DNS) プロキシ機能を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
OpaEnabled | Boolean | いいえ | いいえ | Open Policy Agent (OPA) プラグインを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
LocalityLBConf | String | いいえ | いいえ | 最も近い ASM インスタンスへのアクセスの構成。 | なし。 |
GuestCluster | String | いいえ | いいえ | ASM インスタンスを作成するときに、ASM インスタンスに追加するクラスターの ID。このプロパティを指定しない場合、クラスターは ASM インスタンスに追加されません。 | クラスターと ASM インスタンスは、同じ VPC の同じ vSwitch 内にあり、同じドメイン名を持っている必要があります。 |
KialiEnabled | Boolean | いいえ | いいえ | メッシュトポロジー機能を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
ControlPlaneLogEnabled | Boolean | いいえ | いいえ | コントロールプレーンログの収集を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
EnableAmbient | Boolean | いいえ | いいえ | ASM インスタンスの Ambient Mesh モードを有効にするかどうかを指定します。 | なし。 |
ExistingCaKey | String | いいえ | いいえ | 既存の CA キー。 | このプロパティは、オープンソースの Istio を ASM に移行するシナリオで使用されます。このプロパティの値は、オープンソースの Istio がインストールされているクラスターの istio-system 名前空間にある istio-ca-secret シークレット内の ca-key.pem ファイルの内容に対応します。 |
ApiServerLoadBalancerSpec | String | いいえ | いいえ | API サーバーにバインドされている Classic Load Balancer (CLB) インスタンスの仕様。 | 有効な値: |
ExcludeIPRanges | String | いいえ | いいえ | ASM インスタンスのサイドカープロキシへのリダイレクトから除外される IP アドレス範囲。 | なし。 |
FilterGatewayClusterConfig | Boolean | いいえ | いいえ | ゲートウェイ構成フィルタリング機能を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
PilotLoadBalancerSpec | String | いいえ | いいえ | Istio Pilot にバインドされている CLB インスタンスの仕様。 | 有効な値: |
AutoRenew | Boolean | いいえ | いいえ | CLB インスタンスがサブスクリプション課金方法を使用している場合に、CLB インスタンスの自動更新を有効にするかどうかを指定します。 | 有効な値:
|
AccessLogServiceEnabled | Boolean | いいえ | いいえ | Envoy の gRPC Access Log Service (ALS) を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
ExistingRootCaCert | String | いいえ | いいえ | 既存のルート証明書。 | なし。 |
MysqlFilterEnabled | Boolean | いいえ | いいえ | MySQL フィルターを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
GatewayAPIEnabled | Boolean | いいえ | いいえ | Gateway API を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
ControlPlaneLogProject | String | いいえ | いいえ | コントロールプレーンログの収集に使用される SLS プロジェクトの名前。 | なし。 |
Edition | String | いいえ | いいえ | ASM インスタンスの無料エディション。 | なし。 |
UseExistingCA | Boolean | いいえ | いいえ | 既存の CA 証明書と秘密鍵を使用するかどうかを指定します。 | なし。 |
ChargeType | String | いいえ | いいえ | CLB インスタンスの課金方法。 | 有効な値:
|
ExistingCaType | String | いいえ | いいえ | 既存の CA 証明書のタイプ。 |
|
PlaygroundScene | String | いいえ | いいえ | プレイグラウンドシナリオ。 | 値を ewmaLb に設定します。ewmaLb の値は、指数加重移動平均 (EWMA) ロードバランシングアルゴリズムを指定します。 |
AccessLogEnabled | Boolean | いいえ | いいえ | アクセスログ収集機能を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
AccessLogProject | String | いいえ | いいえ | アクセスログが収集される SLS プロジェクト。 | なし。 |
ExistingRootCaKey | String | いいえ | いいえ | ルート証明書に対応する秘密鍵。 | なし。 |
ExistingCaCert | String | いいえ | いいえ | Base64 でエンコードされた既存の CA 証明書。 | このプロパティは、オープンソースの Istio を ASM に移行するシナリオで使用されます。このプロパティの値は、オープンソースの Istio がインストールされているクラスターの istio-system 名前空間にある istio-ca-secret シークレット内の ca-cert.pem ファイルの内容に対応します。 |
Period | Number | いいえ | いいえ | CLB インスタンスがサブスクリプション課金方法を使用している場合の CLB インスタンスのサブスクリプション期間。単位: 月。 | このプロパティは、ChargeType が PrePay に設定されている場合に有効になります。1 年間のサブスクリプションが必要な場合は、Period の値として 12 を指定します。 |
ExcludeInboundPorts | String | いいえ | いいえ | ASM インスタンスのサイドカープロキシへのリダイレクトから除外されるインバウンドポート。複数のポート番号はコンマ (,) で区切ります。 | なし。 |
ClusterSpec | String | いいえ | いいえ | ASM インスタンスのエディション。 | 有効な値:
|
MultiBufferPollDelay | String | いいえ | いいえ | プルリクエストのレイテンシ。 | デフォルト値: 30s。 |
AccessLogServicePort | Integer | いいえ | いいえ | Envoy の gRPC ALS のポート。 | なし。 |
ExcludeOutboundPorts | String | いいえ | いいえ | ASM インスタンスのサイドカープロキシへのリダイレクトから除外されるアウトバウンドポート。複数のポート番号はコンマ (,) で区切ります。 | なし。 |
PrometheusUrl | String | いいえ | いいえ | カスタム Prometheus インスタンスのアドレス。 | なし。 |
AccessLogFormat | String | いいえ | いいえ | アクセスログのカスタムフォーマット。 | このプロパティの値は、少なくとも以下のキーと値を含む 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。 例: |
DubboFilterEnabled | Boolean | いいえ | いいえ | Dubbo フィルターを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
AutoRenewPeriod | Integer | いいえ | いいえ | CLB インスタンスがサブスクリプション課金方法を使用している場合の CLB インスタンスの自動更新期間。 | このプロパティは、 |
AccessLogFile | String | いいえ | いいえ | アクセスログ収集機能を有効にするかどうかを指定します。 | 有効な値:
|
MultiBufferEnabled | Boolean | いいえ | いいえ | MultiBuffer ベースの Transport Layer Security (TLS) アクセラレーションを有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
EnableCRHistory | Boolean | いいえ | いいえ | Istio リソースのロールバック機能を有効にするかどうかを指定します。 | 有効な値:
デフォルト値: |
AccessLogServiceHost | String | いいえ | いいえ | Envoy の gRPC ALS のアドレス。 | なし。 |
CustomizedZipkin | Boolean | いいえ | はい | セルフマネージド Zipkin を有効にするかどうかを指定します。 | 有効な値:
|
EnableAudit | Boolean | いいえ | はい | メッシュ監査機能を有効にするかどうかを指定します。 | 有効な値:
説明 この機能を有効にするには、SLS をアクティブ化する必要があります。 |
IncludeIPRanges | String | いいえ | はい | トラフィックが ASM インスタンスのサイドカープロキシにリダイレクトされる IP アドレス範囲。 | なし。 |
IstioVersion | String | いいえ | いいえ | Istio バージョン。 | なし。 |
LocalityLoadBalancing | Boolean | いいえ | はい | 最も近い ASM インスタンスにトラフィックをルーティングするかどうかを指定します。 | 有効な値:
|
Name | String | いいえ | いいえ | ASM インスタンスの名前。 | なし。 |
OPA | Map | いいえ | はい | OPA プラグインの構成。 | 詳細については、「OPA プロパティ」をご参照ください。 |
OutboundTrafficPolicy | String | いいえ | はい | アウトバウンドトラフィックポリシー。 | 有効な値:
|
PilotPublicEip | Boolean | いいえ | いいえ | Istio Pilot をインターネットに公開するかどうかを指定します。 | 有効な値:
|
Proxy | Map | いいえ | はい | プロキシ構成。 | 詳細については、「プロキシプロパティ」をご参照ください。 |
Telemetry | Boolean | いいえ | はい | Prometheus モニタリング機能を有効にするかどうかを指定します。 | Alibaba Cloud Managed Service for Prometheus を使用することをお勧めします。 |
TraceSampling | Number | いいえ | はい | Managed Service for OpenTelemetry のサンプリング率。 | なし。 |
Tracing | Boolean | いいえ | はい | トレース分析機能を有効にするかどうかを指定します。 | 有効な値:
説明 この機能を有効にするには、Managed Service for OpenTelemetry をアクティブ化する必要があります。 |
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 プラグインをインストールするかどうかを指定します。 | 有効な値:
|
プロキシ構文
"Proxy": {
"ClusterDomain": String,
"ProxyLimitCPU": String,
"ProxyLimitMemory": String,
"ProxyRequestCPU": String,
"ProxyRequestMemory": String
}プロキシプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ClusterDomain | String | いいえ | はい | クラスターのドメイン名。 | なし。 |
ProxyLimitCPU | String | いいえ | はい | プロキシの CPU 制限。 | なし。 |
ProxyLimitMemory | String | いいえ | はい | プロキシのメモリ制限。 | なし。 |
ProxyRequestCPU | String | いいえ | はい | プロキシの CPU リクエスト。 | なし。 |
ProxyRequestMemory | String | いいえ | はい | プロキシのメモリリクエスト。 | なし。 |
戻り値
Fn::GetAtt
ServiceMeshId: ASM インスタンスの ID。
例
YAML 形式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ZoneId:
Type: String
Description: インスタンスのアベイラビリティーゾーンを作成して、アベイラビリティーゾーンが Memcache リソース仕様の作成をサポートしていることを確認します。
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label: Zone ID
VPC:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: コンソール - 仮想プライベートクラウドから (vpc-xxx) で始まる ID を検索してください
Label: 既存の VPC インスタンス ID
VSwitch:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
Type: String
Description: コンソール - 仮想プライベートクラウド - vSwitch からビジネス vSwitch ID が (vsw-xxx) で始まることを確認してください
Label: 既存の vSwitch ID
AssociationPropertyMetadata:
VpcId: VPC
ZoneId: ZoneId
Resources:
ServiceMesh:
Type: ALIYUN::ASM::ServiceMesh
Properties:
VpcId:
Ref: VPC
VSwitches:
- Ref: VSwitch
Outputs:
ServiceMeshId:
Description: ASM インスタンスの ID。
Value:
Fn::GetAtt:
- ServiceMesh
- ServiceMeshId
JSON 形式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ZoneId": {
"Type": "String",
"Description": "インスタンスのアベイラビリティーゾーンを作成して、アベイラビリティーゾーンが Memcache リソース仕様の作成をサポートしていることを確認します。",
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId",
"Label": "Zone ID"
},
"VPC": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "コンソール - 仮想プライベートクラウドから (vpc-xxx) で始まる ID を検索してください",
"Label": "既存の VPC インスタンス ID"
},
"VSwitch": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"Type": "String",
"Description": "コンソール - 仮想プライベートクラウド - vSwitch からビジネス vSwitch ID が (vsw-xxx) で始まることを確認してください",
"Label": "既存の vSwitch ID",
"AssociationPropertyMetadata": {
"VpcId": "VPC",
"ZoneId": "ZoneId"
}
}
},
"Resources": {
"ServiceMesh": {
"Type": "ALIYUN::ASM::ServiceMesh",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"VSwitches": [
{
"Ref": "VSwitch"
}
]
}
}
},
"Outputs": {
"ServiceMeshId": {
"Description": "ASM インスタンスの ID。",
"Value": {
"Fn::GetAtt": [
"ServiceMesh",
"ServiceMeshId"
]
}
}
}
}