共享 VPC 连接器
Share VPC connector
我正在关注这篇文章[1] 以获取我的云 运行 实例的固定 IP 地址,但我的项目已经使用云内存存储 (Redis),它需要我已经使用的 VPC 无服务器连接器。
这是我的 Redis 无服务器连接器
gcloud beta compute networks vpc-access connectors list --region us-central1
CONNECTOR_ID REGION NETWORK IP_CIDR_RANGE SUBNET SUBNET_PROJECT MACHINE_TYPE MIN_INSTANCES MAX_INSTANCES STATE
serveless-connector us-central1 default 10.8.0.0/28 e2-micro 2 3 READY
然后我使用以下命令行进行部署
gcloud beta run deploy service --vpc-connector=serveless-connector...
但是在文档中,似乎需要另一个云上的 VPC 连接器 运行,才能获得出站 NAT。
有什么方法可以通过 VPC 连接器 AND 静态 IP 地址获取 Redis?
更新
如果我运行
gcloud compute networks subnets create subnet \
--range=10.8.0.0/28 --network=default --region=us-central1 --project ${PROJECT_ID}
我收到错误:
- Invalid IPCidrRange: 10.8.0.0/28 conflicts with existing subnetwork 'aet-uscentral1-serveless--connector-sbnt' in region 'us-central1'.
1 - https://cloud.google.com/run/docs/configuring/static-outbound-ip
将正确的解决方案发布为社区 wiki。
我删除了以前的连接器并使用教程重新创建并成功了!这是我的 steps.
```shell
gcloud compute networks subnets create subnet \
--range=10.8.0.0/28 \
--network=default \
--region=us-central1 \
--project=${PROJECT_ID}
```
```shell
gcloud compute networks vpc-access connectors create vpc-access-connector \
--region=us-central1 \
--subnet-project=${PROJECT_ID} \
--subnet=subnet \
--project=${PROJECT_ID}
```
```shell
gcloud compute routers create router \
--network=default \
--region=us-central1 \
--project=${PROJECT_ID}
```
```shell
gcloud compute addresses create ipddr0 --region=us-central1 --project=${PROJECT_ID}
```
```shell
gcloud compute routers nats create nat \
--router=router \
--region=us-central1 \
--nat-custom-subnet-ip-ranges=subnet \
--nat-external-ip-pool=ipddr0 \
--project=${PROJECT_ID}
```
我正在关注这篇文章[1] 以获取我的云 运行 实例的固定 IP 地址,但我的项目已经使用云内存存储 (Redis),它需要我已经使用的 VPC 无服务器连接器。
这是我的 Redis 无服务器连接器
gcloud beta compute networks vpc-access connectors list --region us-central1
CONNECTOR_ID REGION NETWORK IP_CIDR_RANGE SUBNET SUBNET_PROJECT MACHINE_TYPE MIN_INSTANCES MAX_INSTANCES STATE
serveless-connector us-central1 default 10.8.0.0/28 e2-micro 2 3 READY
然后我使用以下命令行进行部署
gcloud beta run deploy service --vpc-connector=serveless-connector...
但是在文档中,似乎需要另一个云上的 VPC 连接器 运行,才能获得出站 NAT。
有什么方法可以通过 VPC 连接器 AND 静态 IP 地址获取 Redis?
更新
如果我运行
gcloud compute networks subnets create subnet \
--range=10.8.0.0/28 --network=default --region=us-central1 --project ${PROJECT_ID}
我收到错误:
- Invalid IPCidrRange: 10.8.0.0/28 conflicts with existing subnetwork 'aet-uscentral1-serveless--connector-sbnt' in region 'us-central1'.
1 - https://cloud.google.com/run/docs/configuring/static-outbound-ip
将正确的解决方案发布为社区 wiki。 我删除了以前的连接器并使用教程重新创建并成功了!这是我的 steps.
```shell
gcloud compute networks subnets create subnet \
--range=10.8.0.0/28 \
--network=default \
--region=us-central1 \
--project=${PROJECT_ID}
```
```shell
gcloud compute networks vpc-access connectors create vpc-access-connector \
--region=us-central1 \
--subnet-project=${PROJECT_ID} \
--subnet=subnet \
--project=${PROJECT_ID}
```
```shell
gcloud compute routers create router \
--network=default \
--region=us-central1 \
--project=${PROJECT_ID}
```
```shell
gcloud compute addresses create ipddr0 --region=us-central1 --project=${PROJECT_ID}
```
```shell
gcloud compute routers nats create nat \
--router=router \
--region=us-central1 \
--nat-custom-subnet-ip-ranges=subnet \
--nat-external-ip-pool=ipddr0 \
--project=${PROJECT_ID}
```