Google Cloud Platform(GCP) とは
- Amazon Web Service(AWS) のような IaaS で google が社内インフラとして使用していたものデベロッパー向けに提供したもの
GCP の主なコンポーネント
Compute Engine
- 様々な種類の仮想サーバを構築できる IaaS
- AWS での EC2 に相当する
App Engine
- 様々な言語に対応している PaaS
- 対応言語は Python、Java、PHP、Go
Cloud Storage
- 可用性の高いストレージサービス
- AWS での S3 に相当する
- AWS にはアーカイブ用の Glacier などもあるが、それにあたるものはない
Cloud SQL
- リレーショナルデータベースサービス
- AWS での RDS に相当
- MySQL にのみ対応
GCP | AWS | 用途 |
---|---|---|
Compute Engine | EC2 | 仮想サーバ |
Cloud Storage | S3 | ストレージ |
Cloud SQL | RDS | データベース |
Cloud DNS | Route53 | DNS |
BigQuery | Redshift | DWH |
Google Compute Engine を触ってみる
必要なもの
- google アカウント
- クレジットカード
事前準備
-
google にログイン
-
Developers Console にログイン
-
左側の "課金と設定" を選択し、"課金を有効にする" から必要事項を記載する
-
有効にしたら左側の "API と認証" -> "API" を選び、Google Compute Engine を有効にする
Compute Engine の用意
- "計算処理" -> "COMPUTE ENGINE" -> "VM インスタンス" を選択し、"インスタンスを作成する" を押下
- 任意に設定を行い、作成する
- 今回は、サンプルなのでインスタンスタイプを f1-micro にしておく
- 作成されると次のような画面になる
Google Cloud SDK のインストール
- 自分のマシンに Google Cloud SDK をインストールする
# Python 2.7.x. が入っている必要がある
$ curl https://sdk.cloud.google.com | bash
- インストールされると .bash_profile に下記が追記される
.bash_profile
# The next line updates PATH for the Google Cloud SDK.
source '/Users/xxx/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '/Users/xxx/google-cloud-sdk/completion.bash.inc'
Compute Engine にログイン
- ターミナルからログインする
$ gcloud auth login
Your browser has been opened to visit:
...
You are now logged in as [xxx@hogehoge.com].
Your current project is [hello-world]. You can change this setting by running:
$ gcloud config set project <project>
$ gcloud config set project hello-world
- Compute Engine のログインに必要なコマンドを確認
- 上記の画面の上部の "SSH" -> "gcutil コマンドを表示を確認"
- 確認したコマンドをターミナルに入力
$ gcutil --service_version="v1" --project="prefab-wave-661" ssh --zone="asia-east1-a" "instance-1"
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Nginx をインストール
- Compute Engine 上に Nginx をインストールし、外部から接続してみる
$ sudo apt-get update
$ sudo apt-get install nginx
$ sudo /etc/init.d/nginx start
Starting nginx: nginx.
- ブラウザから外部 IP に接続すると、"Welcome to Nginx!" が確認できる
不要になったら
- プロジェクトが不要になったら、"課金と設定" から "課金の無効" と "プロジェクトの削除" をおこなう
所感
- AWS と比べると、モニタリングサービスがなかったり、データベースサービスが MySQL のみであったりというところが気になるが、今後に期待