ラベル Google Compute Engine の投稿を表示しています。 すべての投稿を表示
ラベル Google Compute Engine の投稿を表示しています。 すべての投稿を表示
2016年10月8日土曜日

GCPUG Beginners Tokyo で LTしてきました。

先週の金曜日(2016/10/7)に渋谷道玄坂のロフトワークさんで行われたGCPUG Beginners Tokyo #1でLTしてきました。

当日は、GASエキスパートのサントリーさん(@soundTricker318)が、メインのハンズオンを担当され、その後の懇親会のLTセッションの一人として参加しました。

GCPを使い始めた方が対象のハンズオンということで、bdutil を使ってクラスター構築など試してはどうでしょうか?という内容で話してきました。

資料は、SpeakerDeckで公開しています。

bdutilで3d大Hadoopディストリビュータイッキ試し

bdutilとDataProc

サントリーさんに、「bdutilの日本語情報はほとんどないので貴重なLT笑」とおっしゃっていただいたり、LTの後には、DataProcとbdutilどちらがいいの?という話にまで発展したりと会を盛り上げるのに多少なりとも役に立ったようでよかったです。

その時の話をまとめると、Hadoopクラスタをマネージド的に使いたい時はDataProcで、Iaas的に使いたい時は、bdutilが良いというところです。

DataProcは、Googleの各種サービスをフル活用したクラスターを立ち上げることができ、スムーズにアプリが完成するのに対し、bdutilは、簡単にディストリビュータの提供するHadoopクラスタが立ち上がりますが、それを使って何をどうするかは、ユーザに任されています。

Hadoopsディストリビュータのそのままのクラスタが欲しい時や、既存のDataProcでは、対応できないレベルのチューニングやアーキテクチャを採用したい時はbdutilの方が向きそうです。

ハンズオンのクオリティが半端なかったです

ハンズオンの資料(一部GCPの入門用の資料参照)が非常に秀逸でした。

Google Cloud Platform ハンズオン

簡単スタートアップガイド

多少画面が変わっているとかはあったのですが、とにかく1ステップ1ステップが丁寧で、はまりようがないと言っていいくらいわかりやすいものでした。

今回のテーマである、GoogleCloudComputingの他にBigQueryなども含んだ資料ですが、総ページ数は、300ページをに迫る分量です。

チューターとして待機していたのですが、サントリーさんのインストラクションのうまさもあって、ほとんど出番がない状態でした。

新しい技術をスムーズに導入するのは、相応のコストがかかりますが、しっかりやれば、必ずしも難しいものではないと思えました。

GCPUGの皆様のおかげです!

GCPUGさんのイベントにスタッフ参加したのは初めてでしたが、初心者の方でも気楽に参加できるゆるい雰囲気があってよかったです。

また、当日参加された方向けの無料クーポン(60日無料トライアルとは別のものです)が用意されていたりと至れり尽くせりでした。

GCPUGの皆様、特にこの会の発起人の安藤さんのおかげで、GCPを使ってみようという方がまた増えたと思います!

2016年8月28日日曜日

Google Compute Engine インスタンス間でやり取り(service account と mysql in Debian)

Google Compute Engine間でやり取りをするときの設定です。

gcloudを既存のインスタンスで使う

Service Accountsを作って、その認証情報をgcloudに設定します。

認証エラーが出ます

認証設定してない時は、このようなエラーが出ます。

$ gcloud compute instances list
ERROR: (gcloud.compute.instances.list) Some requests did not succeed:
 - Insufficient Permission

auth loginでセットアップしようとすると...

$ gcloud auth login

You are running on a Google Compute Engine virtual machine.
It is recommended that you use service accounts for authentication.

service accountsを使った方が良いと勧められます。

サービスアカウントを作成

今回は、コンソールからサービスアカウントを追加しました。 詳細手順は、公式ドキュメントのCONSOLEタブにあります。

Creating and Managing Service Accounts

gcloudの設定

上記で取得した、キーファイルをインスタンス上に設置して、アクティベイトします。

$ vi ~/.cred.json
$ chmod 400 ~/.cred.json
$ gcloud auth activate-service-account --key-file ~/.cred.json
$ gcloud compute instances list
...

参考: gcloud auth activate-service-account Creating and Enabling Service Accounts for Instances

MySQLをインスタンス間で接続する

MySQLを設定して、インスタンス間のネットワークを設定します。

とりあえずつなぐと疎通出来ませんでした。

$ telnet 10.240.0.4 3306
Trying 10.240.0.4...
telnet: Unable to connect to remote host: Connection refused

Compute Engine

  • インスタンスのネットワーク設定を確認する
  • デフォルトで、default-allow-internalがついてる。変えて無ければOK。

How to Set Up Remote Access to MySQL on Google Compute Engine Google Compute Engineのファイヤーウォールを理解する

mysqlの設定

クライアント側でmysql-clinetをインストール

sudo apt-get install mysql-client

Debianでは、セキュリティ上の理由から、MySQLサーバは、デフォルトでリモートアクセスを停止しています。

  • /etc/my.cnfbind-address=${instance-ip}に設定します
  • mysqlをリスタートします。

    $ sudo systemctl restart mysql
    $ systemctl status mysql

mysql server

あとは、ユーザの権限を確認します

select user, host from mysq.user

確認

クライアント側のtelnetで疎通確認

$ telnet XXX 3306
Trying XXX...
Connected to XXX.
Escape character is '^]'.

クライアント側のmysqlコマンドで接続

mysql -u xxx -p -h xxx