JAWS DAYSに行ってきた話

ブログを書くまでがJAWS DAYSということで書きます

JAWS DAYS 2018

Amazon Web Services のユーザーグループが主催している年1回の大規模イベントJAWS DAYS

2月に神戸で開催されたAlexa Day 2018のスキルコンテストで優勝したときに、今回のJAWS DAYSでのLTの特別枠を頂けたので参加しました

というわけでスピーカー参加

Alexa Ninjaですって!カッコいい

もちろんAmazon Alexaのシャツ着用

 

数年ぶりのJAWS DAYS参加だったんですが、とにかく人多い

上の写真のような会場が9つも隣接していたのですが、人気のセッションは立ち見が出ていました。1400人ほど来場していたようです

個人的に衝撃だったのが、受付時に全員に渡されるレシーバー

海外ゲストのセッションもあったので同時通訳にも使われていましたが、それだけではありませんでした

今回の会場は、大きな空間を200人~300人ほど収容スペースになるようにパーティションで区切ってセッションブースを作成していました

このようなレイアウトだと、隣接するセッション会場同士がオープンにつながっているため、普通だったら隣の音が聞こえてしまうはずです

同じようなレイアウトで開催していた過去(ほんの数年前)のイベントでは課題として上がっていたかと記憶しています

レシーバーを全員に配布することでセッション会場ごとにチャンネルを分けて隣接するセッションの音を分けることができるというのは、まぁお金さえかければできるよねって感じだったのですが、ユーザーコミュニティのイベントでやってしまうのはホントすごいですね

コミュニティの活動を離れている間に、こういった細かい課題を解決するノウハウが蓄積していったんだなと感じました

お昼は、お弁当とお茶が参加者へ無料で配られました

受け取った人は、とりあえず座って食べるためにセッション会場にたくさん置いてある椅子に座りますよね

そこで、このお弁当代を出したといっても過言ではないスポンサー企業がランチセッションと称して、10分程度の発表を行う

参加者は、座る場所と食事が得られてハッピー

スポンサーは、今回のようなイベントに参加する熱量の高い参加者に自社を直接アピールする機会を得られてハッピー

運営は、お昼に会場の外に参加者を出さずに会場内で完結さえることができてハッピー

誰も損してない!Win-Win-Winですね。

むかしはランチセッションなんてなかったように思うのですが、いろいろ工夫してるんだなと思いました

午後からは、会場内をウロウロと

AWSかるた遊んだり

記念撮影してみたり

 

7年ぶりにJeff Barrさんにも会えました

大阪の居酒屋で一緒に撮った写真を見せたら覚えていてくれたようでした

Jeffさん、1日中こうやって誰かと写真撮っていましたね。いい人だ


懇親会

懇親会は、A,B,C会場をぶち抜いて行われましたが、これまた人多い

同じ会社のエンジニアの子も参加していたはずなのですが、お互い1日中会場にいたのに会えたのは、この懇親会の直前

次に会えたのは帰る間際

特定の誰かに会うの大変でした

お会いできなかった人もいて残念(玉川さんとか)

懇親会のLT大会では、AWS芸人の清水さんの人類代表クラスのLTのあとでしたが、なんとか会場を沸かせることができたと思います

ただ、自分がLT大会の投票外だったのを知らず「投票してください~」て言ってて恥ずかしかったです

LT資料

動画


ひさびさのJAWSのイベント参加でしたが、ホントにコミュニティの成長を感じました

古参メンバーが中心てこともなく、ちゃんと課題を翌年の新しいメンバーに伝えていきノウハウを蓄積して、洗練され組織化されたコミュニティに成長してるんだなと

7年前の大阪の居酒屋での1枚

「ここにきている人たちは自分のパッションでここにいる」みたいなことジェフが言ってましたが、そんな人たちがこの写真を撮ってから7年で千数百人も集まるなんて、なんか感無量

数年ほどコミュニティから遠ざかってましたが、また恩返しができるように少しずつ関りを増やせたらなと思います

カテゴリー: AWS

Amazon RDS for PostgreSQL で PostGIS を使う方法

起動直後のRDS(PostgreSQL)では、空間データベース用の関数などが定義されてないので、そのままでは使えない

postgreSQLユーザーの権限不足で定義ファイルのpostgis.sqlやspatial_ref_sys.sqlとか実行できないし、どうしたものかと思っていたけど、以下を実行することで解決

create extension postgis;
create extension postgis_topology;

PostgreSQL 9.1からは、extensions使ってPostGISインストールできるんですね
いつも定義ファイルを自分で実行していたので知らなかった

