tail my trail

作るのも使うのも、結局は、人なのだ

HAProxy & socat を使ったオンライン切り離しと Aurora Reader Endpoint における一考

前置き 随分前に RDS Read Replicas や Aurora Replica に対する振り分けを HAProxy で振り分ける方法を投稿した。 この後に、 Aurora Reader endpoint が実装され、 RDS for Aurora を使っている場合に限り、 readers への振り分けに HAProxy などのバラン…

Lambda functions (Python) の 依存パッケージの保存場所を指定する

apex.run Lambda w/ Apex 関連でもう一つ TIPs を備忘録しておく。 Function hooks のおさらい Apex には Function hooks という機構があり、 Apex で管理する Lambda function のライフサイクルの中で、特定のステップで任意の shell commands を発火させる…

Apex エントリー & 細かい TIPs

apex.run 今までも AWS Lambda は採用していましたが、アプリケーションエンジニアに必要な Policy を付与して、あとは各自よしなにで久しく運用していましたが、自分も本格的に使うようになり、デプロイや運用の効率を考え、今更ながら Apex を使い始めまし…

Amazon ECSのためのコンテナスケジューラー Blox をDocker for Mac で動かしてみる

tl;dr 遅ればせながら、昨年の re:Invent 2016 で発表された Amazon ECS のためのOSS Container Scheduler Blox を試してみた。 AWS 上で動かす事もできるし、手軽に Blox をローカルで動かすこともできる 必要なリソースは CloudFormation Template や Dock…

AWS CLI のprofileを簡単に切り替える (SwitchRole編)

これまた意外と知らない人がちらほらいたので、書き留めておく。 tl;dr $HOME/.aws/config で Switch Role な 設定をいれるだけ。 背景 Switch Role という機能を使うと、IAM User から特定のRole に切り替えることができる。 Management Console使ってると…

Docker for Mac 使っている場合の入力補完

tl:dr Docker.app 内に bash_completion がバンドルされているので、それ使ってね。 背景 たいてい、以下のようなコマンドで completion 設定すると思うが、 curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docke…

Docker for Mac v1.13 でディスクイメージの自動圧縮に対応されたのであげておくべし

tl;dr 「Docker for Mac 使ってる場合のimage群の保存場所と掃除方法」というタイトルでブログに書き殴っておこうと思ったら、実は Docker for Mac v1.13 から自動圧縮に対応していたというオチ。 Docker for Mac 使いは 今すぐ v 1.13 に上げよう。 背景 Do…

WebSocket対応した噂のALB (Application Load Balancer) を試してみた

TL;DR 2016年8月にAWSのLoad Balancerが WebSocketに対応した スムーズすぎて心配になるくらい簡単に導入できる 「うまい、はやい、やすい」ので、導入しない理由はないと思う ALB Release! 巷では長らく噂になっていた、新しいAWSのLoad Balancer。 先月201…

Nginxを用いたWebSocketサーバのReverseProxy構成及びSSL/TLS接続

TL;DR 今更ながら、随分前の作業メモが貯まっていたのと、もう一つの記事のつなぎとするために吐き出しておく。 WebSocket 通信のSSL/TLS通信をさせたりロードバランシングさせたい場合など、WebSocketサーバの前段にReverseProxyを置きたい時は Nginx (v1.3…

OS boot/shutdown時に自動でZabbixのホストのステータスを変更する

tl;dr OS 起動・停止時にZabbixのホストのステータスの有効・無効を切り替えるサンプルプログラムを書いた。 uorat/zabbix-host-controller - Github 前置き クラウドを使うことのメリットの一つに、リードタイムなくサーバの稼働数を柔軟に制御できる点があ…

HLS動画の配信テスト用に、JMeterで同時視聴シナリオを書いてみた

RTMP サーバ から AkamaiやCloudFrontのようなCDN 経由で HLSによるライブ配信を行っているとする。 構成は、以下のようなものを想像してもらえれば良い。 同時視聴者数の増加に従ってOriginにどのような負荷がかかるのか確認したかったので、シナリオを組ん…

HAProxy v1.6を使って複数のRDS Read Replilcaに分散させる

RDS ReadReplicaを立てて、参照クエリを逃がすことを考える。 可用性や拡張性を考えてReadReplicaは複数台構成とした場合、RDSの仕様を考慮して設計しておく必要がある。ポイントは以下。 Read Replicaは個々にEndpoint (DNS名) を持つ。 複数Read Replicaに…

glibc 脆弱性対応に関する備忘録 (CVE-2015-7547)

※WebやSNSの情報漁った個人まとめなので、CVEやGoogleやRedhatなど各社が出している公式情報を参照してください。 CVE-2015-7547の内容 悲報。glibc 2.9以降の脆弱性が本日 2/17 (日本時間) 発見された。getaddinfo() 関数の脆弱性で悪用されるとリモートコ…

OSのPython古くて困ってる場合はpyenv入れたら便利だよ

成り行き 運用管理サーバに使ってるCentOS 6で、色々オペレーションをやってるが、ここでaws-cliを使いたい。 aws-cliがPython 2.6のサポートを打ち切っていたので、これを機にPython2.7にあげたい。 $ pip install awscli DEPRECATION: Python 2.6 is no lo…

MHAを使ってZabbixをカジュアルに冗長化してみる

Onpremiseな環境でHAなDBクラスタを組んだり監視サーバを構築したりなんて作業は、ちょっと前であればごくごく当たり前のものだったけど、最近はクラウドやSaas/Paasをどれだけ活用して、よりビジネスの本流に集中しようというご時世。 でも、やっぱりOnprem…

iPhone 6Sが出たのでiPhone6 + MVNO に乗り換えてみた

iPhone 6S / 6S plus が2015年9月25日に発売されました。 2年前にSoftbankで購入したiPhone 5Sの2年分割払 + 月月割 が10月で切れるので、次をどうするか悩んだのですが、タイトルのとおり、このタイミングでiPhone 6 + MVNO への切替を試してみました。 試…

AWS CLI のprofileを簡単に切り替える

意外と知らない人がちらほらいたので、書き留めておく。 AWSとAPIとIAMについて 基本的にAWSの全てのサービス / リソースの操作はAPIによって行われます。 (Management Consoleの操作も内部的には全て同じAPIアクセス) S3への画像のuploadから、EC2 Instance…

Ansible入門&ハンズオン資料を公開しました

少し時間が経ってしまいましたが、 先日Ansible入門というイベント でAnsibleの説明とハンズオンをする機会を頂きました。 資料は SlideShare に公開しているので、これからAnsible始めたいという方はご参考にしていただければ幸いです。 資料の後半にハンズ…

Socket.io with Websocket の SSL/TLS 対応

前記事でSocket.IO + Redis PubSubを用いたリアルタイムメッセージ配信の仕組みをまとめたので、今回は、Socket.IOを用いたWebSocket通信をSSL/TLS対応させる。

Socket.io + Redis PubSubでリアルタイムメッセージ配信

要件は以下。 * クライアントはWebブラウザとネイティブアプリ (iOS, Android) * 視聴者に軽量なテキストメッセージをbroadcastする * メッセージの永続化必須 * 可用性/負荷分散も考慮する 例えば、動画を視聴しているとして、その動画の横に、自分含む視聴…