takachan's blog

地方のエンジニアが、まずやってみる(Bias For Action)!!をモットーに気持ちを綴るブログです。

2014年の目標を書いてみる。

f:id:twinuma:20131231095929j:plain:w600
あけましておめでとうございます。

年末年始は地元岩手に帰省してのんびりと過ごしてました。
写真は31日に近所のお宅で夫婦で餅つきをしている一コマです。

年賀状も数多く書いたわけでも家族・親戚以外には会っていないので近況も含めつつ本年の目標をブログに書きます。

仕事編

2012年3月から携わっているプロジェクトに引き続き貢献していきたいと思います。
また、チームの後輩の育成も今年は力を入れて取り組んでいきたいと思います。

育成していて気付くことがたくさんあり、技術や言葉での伝え方含めて改めて自分の振り返りが出来るなぁと感じます。

ITの地殻変動はどこで起きているのか~アーキテクチャ設計技術にクラウドが必須になった時代
この記事のように、クラウドがここまで浸透している中で変化に柔軟に対応出来るためにはソフトウェア開発だけでは足りないと思います。
実業務で経験が出来なければ何かで補う努力をどれだけ出来るかが大切だと思います。

家庭編

今年も円満でお互い健康管理には気をつけて過ごしたいと思います。
県内の観光地や温泉に休日に行ったり、好きなアーティストのライブにも参加したいと思います。

コミュニティ編

昨年はJAWS-UG鹿児島勉強会は2回だったので、最低3回は開催します!
加えて「AWSもくもく勉強会」は2週間に1度。
WordBench鹿児島とは今年もがっちりタッグを組んでクロスコミュニティで取り組んでいきたいと思っています。

勉学編

AWS SDK(Java,JavaScirpt等)を使用したコードを書いてGitHubで公開していきたいと思います。内容はさておきコーディングしてGitHubで公開する習慣を身につけたいですね。

また、今年は以下の3つの資格を取得を目標にします。

  • AWS認定ソリューションアーキテクト アソシエイトレベル
  • LPICレベル1
  • (日本語版提供されたら)AWS認定システムオペレーションアドミニストレータ


上記資格を取得したい背景には、ソフトウェア開発だけでは現在のIT変革へ柔軟に対応することが難しいと自分では感じているのと今後の可能性を広げる意味でチャレンジしたいためです。

最後に

初めて訪れた遠野八幡宮で引いたおみくじ。
『大吉』でした。いい年になるといいなぁ。

f:id:twinuma:20140105230220j:plain:w200:h300

今年もどうぞよろしくお願い申し上げます。

キミシダイ列車

キミシダイ列車

2013/12/8(Sun)WordVolcano番外編 - From the Dark Side- ハンズオン会を開催致しました。

本日2回目の投稿です。 今日は先日11/23に開催された「WordVolcano番外編 - From the Dark Side(黒い画面特集) : ATND」のハンズオン会を開催致しました。

私は鹿児島市内から車で1時間程かけて移動し、参加者のおばあさんの自宅を開放して頂きハンズオン会を行いました。 周りはとても長閑な場所です。

いやー、実家を思い出すなぁ。

こちらがハンズオン会場です。まさにネットワークさえあれば場所なんて関係ない!

こんな感じでハンズオンやります!場所は関係ない、これぞIT。

参加者が飲み物やお菓子を持ち寄って和気あいあいとした中で始まりました。 LTをしている途中にネコが横切る、なんて素敵な環境なんだ。ネコワーキングスペースですな。

お前のLTは、つまらん。

普段聞けない疑問もお互い教えって皆で解決していきます。 こうやって皆で解決!

すごいポジショニングでタイプする、WordBench鹿児島支部長の西村さん。 f:id:twinuma:20131209011012j:plain

今回使用したスライドは公開しているので、分からなかった方や当日参加出来なかった方はご確認下さい。

時間が足りなかった部分も若干、あったりMacやWinによって出来る出来ないがありましてご迷惑おかけ致しました。 またじっくり時間をかけて行う場合に利用させて頂きたいなぁ。

にいぬま

【AWS】2013/12/6(Fri)JAWS-UG鹿児島Vol04を開催致しました!

久しぶりにブログを書きます。

昨日は久しぶりにJAWS-UG鹿児島勉強会Vol.04を開催致しました。 今回ははじめて定員の20名を超えて当初27名の参加登録がありました。

参加者が飛躍的に増えたことはとても有り難く思います。 徐々にですが鹿児島でもAWSの認知されてきているのではないでしょうか。

都合が悪くなり不参加となった方も事前に連絡を頂いてとても助かりました。

今回の会場はコワーキングスペース鹿児島中央駅そばのコワーキングスペース&自習室|TENON(テノン)」さんをお借りし開催致しました。 こんな感じでアットホームな感じで勉強会が行われました。

f:id:twinuma:20131208095850j:plain

今回のテーマは「コスト」ということで、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鹿児島のツイートと、その周りを集めて頂きました。

誠にありがとうございました。

JAWS-UG鹿児島 - Togetterまとめ

おまけ。懇親会で「皆さんお疲れ様でした〜」の図

f:id:twinuma:20131208100025j:plain

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版)を参考にしました。

出来上がったカルタはこちら。一部抜粋したものです。

f:id:twinuma:20130811182339j:plain

以下に、自宅でプリントアウトするときに注意するポイントをメモ程度ですがまとめます。

自宅でプリントアウトするときのポイント

  • 綺麗にラベルに印刷するためには、印刷時の画質をMAX設定に変更
  • インクが結構減るので残量を要確認
  • 上記のサイトからDLしたラベルは「横印刷」設定になっているので、プリンターが横印刷可能かを確認

横印刷できない場合

私の自宅のプリンターが横印刷できなかったのでDLしたラベルの設定とレイアウトを変更し、縦印刷できるように修正しました。 以下のリンクからDLできるようにしてあります。もし同じように縦印刷の場合はこちらをご利用下さい。

このような感じで、シールラベルにAWSアイコンが印刷されます。

f:id:twinuma:20130811182521j:plain

所感

印刷していて、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


f:id:twinuma:20130623203418p:plain


今回、作成した設定を削除する場合は以下のコマンドを実行します。
尚、削除する順序が大切なので注意しましょう。

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インストール・設定手順まとめ

f:id:twinuma:20130616161336j:plain

こんにちは。

父の日には靴とパジャマをプレゼントし、端から見ると「夜逃げセットですか!?」って突っ込まれそうなニイヌマです。

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の貼り付けが可能みたいです。

このような感じになるそうです。

参考リンクはこちらです。