AWS::AppMesh::VirtualRouter - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AppMesh::VirtualRouter

在服务网格中创建虚拟路由器。

为虚拟路由器接收的任何入站流量指定 listener。为需要进行路由的每个协议和端口创建一个虚拟路由器。虚拟路由器处理用于您的网格内一个或多个虚拟服务的流量。创建虚拟路由器后,为您的虚拟路由器创建并关联路由,以将传入请求定向至不同的虚拟节点。

有关虚拟路由器的更多信息,请参阅虚拟路由器

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::AppMesh::VirtualRouter", "Properties" : { "MeshName" : String, "MeshOwner" : String, "Spec" : VirtualRouterSpec, "Tags" : [ Tag, ... ], "VirtualRouterName" : String } }

YAML

Type: AWS::AppMesh::VirtualRouter Properties: MeshName: String MeshOwner: String Spec: VirtualRouterSpec Tags: - Tag VirtualRouterName: String

属性

MeshName

要在其中创建虚拟路由器的服务网格的名称。

必需:是

类型:字符串

Update requires: Replacement

MeshOwner

服务网格拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则所指定的账户必须与您的账户共享网格,然后才能在服务网格中创建资源。有关网格共享的更多信息,请参阅使用共享网格

必需:否

类型:字符串

Update requires: Replacement

Spec

要应用的虚拟路由器规范。

必需:是

类型VirtualRouterSpec

Update requires: No interruption

Tags

可选的元数据,您可以将其应用于虚拟路由器,以帮助分类和组织。每个标签都包含您定义的一个键和一个可选值。标签键的最大字符长度为 128 个字符,标签值的最大长度为 256 个字符。

必需:否

类型Tag 的列表

Update requires: No interruption

VirtualRouterName

要用于虚拟路由器的名称。

必需:是

类型:字符串

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 资源 ARN。例如:

{ "Ref": "myVirtualRouter" }

在将 AWS::AppMesh::VirtualRouter 资源的逻辑 ID 传递给内部 Ref 函数时,该函数返回虚拟路由器 ARN,如 arn:aws:appmesh:us-east-1:555555555555:virtualRouter/myVirtualRouter

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

虚拟路由器的完整 Amazon 资源名称 (ARN)。

MeshName

虚拟路由器所在的服务网格的名称。

MeshOwner

服务网格拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则它是与您的账户共享网格的账户 ID。有关网格共享的更多信息,请参阅使用共享网格

ResourceOwner

资源拥有者的 AWS IAM 账户 ID。如果该账户 ID 并非您拥有,则它是网格拥有者的 ID,或者是与您共享网格的其他账户的 ID。有关网格共享的更多信息,请参阅使用共享网格

Uid

虚拟路由器的唯一标识符。

VirtualRouterName

虚拟路由器的名称。

示例

创建虚拟路由器

此示例创建一个具有 HTTP 端口映射和两个标签的基本虚拟路由器。

JSON

{ "Description": "Basic Test Virtual Router", "Resources": { "BasicVirtualRouter": { "Type": "AWS::AppMesh::VirtualRouter", "Properties": { "VirtualRouterName": "TestVirtualRouter", "MeshName": null, "Spec": { "Listeners": [ { "PortMapping": { "Port": 8080, "Protocol": "http" } } ] }, "Tags": [ { "Key": "Key1", "Value": "Value1" }, { "Key": "Key2", "Value": "Value2" } ] } } }, "Outputs": { "VirtualRouterName": { "Description": "Name of the VirtualRouter", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "VirtualRouterName" ] } }, "MeshName": { "Description": "Name of the Mesh", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "MeshName" ] } }, "Arn": { "Description": "Arn of the VirtualRouter created", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "Arn" ] } }, "Uid": { "Description": "Uid of the VirtualRouter created", "Value": { "Fn::GetAtt": [ "BasicVirtualRouter", "Uid" ] } } } }

YAML

Description: Basic Test Virtual Router Resources: BasicVirtualRouter: Type: AWS::AppMesh::VirtualRouter Properties: VirtualRouterName: TestVirtualRouter MeshName: Spec: Listeners: - PortMapping: Port: 8080 Protocol: http Tags: - Key: Key1 Value: Value1 - Key: Key2 Value: Value2 Outputs: VirtualRouterName: Description: Name of the VirtualRouter Value: Fn::GetAtt: - BasicVirtualRouter - VirtualRouterName MeshName: Description: Name of the Mesh Value: Fn::GetAtt: - BasicVirtualRouter - MeshName Arn: Description: Arn of the VirtualRouter created Value: Fn::GetAtt: - BasicVirtualRouter - Arn Uid: Description: Uid of the VirtualRouter created Value: Fn::GetAtt: - BasicVirtualRouter - Uid

另请参阅