TechBox

スタートアップで働くRails&機械学習エンジニアのブログ。

Google Cloud PlatformでMySQLを動作させる

Google Cloud Platformで、MySQLを使用していきます。
最終的には、GAEにRuby on Railsをデプロイしてプロダクション環境で動作させますが、
その前段階として、まずはDBの構築から行います。

f:id:daisuke-jp:20170509091937p:plain

MySQLの立ち上げ自体はかなり簡単な作業なのですが、
抜けがないように、丁寧に手順を記載していきたいと思います。

  • Google Cloud Platformについて
  • GCPのデータベースについて
  • Cloud SQLの有効化
  • ローカルからMySQLの接続をする

Google Cloud Platformについて

f:id:daisuke-jp:20170509092217p:plain
これは相当数の説明がありますので、わざわざ書くまでもないですね。
公式ページを見るのが早いと思います。
AWSやAzure、さくらのクラウド辺りと競合してくるサービスです。

Google Cloud Platformのイニシャルで、GCPと呼ばれるのが一般的かと思います。

GCPのデータベースについて

GCPには2017年5月現在で、3つのデータベースが存在します。
ざっくりまとめると、以下の感じです。

  • Cloud Datastore
    f:id:daisuke-jp:20170509092309p:plain:w100
    KVS型DB。プログラムから使用する場合、Google提供のライブラリーを導入し、
    GCPのドキュメント見ながら、DB操作のコーディングが必要。
    Railsの場合(多言語でも聞いた事はないが)、当然ORMは存在しない。

  • Cloud SQL
    f:id:daisuke-jp:20170509092336p:plain:w100
    RDB。一般的に使用されているRDBのホスティングサービスで、
    MySQLとPostgreSQLに対応している。
    MySQL用のORMで使えるし、ローカルから各種ツールを使ってデータ操作も可能。
    今回はこれを使用します。

  • Cloud Spanner
    f:id:daisuke-jp:20170509092348p:plain:w100
    KVSのスケーラビリティと、RDBの整合性をトレードオフする事なく実現させた、
    夢のようなDB。今現在はGo、Java、Node.js、Python用のクライアントライブラリーがある。
    その他の言語にも順次対応予定との事。

MySQLの構築なので、今回はCloud SQLを実行します。

Cloud SQLの有効化

まずはプロジェクトを作成し、選択した状態にして下さい。

続きを読む

RubyMineで実行環境はVagrantなどの仮想マシンにしたい場合の詳細設定方法

ちょっと仕事が忙しくて、何も書けていませんでした。
以前RubyMineを試用版でインストールしていましたが、これが思いの外フィットしたので、
そのまま製品版の購入に至りました。

という事で、今回はRubyMineを導入する際の詳細設定を見ていきたいと思います。

RubyMineの根本的な導入については、以前書きました。

www.techbox.jp

今回は、これに足りていない詳細部分を記載します。

今回の要件ですが、

  • RubyMineはインストール済み
  • 自分のPCでコーディングするけど、実行は仮想環境でしたい
  • 仮想環境のRubyを使いたい
  • Gitのレポジトリはローカル環境にある

という場合の設定についてです。

  • 実行環境へのソースデプロイ設定
    • 転送先設定
    • 自動転送設定
  • RubySDKの場所の指定
  • サーバーにソースを転送して実行
  • 注意点
続きを読む

RubyMineをGitHubに連携させて導入してみる

今僕がプログラミングで使っている環境はAtomかSublimeTextです。
C#についてはVisualStudio。
Rubyはコンパイルとかないし、そもそもIDEなんてないだろって先入観の元、
テキストエディター+αな感じでいいじゃんって事で使っていました。

最近になって久々にVisualStudioを触る機会がありまして、
IDEの補完とか、エラーを即指摘してくれる動作とかスゲー!って改めて思いまして…
ふとRubyでもIDEが使えない物かと思い、導入してみました。

f:id:daisuke-jp:20161012164112p:plain

要件としては、

  • RubyonRailsのプログラミング
  • バージョン管理はGitHub
  • DBはMySQL(MariaDB)
  • 64bit(32bitの場合は読み替えてください)

※RubyMineは有償ソフトです。30日間だけ試用が可能です。

ちなみに環境はWindowsです。

  • Rubyインストール
    • RubyInstaller
    • DEVELOPMENT KIT
  • Gitインストール
  • RubyMineインストール
  • RubyMineのセットアップ
    • GitHub連携とプロジェクト作成
    • MySQL接続
続きを読む

NginxとUnicornでRubyonRailsの本番アプリサーバー構築手順

Railsに標準で入っているWEBrickは、開発中には気軽に動かせて便利で問題なしですが、
本番でRailsサーバーを動かすには、やっぱりきちんとWEBサーバーを構築してあげる必要があります。
そこで、Rails周りでは最近よく聞くNginx + Unicornでの構成を構築してみたいと思います。

https://nginx.org/nginx.png

  • 軽い解説
    • Nginxとは
    • Unicornとは
  • 前提
  • 手順
    • Unicornインストール
      • Unicorn設定ファイル準備
      • Unicornの動作確認
      • UnicornをRakeのTaskに埋め込む
    • Nginxのインストール
      • リポジトリからインストール
      • 動作確認
      • Nginx設定ファイル準備
      • 動作確認
続きを読む