Sionの技術ブログ

SREとして日々の学習を書いて行きます。twitterは@sion_cojp

GoでSlackに定常アラートが出たら、スレッドで自動コメントする

Go

github.com Slackに定常アラートが出たら、スレッドで自動コメントするGoのプログラムです。 今はアラート撲滅に着手出来ないけど、それまで周りに分かりやすいようにコメントを自動でしたい!という時に便利に使えるなぁと思って作りました。 動作 例えばこ…

FOLIOに入社して1年でやったこと

やったことをまとめてみます。 terraformのコマンドラッパー(Makefile)作成 terraform周りの自動セットアップ terraformのバージョンが固定 terraform providerが自動更新 実行ログをs3に保管するようにしたりなどなど。 コンテナ本番導入 AWS ECS EC2, Fa…

CodeBuild + PackerでAMIを焼く

CodeBuild + Packerを使って、AmazonLinuxベースのimageを焼きます。 完成品こちらです github.com 構成図 CodeBuildの準備 Terraformでセットアップします。 https://github.com/sioncojp/codebuild-packer/tree/master/terraform/codebuild/packer を参考…

FargateでSSMのデータをコンテナ起動時に環境変数にセットする

はじめに dev.classmethod.jp こんな機能が提供されましたが、 (重要)Fargateは対応していない 本当かどうか実際に試したところ、やはり対応してませんでした。 なのでFargateの場合、SSMのデータを読み込む場合は下記2択が想定されます。 SSMのデータをd…

ECSのタスク切り替りを通知させる

本記事は、FOLIOアドベントカレンダーの13日目の記事になります。 ことの始め なるほど。 つまりALBにぶら下がってるコンテナが、現在のコンテナがなくなって、新しいコンテナだけになったときに通知があれば嬉しいってことですね。 棄却した案: cloudwatch…

プロゲーマーのマネージメントとチームワーク

本記事は、FOLIOアドベントカレンダーの11日目の記事になります。 はじめに 自己紹介 CS 1.6とは? 本題 メンバーを適したポジションに配置する 報告はできる限りシンプルかつ明確に 報告に感情は不要 怒らない あえて失敗させる 讃え合う ルールはシンプル…

FOLIOモバイルアプリのインフラ構成のお話

明日、弊社で SRE Lounge #6 - connpass というイベントがあるのですが、 残念ながら登壇する枠がないのでスライドだけ公開しました。 世間体ではGKEのお話が多い中、Fargateのお話です。 Fargateはクラスタの管理が不要な分、とても楽に運用出来て結構幸せ…

clairでローカルのDockerイメージの脆弱性スキャン

clairとは? github.com CoreOSが作ってる、コンテナの脆弱性スキャンツールです。 CVEデータをpostgresに入れて(定期更新される)、それを元にスキャンします。 ローカルイメージをスキャン github.com CoreOSが提供してた、analyze-local-imagesはdepreca…

ディレクトリ配下にある.tfファイル全てにterraform planをGoで並列実行する

FOLIO特有のロジックが入ってますが、参考になればと思います。 terraformのディレクトリ構成 FOLIOのterraformはこんなディレクトリ構成になってます。(一部抜粋) ── envs ├── mobile-prod ├── provider.tf ├── ecs ├── iam ├── route53 └── vpc ├── back…

terraform-provider-awsの開発からPRを出すまでの手順

github.com 些細ではありますが、出したPRがmergeされました。 開発方法よくわからないなぁ。と思う人が多いと思うので、私が実際に行ったことを書いて見ます。 開発方法 # go get。今回は本家で修正して試して、その差分をあとでfork先に適用する感じ。 # …

FOLIOに入社して3ヶ月経ちました

