Aerospike環境構築メモ on GCP

# 概要
[Google Cloud Platform](https://cloud.google.com/)(以下GCP)に[Aerospike](http://www.aerospike.com/)のクラスターを構築してみたのでメモ。

# 前提
* Googleのアカウントは作成済みで、gcloudコマンドなどは使える状態

# 手順
## 1. プロジェクト作成
[Google Developers Console](https://console.developers.google.com)（GUI）からプロジェクトを新規作成する。
ここでは適当に「aerospike」と付けて作成した。

## 2. Click-to-DeployからAerospikeをデプロイ
![Cloud Launcher - aerospike 2015-10-07 14-14-49.png](https://qiita-image-store.s3.amazonaws.com/0/63069/f7c2c5fe-5245-34bf-d8d7-3e8c2735389b.png "Cloud Launcher - aerospike 2015-10-07 14-14-49.png")
1. 左ペインの「Cloud Launcher」をポチ
2. Filerに「aero」くらいまで入力すると絞り込まれる
3. 「Aerospike」をポチ

![Cloud Launcher - aerospike 2015-10-07 14-24-07.png](https://qiita-image-store.s3.amazonaws.com/0/63069/950633db-276b-0e26-cf5c-b1545af994e0.png "Cloud Launcher - aerospike 2015-10-07 14-24-07.png")
「Compute engine上で起動」をポチ

![aerospike デプロイ - aerospike 2015-10-07 14-26-14.png](https://qiita-image-store.s3.amazonaws.com/0/63069/0d2d7e39-c44e-de4e-375c-e04aba729e11.png "aerospike デプロイ - aerospike 2015-10-07 14-26-14.png")
入力項目がいくつかあるので適当に入力して「「Aerospike」をデプロイ」をポチ
※ 軽く試すだけなのでここでは小さめの構成にしている

![aerospike デプロイ - aerospike 2015-10-07 14-31-45.png](https://qiita-image-store.s3.amazonaws.com/0/63069/315b31fa-ac01-3998-7ea2-8a68dbba8f54.png "aerospike デプロイ - aerospike 2015-10-07 14-31-45.png")
しばらく時間がかかるようなのでトイレでも行っておく。

![aerospike デプロイ - aerospike 2015-10-07 14-33-56.png](https://qiita-image-store.s3.amazonaws.com/0/63069/b57f03e0-12b5-fd68-75a5-f266c0db1339.png "aerospike デプロイ - aerospike 2015-10-07 14-33-56.png")
戻ってきたら出来てた。これで完成。すごく簡単。

## 3. Aerospike Management Consoleにアクセスする
![aerospike デプロイ - aerospike 2015-10-07 14-40-56.png](https://qiita-image-store.s3.amazonaws.com/0/63069/174e1f41-6ff0-8a44-39ea-9fb14cff4bfa.png "aerospike デプロイ - aerospike 2015-10-07 14-40-56.png")
こんなのがあったのでやってみた。

Configにプロジェクトを設定していなければ設定しておく。
手元のコンソールから以下を実行。

```bash
$ gcloud config set project aerospike-1091
```

記載されている通りにSSHトンネルする。

```bash
$ gcloud compute ssh --ssh-flag=-L8081:localhost:8081 --project=aerospike-1091 --zone asia-east1-a aerospike1-aerospike-1-vm
```
ちょっと待つとSSHアクセスするので、この状態のままブラウザでhttp://localhost:8081 にアクセスすると、

![AMC 2015-10-07 14-52-29.png](https://qiita-image-store.s3.amazonaws.com/0/63069/7ac81c6a-4205-acef-570d-1f1e3857c1b1.png "AMC 2015-10-07 14-52-29.png")
クラスターのノードのアドレスを聞かれるので入力して「Connect」をポチ。
※ ノードはどれでもいいし、ホスト名でもIPでもいいっぽい

![AMC 2015-10-07 14-56-43.png](https://qiita-image-store.s3.amazonaws.com/0/63069/4092ab2c-06bd-2b2f-289b-52f6318739f8.png "AMC 2015-10-07 14-56-43.png")
なんかソレっぽいのが表示される。

![AMC 2015-10-07 14-58-24.png](https://qiita-image-store.s3.amazonaws.com/0/63069/8b2294ec-d8c9-0555-aeee-d62b02da6941.png "AMC 2015-10-07 14-58-24.png")
ノードもちゃんと認識されている。

## おまけ. Management Consoleを外からアクセスできるようにする
今の状態ではAerospike Management ConsoleにアクセスできるのはSSHトンネルしている時だけ（当然だけど）なので、それが煩わしいという方はFirewallの設定を追加して外からアクセスしちゃいましょう。

左ペインの「ネットワーク」をポチ ->
一覧からインスタンスに適用しているネットワークをポチ（とくにイジってない場合は「default」だけのはず） ->
「ファイアウォールルールを追加」をポチ ->

![ファイアウォール ルール - aerospike 2015-10-07 16-12-39.png](https://qiita-image-store.s3.amazonaws.com/0/63069/5b75747d-392d-4063-ad9c-b966ec26a8b7.png "ファイアウォール ルール - aerospike 2015-10-07 16-12-39.png")
こんな感じで設定して「作成」ボタンをポチ

これでSSHトンネルしなくても、

```
http://{インスタンスの外部IP}:8081
```
こんな感じでManagement Consoleにアクセスできるはず。

**※ 注意
セキュリティは考慮してません。あくまでお試しです。
実際には外部からのアクセスは許可せず、VPNを構築してVPN内からのみアクセス可能とかにする方が良いでしょう。**

# 所感
本当にあっという間にできました。スバラシイ。
何か操作してる時間よりデプロイ待ちの時間の方が長いくらい。
軽く試してみたいくらいの感じであればとても良いと思います。