LoginSignup
0
0

More than 5 years have passed since last update.

cloud_sql_proxyをansibleで設定する

Posted at

背景

GCE -> CloudSQLへの接続にcloud_sql_proxyを使って苦労したのでメモ。

サンプル

## mysqlの設定(必要ないならスキップ)
- name: add repo
  command: rpm -ih http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm creates=/etc/yum.repos.d/mysql-community.repo

- name: install mysql-devel
  yum: name=mysql-community-devel.x86_64 state=installed

## ここからcloud_sql_proxyの設定
- name: get cloud_sql_proxy file
  stat: path=cloud_sql_proxy
  register: proxy_file

- name: download cloud_sql_proxy
  when: proxy_file.stat.exists == false
  get_url:
    url: https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64
    dest: ./

- name: mv gcs
  when: proxy_file.stat.exists == false
  command: mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy

- name: permission of gcs
  when: proxy_file.stat.exists == false
  file:
    path: cloud_sql_proxy
    owner: deployer
    group: deployer
    mode: 0775

- name: run gcs
  when: proxy_file.stat.exists == false
  shell: ./cloud_sql_proxy -instances={{ cloud_sql_connect }}=tcp:3306  >& /var/log/cloud_sql_proxy.log &
  args:
    chdir: /home/deployer
  async: 5
  poll: 0

MEMO

変数

  • cloud_sql_connect: cloud_sqlの接続情報(project_id:asia-norteast-1:instance_nameみたいなやつ)
  • login_user: sshログインユーザー

はまったとこ

  • chdirにlogin_userのホームを指定しないと実行できなかった
    • become: true で実行してたのでrootのホームにいたっぽい
  • 起動スクリプトに >& /log/output がないとprocessは起動するけど、接続時にプロセス落ちる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0