2018-05-12

Terraform の state mv を使ってべた書きしたリソースをモジュールに移す tips

📂 Terraform におけるファイル分割

codenize ツールとしてポピュラーな Terraform をミニマルに使いはじめる場合、最初から細かくファイルを分割するのではなく、たとえば AWS のサービスごとにファイルを分け、1 ファイルに複数のリソースをまとめて書くことがあります。

その後、リソースが増えてきてファイルが大きくなってきたときにモジュール化するなどして、はじめてファイルを分割しようとなります。

その場合、素朴にモジュールに切り出しても、Terraform の状態を保持する tfstate の整合性がとれなくなり、意図しない差分が出て困ることになります。

2018-05-04

インターネットルーティング入門 第 3 版を読んだ

この本です。

インターネットルーティング入門 第3版 (ネットワーキング入門)
友近 剛史 池尻 雄一 白崎 泰弘
翔泳社
売り上げランキング: 146,269

💡 読もうと思ったきっかけ

ふだんウェブサービスのインフラを触ることが多いのですが、もう少し下のレイヤ、つまり L2, L3 あたりの知識がふんわりとしていて、もっとキッチリと「わかり」たいと思ったのがきっかけです。

2018-02-18

fixup! なコミットを含む pull request で merge ボタンを押せなくするブラウザ拡張を作った

GitHub および GitHub Enterprise (以下 GHE と表記) で fixup! なコミットを含む pull request で merge ボタンを押せなくするブラウザ拡張 autosquash-please を作りました。Firefox と Chrome で動きます。具体的な動作イメージは以下のスクリーンショットを見てください。

autosquash-please

このように、コミットの一覧に !fixup foobar のようなコミットが含まれていると、マージボタンがかくれるだけの拡張です。

どのような場合に役に立つの?

2018-02-11

HAProxy 1.6 と 1.7 ではヘルスチェックを設定しないと名前解決が走らない

先日、会社の技術ブログで AWS Lambda を中心としたサーバーレスアーキテクチャーの記事を書いたのですが、思いのほか好評でびっくりしている @mozamimy です。

HAProxy でハマりがちなポイント

2018-01-14

SRE book から学んだことと、献身と愛情、2018 年の行動指針について

📕 SRE book を読んだ

SRE という肩書で仕事をしはじめてそろそろ 2 年たとうかというところで、いつか読もう読もうと思って読んでいなかった Site Reliability Engineering、いわゆる SRE book の日本語訳版を年末年始にかけて読みました。

SRE という肩書で業務に取り組んでいる人はもちろん、そうでないインフラエンジニアやサービス開発に取り組んでいるエンジニアの皆さんにも、ぜひオススメしたい一冊です。わたしは最初から最後まで通読しましたが、章ごとに扱っているテーマは分かれているため、興味のある章を拾い読みするのもよいでしょう。一部他の章の知識が必要なところもありますが、そのような章へのリファレンスがキチンとついているので良心的なつくりになっています。

2017-11-30

AWS Certified Solutions Architect (Associate) を受験して合格しました

こんにちは。@mozamimy です。先日機運が高まって AWS Certified Solutions Architect (Associate) を受験する気持ちになり、受験したら合格したのでメモを残しておきます。

ちなみにわたしのスペックは以下のような感じです。

  • AWS 歴: 業務および個人で 1 年半程度
  • 好きなサービス
    • ECS
    • ELB
    • Lambda

❓ なぜ突然 AWS の資格を受験する気持ちになったのか

2017-11-15

「言語実装パターン」の LL(1) 再帰的下向き構文解析器を Rust で実装してみた

この記事は、「言語実装パターン」の LL(1) 再帰的下向き字句解析器を Rust で実装してみた の続きです。言語処理系の実装のセオリーと Rust を学ぶために、「言語実装パターン」で紹介されている各パターンを Rust で実装する活動の 2 回目です。

O'Reilly Japan - 言語実装パターン 言語実装パターン表紙

LL(1) 再帰的下向き構文解析器の実装

ここで作るのは、以下のような文法を持つ入力を受理するパーサです。

2017-11-12

「言語実装パターン」の LL(1) 再帰的下向き字句解析器を Rust で実装してみた

(2017-11-13 ちょっとコードに変更を加えたので加筆修正しました)

ごきげんよう。深夜のおかしな時間に起きてしまってついついケータイの公式アプリで Twitter を見てしまうとき、流速が遅いのについついリロードしてしまって、こんな感じになっちゃいますよね。もざみみです。

2017-11-08

AWS EC2 の新世代インスタンス c5 のマイクロベンチマーキング

2017-11-08 に、AWS の EC2 に新たなインスタンスファミリーである c5 シリーズが登場しました。これまでのコンピューティング最適化インスタンス c4 の後継となるものです。まだ ap-northeast-1 では利用できませんが、us-east-1 などのリージョンで利用することができます。

詳しい情報は以下の AWS の公式ページにまとまっています。

いろいろ新しくなった点はあるのですが、わたしが気になったのは以下のような点です。

2017-11-05

Redis の無停止マイグレーションと ElastiCache そして Redis Sentinel

やんごとなき事情により、CentOS 6 が動く古いサーバをつぶしていくというようなことを普段やっていて、Cent OS 6 上で動く Redis をどのように移行しようか、ということを最近考える機会があったので、このエントリにメモしておきます。

オンプレミスではなく AWS の EC2 や ElastiCache に寄せていくということと、Redis を利用するアプリケーションサーバでは Ruby on Rails が動いているという暗黙の前提があるため、そのつもりで読んでいただければと思います。

無停止で Redis サーバをマイグレーションすることの困難さ

Ubuntu 16.04 用に Redis サーバを準備するのはそれほど大変な作業ではありません。キャパシティプランニングさえ終えれば、あとはちょっと Itamae や Chef のレシピを書いてやるだけ、です。