Some internet url or IP are not reachable through Cloud Function

Viewed 22

I tried to make some http requests through GCP's Cloud Function with Python 3.10 runtime, some went well, and some went wrong.

enter image description here

To find out the reason, I ping the IP of each url, and the IP I need has no response:

ping ip(173.194.217.106) of url(https://www.google.com): True

ping ip(69.147.92.11) of url(https://www.yahoo.com): True

ping ip(13.107.42.14) of url(https://www.linkedin.com): True

ping ip(117.56.7.114) of url(https://data.moi.gov.tw): False

Is there any way to make a successful request to https://data.moi.gov.tw through Cloud Function?

Here are the materials to reproduce the results with Cloud Function (Gen1):

main.py:

import platform    # For getting the operating system name
import subprocess  # For executing a shell command
import requests

def ping(host):
    """
    Returns True if host (str) responds to a ping request.
    Remember that a host may not respond to a ping (ICMP) request even if the host name is valid.
    """
    # Option for the number of packets as a function of
    param = '-n' if platform.system().lower()=='windows' else '-c'
    # Building the command. Ex: "ping -c 1 google.com"
    command = ['ping', param, '1', host]
    return subprocess.call(command) == 0

def main(event):
    d_ip_url = {
        '173.194.217.106' : 'https://www.google.com',
        '69.147.92.11' : 'https://www.yahoo.com',
        '13.107.42.14' : 'https://www.linkedin.com',
        '117.56.7.114' : 'https://data.moi.gov.tw',
    }

    for ip, url in d_ip_url.items():
        print(f'ping ip({ip}) of url({url}):', ping(ip))

requirements.txt:

# Function dependencies, for example:
# package>=version
requests

The cloud Function settings:

{
  "name": "projects/corgis-361708/locations/asia-east1/functions/ping-test",
  "httpsTrigger": {
    "url": "https://asia-east1-corgis-361708.cloudfunctions.net/ping-test",
    "securityLevel": "SECURE_ALWAYS"
  },
  "status": "ACTIVE",
  "entryPoint": "main",
  "timeout": "60s",
  "availableMemoryMb": 256,
  "serviceAccountEmail": "corgis-361708@appspot.gserviceaccount.com",
  "updateTime": "2022-09-21T06:04:31.746Z",
  "versionId": "2",
  "labels": {
    "deployment-tool": "console-cloud"
  },
  "sourceUploadUrl": "https://storage.googleapis.com/uploads-918581105162.asia-east1.cloudfunctions.appspot.com/78ad8f77-d16c-412c-843f-51238703fbbf.zip",
  "runtime": "python310",
  "maxInstances": 1,
  "ingressSettings": "ALLOW_ALL",
  "buildId": "0c8bf5d0-3467-4516-8fea-c39d0e093c2e",
  "buildName": "projects/647355426154/locations/asia-east1/builds/0c8bf5d0-3467-4516-8fea-c39d0e093c2e",
  "dockerRegistry": "CONTAINER_REGISTRY"
}
0 Answers
Related