[英]Getting 403 when connecting to a Cloud Run service when using a Serverless VPC Connector
[英]How to enable Cloud Run using serverless vpc connector to restrict traffic to a specific VPC resource only
我正在嘗試設置 Cloud Run(nodeJs 應用程序,代碼如下)以私下連接到 Memory 商店實例。 我按照這篇 Google 文章創建了無服務器 VPC 訪問連接器。 確保我在與 Cloud Run 應用程序相同的區域中創建了連接器,並且該連接器附加到 Redis 實例的授權 VPC.network。
Memorystore 隔離在具有私有范圍地址的 VPC 中。
Nodejs 應用程序代碼如下所示。
const {createClient} = require('redis');
getClient() {
const client = createClient({
socket: {
host: process.env.REDIS_HOST
},
password: process.env.REDIS_PASS
});
client.on('error', (err) => {
throw Error(`redis client error: ${err}`);
});
return client;
}
Google 文檔指出,已創建防火牆規則以允許從連接器的 su.net 進入 VPC.network 中的所有目的地。 這違反了我公司的安全政策,因為我們在此 VPC 中有其他服務(VM、GKE 實例等)。 所以我需要限制連接器能夠到達 VPC.network 中的所有目的地。 有實現此目標的首選方法嗎?
2021 年初,Google Cloud 使 CloudRun 無服務器 vpc 連接器可以使用allow和target-tags標志來創建入口防火牆規則。 它允許將流量僅定位到 VPC 中的特定資源。
Google 文檔指出,已創建防火牆規則以允許從連接器的 su.net 進入 VPC.network 中的所有目的地。 這違反了我公司的安全政策,因為我們在此 VPC 中有其他服務(VM、GKE 實例等)。 所以我需要限制連接器能夠到達 VPC.network 中的所有目的地。 有實現此目標的首選方法嗎?
創建一個防火牆規則並將此規則的優先級設置為低於您在上一步中創建的值。
gcloud compute firewall-rules create RULE_NAME \
--allow=PROTOCOL \
--source-tags=VPC_CONNECTOR_NETWORK_TAG \
--direction=INGRESS \
--network=VPC_NETWORK \
--target-tags=RESOURCE_TAG \
--priority=PRIORITY
希望它能解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.