SREとして担当してたモバイルアプリもリリース出来て落ち着いたので書いてみようと思います FOLIO is 何? Fintech [https://folio-sec.com/:title] 入社してやったこと terraform操作周りのリファクタ バージョンの統一 terraformを打つまでの認証周りや、p…

tomlファイルをParameterStoreからdecodeするtomlssmを作った

Go

github.com GitHub - suzuken/yamlssm と同様にtomlでも出来るようにしました。 やってることは AWS System Managerで、Parameter Storeでを設定する(例えばxxxという名前でsecure stringで設定します) "ssm://xxxx" と書いてると、toml読み込み時にxxxの…

GKEでGoのhttpサーバを動かしてみた

Overview GKEを触ってみたかったので実際に触ってみた。 ref: クイックスタート | Kubernetes Engine のドキュメント | Google Cloud ソースはこちら github.com ただの"Hello World"を返すGoのコード。 kubernetes特有で、 /healthz がヘルスチェック用のpa…

Go - AWS SSM Parameter Storeのデータを復号化とmockテストの書き方

SSMとは? SSM ParameterStoreとは? 実際にやってみよう 1. ParameterStoreの登録 2. aws-cliで試してみる 3. Goで動かす 4. テストを書く SSMとは? インフラ運用を便利にするサービス SSM ParameterStoreとは? パスワードなど値を管理 SecureStringsは裏…

社内で技術力評価会というものをやった

技術力評価会ってなに? VoyageGroupで評価制度の一環。 半期に1回、「どんくらい技術的にドヤれることをしたの?」というの評価します。 おまえはどんなドヤ顔してきたの? SREとして、PHP+CentOS6+apacheで動いてたとあるシステムを、Go+CentOS7+nginxに移…

VOYAGE GROUPのfluctに入社しました

お前 is 誰 元プロゲーマーのインフラ屋(たまにAPI開発)です。 GetWild駆動開発の人 去年はGetWild Advent Calendar 2016 立てたり カフェでトイレに行ってるときに、Macが盗まれそうになるとGet Wildが流れるようにする インフラっぽい記事書いてたりしま…

プロセスとスレッドと違い

プロセス、スレッドの違い プロセス スレッド 特徴 プロセスはリソースを共有できない。ロックかけたりしないといけない。プロセス間通信も出来る(unixだとパイプ) メモリや、オープン中のファイルなどのリソースを共有することができる。競合(レースコン…

プロセスの実装と生成・終了ってどうなってるの?

プロセスってどう管理されてるの? プロセステーブルのエントリには何が書かれてるの? プロセスの生成の流れ プロセス終了の流れ プロセスってどう管理されてるの? プロセステーブルにプロセスが起動するたびにエントリが追加、削除されてる プロセステー…

プロセスって何?

はじめに そもそもOSは プロセスって何? プロセスの動き プロセスの切り替えってどうやってるの? プリエンプティブ方式と、ノンプリエンプティブ方式って何? プロセスの実行スケジュール管理はどうやってるの? プロセスとメモリの関係 演算って何? MMU…

インフラエンジニアの綺麗で優しい手順書の書き方

書きました。 手順書って書くの難しいし、面倒くさいですよね。 綺麗でわかりやすい手順を書いても、会社に評価してもらえなかったりとかも原因だと思ってます。 けどちゃんと書けば会社や皆さんのためになるので、是非ご参考下さい。 インフラエンジニア…

リブセンスに勤めて2年間を振り返って

前職(某DC:3年ちょっと : サーバエンジニア) 現職(リブセンス : 2年(7月入社) : インフラエンジニア) 1年目まで 1年目までを振り返って 2年目まで 2年目までを振り返って 今後の豊富 前職(某DC:3年ちょっと : サーバエンジニア) サーバとネットワ…

VolgaCTF 2015 : 100 - poemのwriteup

CTF

手探り ### ファイルを落として、調べてみる $ wget http://files.2015.volgactf.ru/poem/poem.pdf ### ファイル形式でだまされないように、ちゃんと確認。 $ file poem.pdf poem.pdf: PDF document, version 1.5 ちゃんとpdfでした。 中身を見てみる 行間が…

VolgaCTF 2015 : 75 - databaseのwriteup

CTF

手探り ### databaseに接続してみる $ nc database.2015.volgactf.ru 7777 >> help Unknown command or incorrect number of parameteres. >> pwd Unknown command or incorrect number of parameteres. ### ダウンロードしたヒントファイルを調べてみる $ f…