【AWS】2013/12/6(Fri)JAWS-UG鹿児島Vol04を開催致しました!
久しぶりにブログを書きます。
昨日は久しぶりにJAWS-UG鹿児島勉強会Vol.04を開催致しました。 今回ははじめて定員の20名を超えて当初27名の参加登録がありました。
参加者が飛躍的に増えたことはとても有り難く思います。 徐々にですが鹿児島でもAWSの認知されてきているのではないでしょうか。
都合が悪くなり不参加となった方も事前に連絡を頂いてとても助かりました。
今回の会場はコワーキングスペース「鹿児島中央駅そばのコワーキングスペース&自習室|TENON(テノン)」さんをお借りし開催致しました。 こんな感じでアットホームな感じで勉強会が行われました。
今回のテーマは「コスト」ということで、AWSの従量課金モデルについて疑問に思っていたり勘違いしている部分があるのではないかと思い、 皆に理解して頂きもっと多くのAWSファンを作りたいと思い講師の方々に熱く語って頂きました。
AWSを利用してコスト削減ができる理由 AWSエバンジェリスト堀内さん( @horiuchi )
re:Invent出展報告※コストの話もあるよ cloudpackエバンジェリスト吉田さん( @yoshidashingo )
2013/12/06 JAWS-UG 鹿児島 AWSがコスト削減だけじゃなくて あんな事やこんな事も出来過ぎて生きるのが辛い サーバーワークス小室さん ( @ayakomuro)
私とJAWS-UG AWSエバンジェリスト堀内さん( @horiuchi )
※AWS小島さんのスライドですが、伝えたいことは同じです。
ここが大変だよ、JAWS-UG JAWS-UG鹿児島 新沼 ( @twinuma)
小室さんにJAWS-UG鹿児島のツイートと、その周りを集めて頂きました。
誠にありがとうございました。
おまけ。懇親会で「皆さんお疲れ様でした〜」の図
2013/12/8は「【会場費無料】WordVolcano番外編 - From the Dark Side- ハンズオン会 | 集客ならイベントアテンド」を開催致します。 ハンズオン用のスライドも作成し、お菓子やジュースも準備しワクワクしております。
当日しようしたスライドは公開予定ですので、もしよければご覧下さい。
にいぬま
Kagoshima WebArchitect Meeetup Vol.1を開催しました
昨日、2013/8/23「Kagoshima WebArchitect Meetup Vol.1」を開催致しました。
なんと初回からきっちりと定員20名の参加登録があり、キャンセルもなくお忙しい中お集まり頂きました。ご参加して頂いた方々、改めてありがとうございました!
以下当日のレポートをまとめます。
店内がおしゃれで若干暗めなので写真をあまり撮ってません。
入店直後
さっそくトラブル発生!
えっ・・・VGAケーブルがない!?
お店に確認したところ、ケーブルはこれまでお客様自身で用意して頂いていたと伺いました。
「やばい・・・どうしよう・・・」と焦りましたが、オーナーの久保さんのご好意により近所で手配して頂きました。非常に感謝しております。本当にご迷惑お掛け致しました。
当たり前のことではありますが、事前にお店側と当日の流れについて打ち合わせが必要ですね。
受付
今回よりDoorkeeper内にKagoshima WebArchitect Meetupというコミュニティを作成し、イベントを作成致しました。
受付時にはQRコードをかざすだけで出欠管理できたことは管理する立場としてはとても便利で助かりました。ただ参加者の方にとったら「あれ?そんなのどこにあったかな〜」ってご面倒掛けたかもしれませんが。
こういうとこは皆さんからのフィードバックで見直していきますね。
開始
私の挨拶からAgendaの説明、Twitterのハッシュタグについて伝えたあと、まずは乾杯からスタート!!
乾杯直後から初めてお会いする方々も多かったみたいで、名刺交換されていました。
WordPressの話
WordBench鹿児島支部長の西村さんから不正アクセスについてのお話。
※写真がなくてごめんなさい。
質疑応答が結構続いて皆さん興味深かったようですね。
AWSの話
ここは私のターンです。
今回は「AWSに恋に落ちたら」というタイトルで、私がAWSに出会ったきっかけや惚れたポイント、みなさんがAWSに対して抱いているであろうイメージに対して私なりの答えを伝えていきました。
AWSカルタ
今回のイベントのためにAWSカルタというものをcloudpack吉田さんブログを参考に作成しました。
奥さんがこんな感じでイラストを書き加えてくれました。
まずはレギューレーションから、AWSカルタの説明や各サービスの説明をしました。
残り時間とカルタを広げるスペースの確保の都合上1組(4〜5名)しかできませんでした。
カルタに興じる面々。
はじめての試みでしたが、皆さん楽しんでいたようです。
ただもう少し全体のサービスについて説明する時間がないと、読み札の説明自体が分からない気がしました。
LT
ここは参加者の方が発表しました!株式会社ユニマルの今熊さんです。
自社で作成しているWebサービスの紹介と毎週金曜に開催しているビアバッシュの案内。
ちなみに、今熊さんはJAWS-UG鹿児島のメンバーです。
まとめ
初回から参加登録者がすべて集まって頂いたことは、イベント企画者としては大変嬉しいことでした。
参加ハードルを下げて気楽に参加できるようにして正解だったと感じています。特に参加しやすくして構えさせないってとこは西村さんと認識の共有しました。
毎回同じような形ではなく、コワーキングスペースでハンズオンやったり講師をご招待した勉強会も開催していきたいと思っています。
飲まずに参加者が今回のように純粋に知りたいことを素直に質問しいっしょに答えを導き出すような形にするのが、「Kagoshima WebArchitect Meetup」の目指すところです。
イベント中にTweetされたまとめはこちらです。
Kagoshima WebArchitect Meetup Vol.1まとめ
次回開催時も皆さんと楽しい週末を過ごしたいと思っていますので、是非ご参加下さい!
今回参加を控えた方は次回は是非よろしくお願いします。
AWSカルタver.2.1の縦印刷用テンプレ作りました。
いやー、今週も半澤直樹面白かったですね。最後の香川さんの髪型ウケましたね。
さて、今回2013/8/23に開催するイベントKagoshima WebArchitect Meetupに向けAWSカルタを作成中です 。しれっと告知してますけど、気にせず続けます。
カルタを作る際は、cloudpackエバンジェリスト吉田さんのブログのAWSカルタの作り方(v2.1版)を参考にしました。
出来上がったカルタはこちら。一部抜粋したものです。
以下に、自宅でプリントアウトするときに注意するポイントをメモ程度ですがまとめます。
自宅でプリントアウトするときのポイント
- 綺麗にラベルに印刷するためには、印刷時の画質をMAX設定に変更
- インクが結構減るので残量を要確認
- 上記のサイトからDLしたラベルは「横印刷」設定になっているので、プリンターが横印刷可能かを確認
横印刷できない場合
私の自宅のプリンターが横印刷できなかったのでDLしたラベルの設定とレイアウトを変更し、縦印刷できるように修正しました。 以下のリンクからDLできるようにしてあります。もし同じように縦印刷の場合はこちらをご利用下さい。
このような感じで、シールラベルにAWSアイコンが印刷されます。
所感
印刷していて、DyanamoDBとRDSをSimpleDBのアイコンの違いって分かりづらいなぁと思いました。文字消してアイコンのみっていうハイレベルなカルタも面白いですね
aws-cliを使ったAuto Scalingの薄い説明書
こんにちは。
近所の会場で開催されるHey!Say!JUMPのライブに行く女子の多さに驚いた、
ニイヌマ(twinuma)です。
さて、前回のエントリーでaws-cliのインストールと設定手順までについて書きました。
EC2 API ToolおよびPython版CLIインストール・設定手順まとめ
aws-cliが使えるようになったので、次はAutoScalingについて調べてみました。
ちなみに、"AutoScaling"とは、
定義する条件に応じて、Amazon EC2 の能力を、自動的に縮小・拡張することができます。Auto Scaling では、お客様が使用中の Amazon EC2 インスタンスの数を、需要が急上昇した時はシームレスに増やしてパフォーマンスを維持し、需要が弱まる時に自動的に減らすことにより、コストを最小化することができます。
簡単に言うと、自動でサーバを必要なときに必要なだけ増やして要らなくなったら減らすということです。
参考資料
こちら、オススメです!
以下のコマンドで使用可能な一覧は、こちらです。
aws autoscaling
上記のスライドを参考に、以下のコマンドをaws-cliで実行してみます(`・ω・´)ゞ
- 設定項目
- Launch Configuration
- Auto Scaling Group
- Scale Out/In Policy
- Scale Out/In Alarm
# Launch Configuration aws autoscaling create-launch-configuration --launch-configuration-name myLC --image-id ami-8538b384 --instance-type t1.micro --key-name awskey --security-groups ELB_EC2 # Auto Scaling Group aws autoscaling create-auto-scaling-group --auto-scaling-group-name demo-asg --launch-configuration-name myLC --availability-zones ap-northeast-1b --min-size 2 --max-size 4 --load-balancer-names hogeELB --health-check-grace-period 30 # Scale Out Policy aws autoscaling put-scaling-policy --policy-name demo-policy --auto-scaling-group-name demo-asg --scaling-adjustment 2 --adjustment-type ChangeInCapacity # Scale In Policy aws autoscaling put-scaling-policy --policy-name demo-scalin --auto-scaling-group-name demo-asg --scaling-adjustment -2 --adjustment-type ChangeInCapacity --cooldown 600 # Scale Out/In Alarm ここ分かりませんでしたm(_ _)m
上記にも記述した通り、Scale Out/In Alarmの設定コマンドはどれを使うか分かりませんでした。
AWSドキュメントにも記載がないのでご存知の方がいらっしゃいましたらコメント下さい。
追記:2013/06/23
c9katayamaさんから、
でしたね・・・お恥ずかしい。
気を取り直しして、Scale Out/In Alarmはこちらのコマンドを実行します。
# Scale Out Alarm aws cloudwatch put-metric-alarm --period 300 --alarm-name demo-scal-out-alerm --dimensions name=AutoScalingGroupName,value=demo-asg --namespace "AWS/EC2" --metric-name CPUUtilization --evaluation-periods 1 --statistic Average --threshold 70 --comparison-operator GreaterThanThreshold --alarm-actions arn:aws:autoscaling:ap-northeast-1:XXXXXXXXXXXX:scalingPolicy:9f1c0e48-2f85-44ba-bff3-f166fcd3a124:autoScalingGroupName/demo-asg:policyName/demo-policy # Scale In Alarm aws cloudwatch put-metric-alarm --period 300 --alarm-name demo-scal-in-alerm --dimensions name=AutoScalingGroupName,value=demo-asg --namespace "AWS/EC2" --metric-name CPUUtilization --evaluation-periods 1 --statistic Average --threshold 70 --comparison-operator GreaterThanThreshold --alarm-actions arn:aws:autoscaling:ap-northeast-1:XXXXXXXXXXXX:scalingPolicy:c3fbb90a-ea54-48da-aaac-8d21dfe6404e:autoScalingGroupName/demo-asg:policyName/demo-scalin
aws-cliはJSON形式なので、[name=String,value=String]という形式でパラメータを設定します。
以下のコマンドで使用可能な一覧は、こちらです。
aws cloudwatch
今回、作成した設定を削除する場合は以下のコマンドを実行します。
尚、削除する順序が大切なので注意しましょう。
aws autoscaling update-auto-scaling-group --auto-scaling-group-name demo-asg --min-size 0 --max-size 0 aws autoscaling delete-policy --policy-name demo-policy --auto-scaling-group-name demo-asg aws autoscaling delete-policy --policy-name demo-scalin --auto-scaling-group-name demo-asg aws cloudwatch delete-alarms --alarm-names demo-scal-out-alerm aws cloudwatch delete-alarms --alarm-names demo-scal-in-alerm aws autoscaling delete-auto-scaling-group --auto-scaling-group-name demo-asg aws autoscaling delete-launch-configuration --launch-configuration-name myLC
「やってみた」系の記事になってしまいましが、
_人人人人人人人人人人人人人人_
> 難しいのでペンディング <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
ってなってしまった方が、一度見てくれればいいかなと思ってます。
最後に、Hey!Say!JUMPのLIVE会場へ向かうバスはAutoScalingしないのでバス待ち行列が凄かったです。
EC2 API ToolおよびPython版CLIインストール・設定手順まとめ
こんにちは。
父の日には靴とパジャマをプレゼントし、端から見ると「夜逃げセットですか!?」って突っ込まれそうなニイヌマです。
AWS認定試験に向けて準備していたのですが、気分転換に手を動かしながら
技術ブログでも書いて頭の整理することが今回の記事の目的です。
今回のテーマは、
「各API ToolとPython版のCLIのインストールから環境設定、動作確認までこれを見ればOK」って事で書いていきます。
■前提条件
- AMI:Amazon Linux AMI 2013.03.1 64bit
- Instance-Type:m1.small
- Reagion:ap-northeast-1
■各種API Toolのダウンロード
以下のコマンドをそれぞれ実行します。
wget http://ec2-downloads.s3.amazonaws.com/AutoScaling-2011-01-01.zip wget http://ec2-downloads.s3.amazonaws.com/CloudWatch-2010-08-01.zip wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip wget http://ec2-downloads.s3.amazonaws.com/ElasticLoadBalancing.zip wget http://awsiammedia.s3.amazonaws.com/public/tools/cli/latest/IAMCli.zip wget http://s3.amazonaws.com/rds-downloads/RDSCli.zip wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
■環境変数へ追加&反映
echo 'export JAVA_HOME=/etc/alternatives/jre' >> ~/.bashrc echo 'export EC2_HOME=/home/ec2-user/tools/ec2api' >> ~/.bashrc echo 'export AWS_AUTO_SCALING_HOME=/home/ec2-user/tools/autoscaling' >> ~/.bashrc echo 'export AWS_CLOUDWATCH_HOME=/home/ec2-user/tools/cloudwatch' >> ~/.bashrc echo 'export AWS_ELB_HOME=/home/ec2-user/tools/elb' >> ~/.bashrc echo 'export AWS_IAM_HOME=/home/ec2-user/tools/iam' >> ~/.bashrc echo 'export AWS_RDS_HOME=/home/ec2-user/tools/rds' >> ~/.bashrc echo 'export AWS_S3_HOME=/home/ec2-user/tools/s3' >> ~/.bashrc echo 'export AWS_ACCESS_KEY=Input Your Access Key' >> ~/.bashrc echo 'export AWS_SECRET_KEY=Input Your Sercret Key' >> ~/.bashrc echo 'export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com' >> ~/.bashrc echo 'export PATH=$PATH:$JAVA_HOME/bin:$EC2_HOME/bin/:$AWS_AUTO_SCALING_HOME/bin/:$AWS_CLOUDWATCH_HOME/bin/:$AWS_ELB_HOME/bin/:$AWS_IAM_HOME/bin/:$AWS_RDS_HOME/bin/:$AWS_S3_HOME/bin' >> ~/.bashrc
source ~/.bashrc
■Python版CLIインストール&環境変数へ追加&動作確認
sudo easy_install pip sudo pip install awscli sudo pip install awscli --upgrade echo 'export AWS_CONFIG_FILE=/home/ec2-user/config_file' >> ~/.bashrc echo 'complete -C aws_completer aws' >> ~/.bash_profile aws help
aws ec2 describe-instances
これで各API ToolとCLIが使えるようになりました。
ね、簡単ですよね。これをまとめるのに苦労したんですが・・・
では、それぞれの起動&停止コマンドを比較してみます。
# START INSTANCE aws ec2 start-instances --instance-ids i-8131ff83 ec2-start-instances i-8131ff83 # STOP INSTANCE aws ec2 stop-instances --instance-ids i-8131ff83 ec2-stop-instances i-8131ff83
実行コマンドは、ちょっとCLIのほうがシンプルですね。
詳しいコマンドについてはこちらで確認して下さい。
まとめ
今回は、Amazon Linuxを使っているのでこのような設定のまとめになりましたが他のOSの場合だと他の手順が必要になってきますが、特に制約がなければAmazon Linuxを使用することをオススメします。
調べていると以前はEC2 API Toolsの認証にX.509証明書を使っていたそうですが、現在はACCESS KEYとSERCRET KEYのみで利用できるので簡単になりました。
余談ですが、ソースコードの埋め込みにGistの貼り付けが可能みたいです。
このような感じになるそうです。
参考リンクはこちらです。
Androidの会 鹿児島支部勉強会に参加してきました。
どうも、引越し先のネット工事を依頼したが直前で電気開始通知連絡を忘れていたことに気がついたニイヌマ(@twinuma)です。
前回の記事からだいぶ間が空いてしまいましたが、久しぶりにAndroidの会勉強会へ参加してきたのでまとめてみます。
会場及び勉強会の概要説明
会場は、ソフトプラザかごしま2Fで行いました。
今回のAgendaは、
- Corona&Kwikの紹介(日本Coronaの会 会長 山本直也さん)
- Talkspace Android版について(株式会社freep 高橋さん)
Corona&Kwikの紹介
Andoridの会なのに「なぜ、Coronaの話をするか」というと『CoronaSDKでコーディングすると、iOSとAndroid両方で動作する』という特徴を持っているからでした。
Coronaについての説明にはじまり、CoronaSDKで作成された国内外のアプリについてデモを交えながら説明して頂きました。
私が気になったアプリは、「Hideout」です。これは海外向けのアプリですが、教育アプリで子供が正しい発音を学びながら見て触って楽しいアプリです。
続いて、Kwikについての説明にはじまりデモを行なって頂きました。
CoronaSDKで作成されたPhotoshopプラグインであるKwik。簡単にアニメーションを作成することができる便利なツールでした。電子書籍や企業のパンフレットをKwikを使って、アニメーションを用いると興味を持ってくれそうだと思いました。
ちなみに、山本さんからこれ頂きました。金髪の女性はどこかで見た気がする・・・
Talkspace Android版について
「株式会社freep」は、鹿児島大学の学生ベンチャー企業です。
プレイクスルーキャンプ 2012 Summerというアプリコンテストで発表した「Talkspace」が3位を受賞し、IMJから出資を受け設立をしました。現在6名のメンバーに加え、アドバイザーとして鹿児島大学の教授も参加しています。
こちらにコンテストの記事がありました。
上記の記事にもある通り、freepの立ち上げメンバーは工学系ではなくプログラミング経験もなかったので、ひとつの言語で2つのプラットフォーム上で動作するCoronaを採用したそうです。
Talkspaceについては、「音声でのコミュニケーション」に特化しており現在iOS版がリリースされまもなくAndoroid版もリリースされます。また6月以降にはWeb版も予定しているそうです。
高橋さんによる、freepやTalkspaceについての説明に始まりこれまでの開発の中での苦労話などを聞くことができました。中でも一番盛り上がったのは、「トークスペース」というそれぞれのカテゴリがあってその中でコミュニケーションを楽しむのですが、デモ画面の中で『おすすめのAV女優教えて!!』っていうとこで皆歓喜。
アドバイザーである鹿児島大学 小田教授からは、Talkspaceのインフラ周りについての説明がありました。
やはり仕様上、大量の音声ファイルを保存かつ音声合成やエフェクトをするところが一番のネックになっているそう。Talkspaceでは大量の音声ファイルを扱うためOpenStak Swiftを採用し、ファイルについてはGlusterFSを使用しているそうです。
現在ではすべてをクラウド上で動作させているわけではないですが、クラウドとオンプレミスを上手く組み合わせる事で安定稼働をさせているということでした。現在はさくらのVPSを利用しているそうです。JAWS-UG鹿児島支部長としては、そこをAWSで!!!って言いたくなりました。
インフラ大好きな私としては、もっとここらへんのお話を聞きたいし学びたいと思いました。
まとめ
久しぶりに主催者以外の勉強会へ参加してみましたが、色んな方との出会いや知識の共有をすることができ懇親会も和気あいあい(途中ブログでは書けないような危険な発言が飛び交いましたが)楽しい時間を過ごすことができました。
主催者の野崎さん、今回の講師である山本さん、Freepの高橋さん、鹿児島大学 小田教授、誠にありがとうございました。次はAWS勉強会のターンかな!?
チューニンガソン#05@鹿児島サテライトに参加しました。
2013/01/19にコワーキングスペース「Tenon」にて開催された、チューニンガソン#05@鹿児島サテライトに参加してきました。本来は運営の立場でしたが、参加者おらず私が参加しました。ちょっと寂しい(´Д⊂グスン
そもそもチューニンガソンってナンダ?
指定の環境を使い、OSやサーバ周りのチューニングでパフォーマンスを競うイベントです。サーバはAWS(EC2)でOSはAmazon Linux AMIです。ここが一番のポイント!「イベント当日までテーマが分からない!」自分の得意な分野かもしれないし、未経験の分野かもしれない。持ち物は、『PC、充電器、参加費、諦めない気持ち』
本イベントのメイン会場は東京ですが、東京に行かなくても参加できるように地方サテライトとして、北から札幌、名古屋、福岡、鹿児島、沖縄で同時開催しています。メイン会場の東京とはSkypeでつないでやりとりしていました。このように映っていたそうです。
今回のテーマ
11:45に参加者全員に今回のテーマが発表されました。
================================================
================================================
チューニング条件や計測方法についての説明がありました。
計測班は、計測専用サーバから各サーバの3306/tcpに規定のユーザでアクセスして計測・集計します。
バトル開始から終了
12時から17時までぶっ通しでOSとMySQLのチューニングスタート!
私の行ったチューニングは、
- 不要な(と思われる)INDEXの削除
- 必要なINDEXの作成
- メモリ割り当て最適化
この3つに集中しました。
計測用のPythonスクリプトを展開し、各クエリを確認しながらINDEXの作成を進めました。今回のポイントだったのは、運営側から『集計用のクエリは修正してはいけない。ただし、INDEXの追加や削除はOK』の知らせでしたね。
対戦中はTwitterのハッシュタグ『#tuningathon』でつぶやいていました。開始早々に燃料(ビール)を投入したり、Red Bullやドーナツの差し入れなど・・・ぼっちには辛かった(´Д⊂グスン
途中、買い物途中の奥さんからのスタバの差し入れがあり、とても嬉しかった。
結果は・・・よい結果とは言えませんでした。
バトル終了・・・気になる結果は!?
TOP10からの発表でした。実は運営側は今回は11秒台が優勝かなと想定していました。ところが・・・10位で「9.813」!!!驚きました。
今回の1位は、「6.225秒」@TeruiMasashi さんでした!!すごいです・・・
10位から1位の方々のアプローチを聞きましたが、だいたい皆さん揃って「メモリ、my.confの最適化、不要INDEXの削除・最適化」でした。1位の方の「主キーを変更した」というチューニングには驚きました。
今回印象的だったのは、7~5,3位の方が沖縄、4,2位が名古屋、1位が札幌と地方勢が活躍していました。こういうのは地方に住むエンジニアには嬉しかったりします。
まとめ
主催であるゼロスタートコミュニケーションズの山崎様(@zaki)からの挨拶で、「本イベントはインフラエンジニアを対象にしており、クエリを変えずにインフラエンジニアが出来る事にフォーカスした。だから、INDEXの最適化やOS・メモリチューニングが大事である」とおっしゃっていました。さらに、環境を提供して頂いたAWSのエヴァンジェリスト堀内様(@horiuchi)からの名言。
『お金で買えないチューニングの力がある!!』 素敵。
とても勉強になり楽しくて充実した一日でした。次回も鹿児島サテライトで参加したいです。次回はもっと参加者が集まればもっと楽しいだろうなぁ。