GCPのデフォルトコンテナイメージの読解方法


# はじめに

GCPでは様々なコンテナイメージが用意されていますがドキュメントが存在しているわけでないです。

イメージの詳細にも詳しい使い方が載っているわけではありません。

https://console.cloud.google.com/gcr/images/cloudsql-docker/global/gce-proxy@sha256:ec2858d78ac2b4d7945020589f6f86d151704a4617322f6c4196bafd952bf827/details?tab=info

GitHubのリンクくらいはつけてほしいところ。

## GitHub + イメージ名で検索

```
github gcr.io/cloudsql-docker/gce-proxy:1.33.8
```

## GitHubページから実行コマンドを取得

https://github.com/GoogleCloudPlatform/cloud-sql-proxy

実行するとヘルプが見れます。

```sh
❯ ./cloud-sql-proxy 
Error: missing instance_connection_name (e.g., project:region:instance)
Usage:
  cloud-sql-proxy INSTANCE_CONNECTION_NAME... [flags]

Flags:
  -a, --address string                       (*) Address to bind Cloud SQL instance listeners. (default "127.0.0.1")
      --admin-port string                    Port for localhost-only admin server (default "9091")
  -i, --auto-iam-authn                       (*) Enables Automatic IAM Authentication for all instances
      --auto-ip                              Supports legacy behavior of v1 and will try to connect to first IP
                                             address returned by the SQL Admin API. In most cases, this flag should not be used.
                                             Prefer default of public IP or use --private-ip instead.
  -c, --credentials-file string              Use service account key file as a source of IAM credentials.
      --debug                                Enable pprof on the localhost admin server
      --disable-metrics                      Disable Cloud Monitoring integration (used with --telemetry-project)
      --disable-traces                       Disable Cloud Trace integration (used with --telemetry-project)
      --fuse string                          Mount a directory at the path using FUSE to access Cloud SQL instances.
      --fuse-tmp-dir string                  Temp dir for Unix sockets created with FUSE (default "/tmp/csql-tmp")
  -g, --gcloud-auth                          Use gcloud's user credentials as a source of IAM credentials.
                                             NOTE: this flag is a legacy feature and generally should not be used.
                                             Instead prefer Application Default Credentials
                                             (enabled with: gcloud auth application-default login) which
                                             the Proxy will then pick-up automatically.
      --health-check                         Enables health check endpoints /startup, /liveness, and /readiness on localhost.
  -h, --help                                 Display help information for cloud-sql-proxy
      --http-address string                  Address for Prometheus and health check server (default "localhost")
      --http-port string                     Port for Prometheus and health check server (default "9090")
      --impersonate-service-account string   Comma separated list of service accounts to impersonate. Last value
                                             is the target account.
  -j, --json-credentials string              Use service account key JSON as a source of IAM credentials.
      --login-token string                   Use bearer token as a database password (used with token and auto-iam-authn only)
      --max-connections uint                 Limit the number of connections. Default is no limit.
      --max-sigterm-delay duration           Maximum number of seconds to wait for connections to close after receiving a TERM signal.
  -p, --port int                             (*) Initial port for listeners. Subsequent listeners increment from this value.
      --private-ip                           (*) Connect to the private ip address for all instances
      --prometheus                           Enable Prometheus HTTP endpoint /metrics on localhost
      --prometheus-namespace string          Use the provided Prometheus namespace for metrics
      --psc                                  (*) Connect to the PSC endpoint for all instances
      --quiet                                Log error messages only
      --quitquitquit                         Enable quitquitquit endpoint on the localhost admin server
      --quota-project string                 Specifies the project to use for Cloud SQL Admin API quota tracking.
                                             The IAM principal must have the "serviceusage.services.use" permission
                                             for the given project. See https://cloud.google.com/service-usage/docs/overview and
                                             https://cloud.google.com/storage/docs/requester-pays
      --run-connection-test                  Runs a connection test
                                             against all specified instances. If an instance is unreachable, the Proxy exits with a failure
                                             status code.
      --sqladmin-api-endpoint string         API endpoint for all Cloud SQL Admin API requests. (default: https://sqladmin.googleapis.com)
  -l, --structured-logs                      Enable structured logging with LogEntry format
      --telemetry-prefix string              Prefix for Cloud Monitoring metrics.
      --telemetry-project string             Enable Cloud Monitoring and Cloud Trace with the provided project ID.
      --telemetry-sample-rate int            Set the Cloud Trace sample rate. A smaller number means more traces. (default 10000)
  -t, --token string                         Use bearer token as a source of IAM credentials.
  -u, --unix-socket string                   (*) Enables Unix sockets for all listeners with the provided directory.
      --user-agent string                    Space separated list of additional user agents, e.g. cloud-sql-proxy-operator/0.0.1
  -v, --version                              Print the cloud-sql-proxy version
```