select postgis_version();
2.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

ばっちり使えました

カテゴリー: AWS

EC2 + nginx + php-fpm

yumで何でもかんでも入れられて楽ちん

sudo yum install nginx
sudo yum install mysql-server
sudo yum install php php-fpm php-mbstring php-mysql

nginxの設定

sudo vi /etc/nginx/nginx.conf

        charset utf-8;
        root /var/www/html;
        index index.php;

        location ~ \.php$ {
            root /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

※元々のコメントアウトを使うと「file not found」の洗礼を受ける

php-fpmの設定

sudo vi /etc/php-fpm.d/www.conf

    user = nginx
    group = nginx

起動

sudo /etc/init.d/nginx start
sudo /etc/init.d/php-fpm start
カテゴリー: AWS

Zabbix-ServerをAWS環境に移設

2年前(AWS東京リージョン)が出来た時から今まで自社サーバとAWSクラウド環境のハイブリッド運用をしていたのだけど、自社サーバのハードウェアリプレース時期にもなってきたので全面的にAWSに移行しようと思っております。

第1弾として、自社サーバで動いていZabbixサーバの移設から手を付けた
移設先はリージョン別にした方が良いかなってことでシドニーリージョン
導入方法はこの辺を見て適当に

zabbix2.0をAmazonlinuxにインストールしたった。(rpm)

旧環境がzabbix1.8だったのでzabbixエージェントもzabbix2.0へバージョンアップ
1.8はソースから入れたけど2.0はサーバ作るときにできたRPMを使う
1台ずつ入れ替えるのはだるいのでスクリプト書いた


#!/bin/bash
cd /home/ec2-user
wget http://XXX.XXX.XXX.XXX/zabbix/rpm/zabbix-2.0.4-1.amzn1.x86_64.rpm
wget http://XXX.XXX.XXX.XXX/zabbix/rpm/zabbix-agent-2.0.4-1.amzn1.x86_64.rpm

sudo /sbin/service zabbix_agentd stop
sudo /sbin/chkconfig --del zabbix_agentd
sudo rm -f /usr/local/sbin/zabbix_agent*
sudo rm -f /usr/local/bin/zabbix_agent*
sudo rm -f /etc/init.d/zabbix_agentd
sudo rm -f /etc/zabbix/*

sudo yum -y localinstall zabbix-2.0.4-1.amzn1.x86_64.rpm zabbix-agent-2.0.4-1.amzn1.x86_64.rpm

sudo sed -i s/Server=127.0.0.1/Server=新しいZabbixServerのIP/ /etc/zabbix/zabbix_agentd.conf

sudo /sbin/chkconfig zabbix-agent on
sudo /sbin/service zabbix-agent start

以下、zabbix1.8→zabbix2.0でハマったこと

statusキーが使えなくなっていた

サーバの死活監視にstatusキーを使っていたんだけど、zabbix2.0のテンプレート作ろうとしてもstatusキーがない。。。

変わりにagent.pingを使えということらしい
トリガーは下記のように設定

{Template OS Linux:agent.ping.nodata(2m)}=1

外部チェック(externalscripts)の引数指定の変更

zabbix1.8では暗黙に第1引数にホスト名が渡っていたのだけどzabbix2.0では自分で指定しないといけない。
複数の指定も半角スペース区切りからカンマ区切りに変更されていた。

ホスト名の指定は{HOST.CONN}で行う

hogehoge.php[{HOST.CONN},param1,param2]

ローレベルディスカバリのテンプレート変更反映のタイミング

ローレベルディスカバリとは、zabbix2.0からの新機能でテンプレートに登録しておけば、マウントされてるディスクやネットワークインターフェイスを自動登録する仕組み

これを使ってEBSやNICのアイテムやトリガーをラクラク登録できるのだけど設定内容を変更しようとした時の動作が普通に登録した監視アイテムとは違うので注意

例えばディスクの残り容量アラートの設定を10%→20%に変更してみるとする。
通常のテンプレートだと各ホストの設定も即時反映されるのだけどローレベルディスカバリで登録されたアイテムは即時反映されない。

テンプレートで登録したディスカバリの更新間隔待つことで反映される(注:ディスカバリ内のアイテムの更新間隔ではない)

ディスカバリの更新間隔は、マウントされたディスクの検出タイミングにしか使ってないと思い込んでたせいで、トリガーのしきい値やグラフの項目追加すら即時反映されないのでしばらく悩んだ。

こんなところかな
zabbix2.0になって見た目もカッコよくなって満足しております。

カテゴリー: AWS