sgykfjsm.github.com

Beanstalk管理下のインスタンスを安全に再起動する

現在のBeanstalkでインスタンスが再起動する場合は主に以下の3つがある。

  • アプリケーションをデプロイするとき
  • Configuration(JVMのパラメータとか)をデプロイするとき
  • Management ConsoleなどでRestart Appsを実行した時

しかし、運用の中では特定のインスタンスのみを再起動したい場合がある。また、再起動を行う場合、インスタンスを再起動すると自動的にTerminateしてしまうし、インスタンス内部のアプリケーションサーバを再起動すると、ELBからリクエストが来てしまう。ここではこういった点を考慮した安全な再起動の手順を確認する。

起動に失敗したインスタンスを調査する例

先日、とあるサービスで利用しているBeanstalk環境でインスタンスが起動に失敗した。ログを見ると、S3からリソースの取得に失敗していたようだ。
ネットワーク接続の状態としては、AWS内のネットワークでは疎通可能だが、インターネットを経由した通信は不可、という状況。具体的には、例えばAWSのインスタンスからはsshログイン可能だが、グローバルからのsshログインはできないといったような感じ。色々調べたけど、不意に調査対象のインスタンスがTerminateしてしまい、結局原因がわからないままになってしまった。

調査はAWS Supportとやりとりしながら行ったのだけれども、色々と情報収集を都度指示されて捗らなかった。
なので、ここには次また事象が再発した場合に備えて、障害発生時に取得しておきべきこと、確認すべきことを整理する。

Play!のDB設定について

自分が開発したわけでもないのだけれど、APIのパフォーマンスをどうにかしろ、チューニングしろと言われた。チューニング対象のAPIはPlay!を利用しており、DBのI/Oにパフォーマンスが強く依存するので、まずはDB周りのパラメータをしらべて改善していくことにした。

markdownをプレビューする

Macではプレビュー機能があるけど、markdownだとレンダリングされずにそのままが表示される。 ので、ちゃんとレンダリングされた状態でプレビューできるようにする。また、いつもvimを使って作業しているので、コマンドラインからプレビューできるようにする。

ただ、今回はlynxを使ってプレビューするので、あまり一般的なやり方ではないと思う。

ITフォーラムセッション 「ビッグデータ活用実務フォーラム」に行ってきた。

ITフォーラムセッション 「ビッグデータ活用実務フォーラム」に行ってきた。短い時間に対して、とても豪華なスピーカーだったので、これは行くしかないなーという感じで行ってきた。各セッション30分なので、とても密度が濃かった。

以下はメモ。聞きながらなので、乱文乱筆ご容赦。

Amazon RDSのMySQLでオンラインメンテをどうやればいいかを調べた

RDSのMySQLでオンラインメンテ、つまり無停止でのスキーマ変更などをどうやれば良いか、という話。 今までは色々小細工をして生のALTER文を発行していたけど、さすがにロック時間とかが気になり始めたので調べた次第。 ざっとググると、pt-online-schema-changeというツールを使うと良さそうだったので、ここにその作業ログを残す。 以下は参考にしたブログ記事など。