Logo

[macOS] cloud-sql-proxyを常時起動する

ノート

macOSでcloud-sql-proxyを常時起動する方法を紹介します。

cloud-sql-proxyの起動コマンドをLaunch Agentsにログインスクリプトとして追加します。

まず、以下のファイルを~/Library/LaunchAgents/<label-name>.plist として保存します。

<label-name> , <path-to-cloud-sql-proxy> , <port> , <project-id> , <region> , <instance-name> , <path-to-application_default_credentials.json> はご自身の環境に合わせて変更してください。

パスは絶対パスで記述してください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string><label-name></string>
    <key>ProgramArguments</key>
    <array>
        <string><path-to-cloud-sql-proxy></string>
        <string>--port=<port></string>
        <string>--auto-iam-authn</string>
        <string><project-id>:<region>:<instance-name></string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/cloud-sql-proxy.stdout.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/cloud-sql-proxy.stderr.log</string>
    <key>EnvironmentVariables</key>
    <dict>
        <key>GOOGLE_APPLICATION_CREDENTIALS</key>
        <string><path-to-application_default_credentials.json></string>
    </dict>
</dict>
</plist>

次に、このスクリプトをログイン時に実行するように登録するために、 launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/<label-name>.plist を実行します。