gcp

GCEからCloudStrage、CloudSQLに接続する手順

GCEにCloudStrageのバケットをマウントする

GCP(Google Cloud Platform)のGCE(Google Compute Engine)のCentOSインスタンスにCloudStrageのバケットをマウントする手順について記述します。

ストレージの作成

まずは、ストレージにバケットを作成します。
すでに存在するバケットを使用する場合は、この手順は必要ありません。

1.GCPコンソール画面の左上のメニューボタンをクリックし、「Storage」を選択します。
スクリーンショット 2017-12-08 14.36.12.png

2.「バケットを作成」をクリックします。
スクリーンショット 2017-12-08 14.34.52.png

3.「バケット名」に適当なバケット名を入力します。
4.適切なストレージクラスを選択します。
5.適切なロケーション(日本なら「asia-notheast1」)を選択します。
6.「作成」をクリックし、バケットが作成されたことを確認します。
スクリーンショット 2017-12-08 14.38.36.png

ストレージのマウント

「ストレージの作成」で作成したストレージのバケットをGCEにマウントします。
GCEでのストレージのマウントにはGoogleが提供する「Cloud Storage FUSE」を使用します。(https://cloud.google.com/storage/docs/gcs-fuse?hl=ja)

ここでは「sample-data」という名前のバケットを、GCEの/mnt/gcs-bucketにマウントする手順に基づいて説明します。
バケット名やマウント箇所はシステム構成に応じて読み替えてください。

GCEからストレージにファイルの書込み、読み込み等する場合には、GCE作成時にストレージアクセス権限:フルを設定する必要があります。
スクリーンショット 2017-12-08 14.40.04.png

1.Cloud Storage FUSEをインストールするため、yumのリポジトリを登録します

sudo tee /etc/yum.repos.d/gcsfuse.repo > /dev/null <<EOF
[gcsfuse]
name=gcsfuse (packages.cloud.google.com)
baseurl=https://packages.cloud.google.com/yum/repos/gcsfuse-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

Cloud Storage FUSEをインストールします。

sudo yum update
sudo yum install gcsfuse

マウントするためのディレクトリを作成します。

mkdir /mnt/gcs-bucket

Cloud Storage FUSE を使用してバケットをマウントします。

gcsfuse sample-data /mnt/gcs-bucket

GCEからCloudSQLに接続する

GCP(Google Cloud Platform)のGCE(Google Compute Engine)のCentOSインスタンスからCloudSQLのMySQLデータベースにCloudSQLProxyを使って接続する手順について記述します。

GCEのアクセス権設定

GCEからCloudSQLに接続する場合には、CloudSQL:有効を設定する必要があります。
スクリーンショット 2017-12-08 16.39.39.png

CloudSQLProxyによる接続

1.GCEインスタンスにSSH 接続します。
2.MySQLクライアントをインストールします。

sudo yum install mysql

3.CloudSQLProxyをインストールします。

wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 
mv cloud_sql_proxy.linux.386 cloud_sql_proxy
chmod +x cloud_sql_proxy

4.プロキシを開始します。
※instances の値は GCP コンソールの CloudSQL 画面内「インスタンス接 続名」を参照。

./cloud_sql_proxy -instances=secure-medium-xxxxxxx:asia-northeast1:xxxxxxx=tcp:3306

スクリーンショット 2017-12-08 16.44.57.png

5.MySQLに接続します。

mysql -u xxxxxxx -p --host 127.0.0.1