本日も乙

ただの自己満足な備忘録。

今年Go言語を学んで作ったもの

(挨拶)最近は雑多タスクばかりでSAN値が減ってしまった、私です。

本記事は Gopher道場 Advent Calendar 2018 の6日目の記事です。

今までもGo言語には触れていましたが、今年は Gopher道場 でさらに理解を深めることができました。

blog.jicoman.info

仕事でアプリケーション開発をしているわけではないため、Go言語を学んだからといってプロダクションに投入されるわけではないのですが、インフラ担当者として日頃の業務を効率化するためのツールをいくつか作りました。
以前にもブログで紹介しているかもしれませんが、本記事はツール郡を改めて紹介したいと思います。

timecamp_summary

Timecampの時間をサマリーするツールです。業務の工数を提出する際に重宝します。

github.com

詳細は以下の記事をご参照ください。 blog.jicoman.info

manual_gcp_autoscaler

GCP マネージドインスタンスグループのインスタンスサイズを簡単に変更するコマンドラインツールです。
GCPをつかいはじめて、GCEインスタンスの数を時間指定で変更したいときにつかいます。いずれはCloud Schedulerと連携できるようにします。

github.com

詳細は以下の記事をご参照ください。 blog.jicoman.info

akm

AWSアクセスキーの管理やプロファイルの切り替えを簡単にできるコマンドツールです。
複数のAWSプロファイルがある際に、TerraformやAWSに連携するツールを実行するときにプロファイル指定をしなくても済みます。
紹介した3つのツールの中では、最も私が重宝しているものです。いずれはAssumeRoleやMFAにも対応します。

github.com

詳細は以下の記事をご参照ください。 blog.jicoman.info

その他

業務に寄せた実装になっているため、GitHubに公開できないのですが、以下のようなツールも作りました。

  • テンプレートとサーバ固有の設定ファイルをマージして、Packerの設定ファイルを生成する
  • SecurityGroupのIPアドレスを追加、削除、残り登録可能なIPアドレス数 *1 の表示ができる
  • AWSコスト計算(Billing Reportの取得、AWSアカウント、サービス、アロケーションタグ毎に算出し、Googleスプレッドシートに出力)
  • Blue-Green Deployment (2つのAutoScaling Groupを切り替える)

まとめ

ただの紹介記事になってしまい申し訳ないですが、今後も多くのツールを生み出したり改善をしていっていきたいと思います。

*1:セキュリティグループ毎に50ルールが上限