我在Googl计算引擎中创建了一个VM实例,并在Google app Engine标准环境中创建了一个应用程序。我计划在app Engine中安装我的应用程序,在Compute Engine中安装数据库服务器。但是,我不能通过内部IP在两者之间连接。这个是可能的吗?应用程序和数据库在同一区域(us-east1),但IP连接不起作用,只能与外部IP连接。显然,防火墙的规则是正确的。
发布于 2019-08-20 18:46:39
从April 9, 2019开始,您可以使用无服务器。
这将允许您的App Engine应用程序连接到Google Cloud平台上您的私有网络中的其他内部资源,例如计算引擎VM实例、云存储实例,以及具有内部IP地址的任何其他资源。
要创建连接器,请执行以下操作:
$ gcloud services enable vpcaccess.googleapis.com
$ gcloud beta compute networks vpc-access connectors create CONNECTOR_NAME \
--network VPC_NETWORK --region REGION --range IP_RANGE
$ gcloud beta compute networks vpc-access connectors describe CONNECTOR_NAME --region REGION注意:您可以查看Google Cloud Platform Console中当前保留的IP范围。您可以选择任何未使用的CIDR /28 IP范围用于连接器,例如10.8.0.0/28。
$ gcloud beta compute networks vpc-access connectors create my-vpc-connector \
--region=us-central1 --range=10.8.0.0/28
Create request issued for: [my-vpc-connector]
Waiting for operation [xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx] to complete...done.
Created connector [my-vpc-connector]要将连接器连接到服务,请将以下内容添加到服务的app.yaml文件中:
vpc_access_connector:
name: "projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME"部署服务:
$ gcloud beta app deploy注意:要使用无服务器私有网络访问,请确保使用gcloud beta部署您的服务。您可以通过运行gcloud components install beta来访问测试版命令。
部署服务后,它可以向Internal IP addresses或DNS Names发送请求,以便访问VPC Networks中的资源。如果出现任何问题,请留出大约一个小时或更长时间,让连接器在GCP全球网络中完全传播。
发布于 2017-11-16 15:34:53
为了通过内网IP连接,您需要应用程序和数据库将在同一网络中。你不能使用app engine标准来实现这一点,你需要app engine flex来实现(参见here how to set the network of your app engine flex instance)
发布于 2017-11-18 12:25:40
您必须使用Compute Engine实例上运行的服务的外部IP地址进行连接。App Engine标准环境与Compute Engine实例位于不同的网络上,目前彼此之间没有内网IP访问权限。如果相关成本合理,那么切换到灵活环境中的应用程序(或应用程序的服务)可能适合您。
https://stackoverflow.com/questions/47308749
复制相似问题