Open aibangjuxin opened 1 year ago
在 GCP 工程中,gcloud compute url-maps 可以复用。您可以将一个 URL 映射应用到多个转发规则。
以下是复用 URL 映射的示例:
# 创建一个名为 my-url-map 的 URL 映射。
gcloud compute url-maps create my-url-map \
--default-service=my-backend-service
# 创建一个名为 my-forwarding-rule-1 的转发规则,将流量转发到 my-url-map。
gcloud compute forwarding-rules create my-forwarding-rule-1 \
--load-balancing-scheme=internal \
--target-https-proxy=my-target-https-proxy \
--url-map=my-url-map
# 创建一个名为 my-forwarding-rule-2 的转发规则,将流量转发到 my-url-map。
gcloud compute forwarding-rules create my-forwarding-rule-2 \
--load-balancing-scheme=external \
--target-https-proxy=my-target-https-proxy \
--url-map=my-url-map
# 查看转发规则是否创建成功
gcloud compute forwarding-rules list
# 输出结果:
NAME REGION LOAD-BALANCER-SCHEME BACKEND-SERVICE PORTS URL-MAP
my-forwarding-rule-1 us-central1 internal my-backend-service 80, 443 my-url-map
my-forwarding-rule-2 us-central1 external my-backend-service 80, 443 my-url-map
在这种情况下,my-url-map 将被应用到两个转发规则。第一个转发规则将流量转发到内部后端服务,第二个转发规则将流量转发到外部后端服务。
需要注意的是,URL 映射中的路径必须唯一。如果两个转发规则具有相同的路径,则只有一个转发规则将被激活。
以下是一些额外的资料:
当您想要创建一个 Google Cloud Compute Engine 的转发规则 (forwarding-rule
) 时,您可以使用 gcloud compute forwarding-rules create
命令。下面是一个示例命令,基于您提供的 gcloud compute forwarding-rules list
命令来创建一个新的转发规则:
gcloud compute forwarding-rules create YOUR_FORWARDING_RULE_NAME \
--project YOUR_PROJECT_ID \
--load-balancing-scheme EXTERNAL \
--region YOUR_REGION \
--frontend-service=YOUR_FRONTEND_SERVICE_NAME \
--ip-protocol TCP \
--ports=80
这个命令的详细说明如下:
YOUR_FORWARDING_RULE_NAME
:您要创建的转发规则的名称。YOUR_PROJECT_ID
:您的 Google Cloud 项目的 ID。EXTERNAL
:此标志指示负载均衡规则是外部负载均衡(Internet-facing)。YOUR_REGION
:转发规则所属的地区。YOUR_FRONTEND_SERVICE_NAME
:与转发规则关联的前端服务的名称。TCP
:指定协议为 TCP。--ports=80
:指定要转发的端口。在此示例中,转发到端口 80。请根据您的实际需求,替换 YOUR_FORWARDING_RULE_NAME
、YOUR_PROJECT_ID
、YOUR_REGION
和 YOUR_FRONTEND_SERVICE_NAME
为您的具体值。此命令将根据您提供的参数创建一个新的转发规则。
如果您要创建一个 Google Cloud Compute Engine 的转发规则 (forwarding-rule
),但前端服务 (frontend-service
) 不存在,您需要先创建前端服务,然后再为转发规则引用它。以下是创建前端服务的示例命令:
gcloud compute target-https-proxies create YOUR_FRONTEND_SERVICE_NAME \
--project YOUR_PROJECT_ID \
--url-map=YOUR_URL_MAP_NAME
这个命令的详细说明如下:
YOUR_FRONTEND_SERVICE_NAME
:您要创建的前端服务的名称。YOUR_PROJECT_ID
:您的 Google Cloud 项目的 ID。YOUR_URL_MAP_NAME
:与前端服务关联的 URL Map 的名称。请根据您的实际需求,替换上述命令中的 YOUR_FRONTEND_SERVICE_NAME
、YOUR_PROJECT_ID
和 YOUR_URL_MAP_NAME
为您的具体值。
一旦您成功创建了前端服务,然后您可以使用前面提到的示例命令来创建一个转发规则,并在其中引用前端服务。这样,您就可以将流量引导到前端服务上,并进一步配置负载均衡和路由规则。
是的,您可以使用 gcloud compute forwarding-rules create 命令创建 Google Cloud Compute Engine 的转发规则。以下是一个示例命令,基于您提供的 gcloud compute forwarding-rules list 命令来创建一个新的转发规则:
gcloud compute forwarding-rules create my-forwarding-rule \
--load-balancing-scheme=target-https-proxy \
--target-https-proxy=my-target-https-proxy \
--ports=80,443 \
--region=us-central1
此命令将创建一个名为 my-forwarding-rule 的转发规则,将流量转发到名为 my-target-https-proxy 的 target-https-proxy。转发规则将处理 HTTP 和 HTTPS 流量,并位于 us-central1 区域。
以下是该命令的参数说明:
--load-balancing-scheme
:指定转发规则的负载平衡模式。在这种情况下,我们使用 target-https-proxy
模式,将流量转发到 target-https-proxy。--target-https-proxy
:指定转发规则要转发到的 target-https-proxy 的名称。--ports
:指定转发规则要处理的端口。在这种情况下,我们使用 80
和 443
端口。--region
:指定转发规则所在的区域。您可以根据需要修改此命令以满足您的特定需求。例如,您可以指定不同的 target-https-proxy、端口或区域。
以下是一些其他示例命令:
gcloud compute forwarding-rules create my-forwarding-rule \
--load-balancing-scheme=target-https-proxy \
--target-https-proxy=my-target-https-proxy \
--ports=80 \
--region=us-central1
gcloud compute forwarding-rules create my-forwarding-rule \
--load-balancing-scheme=target-https-proxy \
--target-https-proxy=my-target-https-proxy \
--ports=80,443 \
--region=us-west1
gcloud compute forwarding-rules create my-forwarding-rule \
--load-balancing-scheme=internal \
--backend-service=my-backend-service \
--ports=80,443 \
--region=us-central1
希望这些信息对您有所帮助。
好的,以下是 gcloud compute forwarding-rules create 的详细例子:
对于第二个问题,是可以复用已经存在的证书的。您可以通过 gcloud compute ssl-certificates list 列出所有可用的证书。然后,您可以使用 --ssl-certificate 选项指定要使用的证书。
以下是创建一个新的 target-https-proxy 且使用存在的证书的例子:
以下是一些额外的资料:
希望这些信息对您有所帮助。