aws sdk for go を使って作ってみた話
TRANSCRIPT
![Page 1: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/1.jpg)
AWS SDK for Go
を使って作ってみた話
2015年9月8日
JAWS−UG千葉支部 Vol.5 懇親会JAWS−UG中央線 内田 学
27+6P
![Page 2: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/2.jpg)
2
‣ AWS SDK for Goとは?
‣ 使って作ってみた! ‣ まとめ ‣ 告知
アジェンダ
![Page 4: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/4.jpg)
4
➡AWS SDK for Goとは?
‣ 使って作ってみた! ‣ まとめ ‣ 告知
アジェンダ
![Page 5: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/5.jpg)
5
‣ golang 用のAWS SDK
‣ 2015/09/08 現在 Developer Preview
‣ GitHubを確認するとかなりの頻度で更新
が行われているのがわかる
‣ リリースされているバージョン毎にリリー
スノートが用意されている
AWS SDK for Goとは?
![Page 6: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/6.jpg)
6
‣ golangの特徴を使ってAWSを操作可能
‣ クロスコンパイルによるマルチ環境での動
作が可能
‣ 実行環境の構築/設定が不要
‣ 非同期処理が比較的簡単に実現可能
‣ 比較的省メモリで動作し実行速度も速い
AWS SDK for Goとは?
![Page 7: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/7.jpg)
7
✓AWS SDK for Goとは?
➡使って作ってみた! ‣ まとめ ‣ 告知
アジェンダ
![Page 8: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/8.jpg)
8
‣ 文字通りにAWS SDK for Goを使ってCLIツー
ルを作ってみた
‣ rds-try という名称で地味に公開中
‣ 詳細な内容については README.md と Blog
にまとめて記載済み
‣ なので今回は簡単に説明していく
使って作ってみた!
![Page 9: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/9.jpg)
9
‣ 制限事項として
- Amazon RDS for MySQL のみに対応
- 動作しているRDSインスタンスが必要
- API呼び出しでエラーの場合再呼び出し無し
- 実行状態を通知する機能は無し
- Tagの内容でツールでの作成なのかを判断
- エラーで終了した場合その状態のまま
使って作ってみた!
![Page 10: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/10.jpg)
10
‣ なぜ作ったのか?
- 普段はあまり負荷がないためマイクロインスタンスで十分
- DBには数十万件のレコードがある
- レコード数がそこそこあるので集計やバッチ処理に時間
がかかる時がある
- 処理中にリソースを使い果たしてしまい監視が反応する
時がある
- 処理する時だけインスタンスタイプを変更できたら便利
使って作ってみた!
![Page 11: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/11.jpg)
11
‣ なぜ作ったのか?
- スナップショットから復元して処理すればいいのでは?
- 復元後のRDSはセキュリティグループなどがデフォルト
のため、そのままではアクセス出来ない
- 復元と設定変更を行い集計処理まで自動で出来たら楽に
なるのでは?
- golangを採用したのは単純に興味津々だったから
- AWS CLIや定番のRubyでも当然同じことは可能
使って作ってみた!
![Page 12: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/12.jpg)
12
‣ 出来ることは?
- スナップショットからのインスタンス作成
• 新規スナップショットの作成
- 作成したインスタンスの一覧表示
• 作成したスナップショットの一覧表示
- 作成したインスタンスの削除
• 作成したスナップショットの削除
- クエリー実行時間計測
- クエリー結果ファイル出力
使って作ってみた!
![Page 13: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/13.jpg)
13
‣ 使ってみるには?
- リリースページ からファイルをダウンロード
- 実行環境に対応したものを利用する
- コンフィグファイルを作成する
- クエリーファイルを作成する
- ファイルが出力されるので権限の確認
- 後はコマンドを実行するだけ!
使って作ってみた!
![Page 14: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/14.jpg)
14
✓AWS SDK for Goとは?
✓使って作ってみた! ➡まとめ ‣ 告知
アジェンダ
![Page 15: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/15.jpg)
15
‣ AWS SDK for Go&golang楽しいです
‣ たとえ自分用だとしてもプロダクトを作って
AWS SDKを利用するのはおすすめ
‣ プロダクトがある事で定期的にAWS SDKの
ことを気にする必要がある
まとめ
![Page 16: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/16.jpg)
16
‣ AWS SDKについてもpublic初期から継続的に見て
いるので愛着が半端ない
‣ 利用しているAWS SDKが小変更されただけでも盛
り上がれる!
‣ AWS SDKも初期はAWS APIに近い基本的な関数し
かないため構築手順は多くなるが、それに比例して
AWS API&SDKへの理解度と愛着度が増す
まとめ
![Page 17: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/17.jpg)
17
‣ 最終的には利用しているAWS SDKにコントリ
ビュートしてカイゼンに協力していけるようになる
のが理想形
‣ 皆さんもAWS SDKを使ってプロダクトやサービス
を作ってみてはどうでしょう?
‣ 自分の好きな言語+AWSは最強ではないかと思い
ました!!
まとめ
![Page 18: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/18.jpg)
18
✓AWS SDK for Goとは?
✓使って作ってみた! ✓まとめ ➡告知
アジェンダ
![Page 19: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/19.jpg)
19告知
この中に9/27(日)午前10時30分「高尾山ビアマウント」に集合出来る人はいらっしゃいますか?
![Page 20: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/20.jpg)
20
‣ 遅くなりましたが今年も開催します
‣ JAWS−UG in 高尾山!!
‣ 今年は中央線&京王線の合同開催です
‣ 高尾山でJAWS−UGとか意味わかりません
が?という人には去年の様子を少し紹介!
‣ 詳細についてはBlogをご覧ください
告知
![Page 23: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/23.jpg)
23
https://jaws-ug-chuoline.doorkeeper.jp/events/30570
https://jawsug-keioline.doorkeeper.jp/events/30653
「JAWS−UG 中央線」or 「JAWS−UG 京王線」で検索!
告知
![Page 24: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/24.jpg)
24告知
AWS re:Invent 2015 で集合する前に9/27(日)午前10時30分 「高尾山ビアマウント」に集合でお願いします!
![Page 25: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/25.jpg)
25
https://ekiworld.net/personal/service/index.html http://roote.ekispert.net/ 「駅すぱあと」or「Roote」で検索!
お帰りの際は
![Page 26: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/26.jpg)
26
https://aws.amazon.com/jp/solutions/case-studies/val/ 「AWS 導入事例 駅すぱあと」で検索!
お帰りの際は
![Page 28: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/28.jpg)
28
‣ JAWS-UG 中央線
- http://jaws-ug.jp/bc/chuoline/
‣ JAWS-UG 京王線
- https://jawsug-keioline.doorkeeper.jp/
‣ AWS SDK for Go
- https://aws.amazon.com/jp/sdk-for-go/
Appendix
![Page 29: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/29.jpg)
29
‣ aws/aws-sdk-go
- https://github.com/aws/aws-sdk-go
‣ Release: AWS SDK for Go v0.9.5
- http://aws.amazon.com/releasenotes/
6995518966379854
‣ uchimanajet7 - Pixelhub.me
- http://pixelhub.me/pixelhub1/index.php?
user=uchimanajet7
Appendix
![Page 30: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/30.jpg)
30
‣ uchimanajet7/rds-try
- https://github.com/uchimanajet7/rds-try
‣ rds-try/README.md
- https://github.com/uchimanajet7/rds-try/blob/master/
README.md
‣ aws-go-sdk を使ってRDSをちょっとだけ操作できる「rds-
try」というツールを作ってみた
- http://uchimanajet7.hatenablog.com/entry/
2015/03/17/211139
Appendix
![Page 31: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/31.jpg)
31
‣ Releases · uchimanajet7/rds-try
- https://github.com/uchimanajet7/rds-try/releases
‣ 「JAWS-UG中央線第3回勉強会 in 高尾山 #jawsug」
(2014年08月02日)の開催メモ
- http://uchimanajet7.hatenablog.com/entry/
2014/08/04/130356
‣ 高尾山ビアマウント
- http://www.takaotozan.co.jp/beermnt/
Appendix
![Page 32: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/32.jpg)
32
‣ Jaws-ug中央線 - 全セッション終了後の記念写真です。
- https://www.facebook.com/chuoline.jawsug/posts/
832797526730914
‣ JAWS-UG中央線&京王線合同勉強会 in 高尾山2015
- https://jaws-ug-chuoline.doorkeeper.jp/events/30570
- https://jawsug-keioline.doorkeeper.jp/events/30653
‣ サービス・製品紹介 - 個人ユーザー向けサービス
- https://ekiworld.net/personal/service/index.html
Appendix
![Page 33: AWS SDK for Go を使って作ってみた話](https://reader034.vdocuments.site/reader034/viewer/2022042513/58718d6b1a28ab2c198b6bc5/html5/thumbnails/33.jpg)
33
‣ 駅すぱあとの『Roote』
- http://roote.ekispert.net/
‣ AWS 導入事例:株式会社ヴァル研究所
- https://aws.amazon.com/jp/solutions/
case-studies/val/
‣ まちなみくん
- https://www.facebook.com/matinamikun
Appendix