続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

Google Cloud Logging + Big Queryでアクセスログ解析 (リアルタイム風味) 前編

今更ビックデータ という言葉を使うとちょっと恥ずかしいぐらいの時代になりましたが、身近にあるビックデータ(になりうるもの)として、Apacheのアクセスログ解析をやってみたいと思います。リアルタイムに解析できるのが良いですが、リアルタイム性を追求し…

nagios pulgin互換 icinga2 インストールしてみた

日本では(世界でも?)あんまり話題になっていない nagios互換の統合監視ツール icinga2 をインストールしてみた。icinga(読みは wikipediaより アイシンガ or イッティンガ)はもともとは nagios の forkらしく、icinga 1は互換性を重視、 icinga 2はそこまで…

vimの置換を覚える

vim

「Emacs & trampで編集だー」 と思ってたのですが、なんだかんだでパスありログインのサーバが多くて、vimちょっとは覚えようかと。 とりあえず、正規表現による置換 まず、VIMの正規表現は pcreじゃないらしい。.+ とか普通に反応して欲しいのだが、方言を…

Cloud Monitoringでカスタムメトリックを投げる

Google Cloud Monitoring でカスタムメトリクスを投げてみました。 2種類のカスタムメトリック 下記の2つがあります。 lightweight Custom Metrics 一言でいうと普通のやつ。AWSのCloudWatchのカスタムメトリック相当 labeled Custom Metrics 1つのグループ…

Google Cloud Monitoringを試し、そしてビビる

Google Cloud Monitoring はGCEのVMインスタンスやディスクのリソース監視やアラート、さらにはエンドポイント監視ができるものです。AWSでいうところの CloudWatchです。が、もともとはstackdriverというサービスをGCPに取り込んだものという経緯があります…

GCEのVMインスタンスからメール送信するなら、SendGrid必須

stackoverflowでもこの件について触れられていますが、GCEでは、インスタンスからのOutbound:Port25は全面シャットアウトです。そのため、メール送信にはSendGridが必要となります。 Google Compute Engine (GCE) email delivery solution? Google Compute E…

GCP リージョン跨ぎロードバランサーの破壊力

知っている人は知っている、GCP(GCE)のロードバランサーはリージョン跨ぎができます。昨年10月頃?より、Developers Consoleから確認できるロードバランサーは2つになりました。 ネットワーク負荷分散 HTTP負荷分散 このうち、リージョン跨ぎロードバランサ…

lsyncdで双方向同期するなら、delete='running' がいい

lsyncdを使って、2台のサーバ上のファイルを双方向からの同期を検証していた時に、予期せぬファイル削除が発生しました。その謎と対処方法について迫ります。 lsyncdで双方向同期とは? lsyncdは自分の特定のディレクトリを見張り、変更(ファイルの追加、変…

RDSをSSD(General Purpose)で運用するときに注意すべきこと

EBSにSSDタイプが追加されてしばらく経ちましたが、 「でも、お高いんでしょ?」 「値段調べたけど、そんなに高く無いし、SSDだったら絶対に早いよね!HDDよりは」 という先入観があると思いますが、ちゃんと調べてみました。 素晴らしいドキュメント それは…

RDSのディスクを後から変更するときに、リブートはどうなる?

今回は、RDSのディスク変更に伴うリブートの確認を行いました。前回のエントリで、mysqlの死活を秒間で確認するスクリプトを用意しているので、そいつを裏で回しておきます。 RDSでParameter Groups変更時のDBリブートについて調査してみた - 続 カッコの付…

RDSでParameter Groups変更時のDBリブートについて調査してみた

RDSはインスタンスのスペックに応じて、自動でDBパラメータを調整してくれるのが売りでもありますが、どうしても変更したいパラメータがあったりします。有名なところでは max_allowed_packet character_set_xxx 系 この辺りのパラメータや、もっと重いパラ…

monitで設定変更 & restartしても 反映されない時

プロセスがの死活を監視して、死んでたら勝手に再起動をかけてくれるというシンプルなデーモン monitですが、設定を間違った後に修正しても反映されないことがあります。そんな時はまず # monit summary で、現状を確認 Process 'hoge' Not monitored とでた…

digで . から掘る

何回やっても忘れてしまうのでメモ。 $ dig . ns ;; ANSWER SECTION: . 492579 IN NS j.root-servers.net. . 492579 IN NS e.root-servers.net. . 492579 IN NS a.root-servers.net. . 492579 IN NS b.root-servers.net. . 492579 IN NS l.root-servers.net.…

AppStreamでGoogleEarthをグリグリ動かす

AppStreamはレンダリングなどの重い処理をサーバー上で行い、絵だけを高速に様々なクライアントデバイス(スマホ、タブレット含む)に投げつけるサービスです。 AppStreamの存在意義 その手法の筋がいいか悪いかは別として、AppStreamの目指す分野はクラウド化…

CloudFrontで日本語URLをInvalidation(キャッシュクリア)するには

マネジメントコンソールでも URLエンコードせよ! 以上 こんな感じで怒られます。 URLエンコードも含めて、Chromeで確認するのが良いです。 こいつをInvalidationにぶち込んでやればOKです。

aws-cli で使える --query = jmespath をガッツリ使い込む

すでに結構色んな所で取り上げられている aws-cli の --queryですが、使ってみました。 とりあえずこれ試してみよう! JMESPath Tutorial — JMESPath これを紹介だけで、このエントリの90%の価値が含まれております。騙されたと思ってやってみて。ぜひ 能書…

aws-cli で CloudFrontを操る (invalidation以外)

現時点では aws cli による CloudFront操作はプレビュー版です。ですが、一応動作は確認できた。 長くなったので、短縮版 aws cloudfront get-distributionで現状をjson でファイル出力 作ったファイルを修正 null => "" , Id: つける, ETag => IfMatch aws …

Ansible の ec2.pyをprofile対応にする

ほぼ覚書です。 ec2.pyというスクリプトを使って、インスタンスID -> IPアドレスなどの変換を行いますが、こいつがprofileに対応していないので、改造版を使った。 https://github.com/donal/deployments/blob/master/ansible/ec2.py ただこれを使っても、2…

Route53のヘルスチェックにCloudFrontの動作確認をさせる

Route53のヘルスチェックは文句なしに良いサービスです。これを使ってCloudFrontのようなCDNサービスが正常に動いているか、ゆるくチェックしてもらいます。 概要 CloudFrontはCDNです。1つのオリジンをいろんなエッジロケーションから配信するのですが、す…

Route53のAliasレコードを正しく理解する

AWSのほとんどのサービスの冗長化はほとんどDNSに依存しています。それ故に、かなり早い段階からRoute53というDNSサービスをリリースしています。その中でも特に積極的にRoute53を使う理由は、このAlias機能にあります。 Aliasとは ほとんどの人にとっては、…

S3で他人のディレクトリの中身が一切見れない、IAMの作り方

S3はIAMと組み合わせることにより、ファイルサーバ(Windowsの共有的な)のような構成を組むことも可能です。先にいうと、バケット単位での設定は結構簡単ですが、バケットは同じ、ディレクトリで分離という方法をなんとかします。 やりたいこと 目指すはコモ…

S3 Policy Generatorがどっかに行った?

小ネタです。 マネジメントコンソールの表示変更は日常茶飯事ですが、今日Policy Generatorを使おうとしたらいつもの場所に無い!何処へいった? ここにあった! 下記のIAM左メニューの Policiesから Policy Generator を Select あとはいつもの見慣れた画面…

GCEでWindows Serverを建ててみたら、インスタンスシャットダウンができるようになってた件

GCEもWindows Server に対応しています。2014/04 ぐらいにベータだったと思いますが、今更試した。そうしたらついでに、インスタンスのシャットダウンが出来るようになってたことに気づいた、というはなし。 Windowsサーバを建てる インスタンス起動 イメー…

GASでドメインやSSLの有効期限を見張る

GAS (Google Apps Scripts)を使ってドメインやSSL証明書の失効にたいして、なんとかしてみます。 GASとは Google Apps Scripts とは、要はGoogle Apps版のVBAです。ですが、VBAと違うところは、Googleのサーバーで実行されるという点です。この点と、時間で…

Google Cloud Storage で独自ドメインで静的サイトホスティング

GCPのgs (Google Cloud Storage)をつかって、静的サイトホスティングをやってみます。 構成 今回はフルGCPでやってみます。 gs (Google Cloud Storage) 書くと長いので、gsで省略、googleも認めてるし。gsは AWSで言うs3、OpenStackで言う swiftです。この手…

VPC Peeringを使ってロンゲストマッチを試す

AWSでVPNを張るとき、AWS側のVPCのCIDRと、拠点側のCIDRは、被らないように設計します。 が、諸々の事情で被ってしまった場合でも、ロンゲストマッチによって何とかなるかも?というおはなし。 CIDRオーバーラップ たとえば10.0.0.0/8 と10.1.0.0/16は被って…

大きいCIDRから小さいCIDR以外をくり抜くアプリをつくってみた

一体何人の人が使うかわからないが、勉強も兼ねてやってみた。やりたいことは 親 10.0.0.0/8 子 10.120.30.0/24 のような場合、親サブネットの中に、子サブネットがいますが、この親から子を除いた全部のCIDRをくり抜くアプリです。絵にするとこんな感じ。 …

Javascriptで32bitのネットマスクを作るとき

Javascriptでわざわざビットシフト演算子を使いたいような人は殆どいないとおもいますが。。 Javascriptでも一応ビットシフトはできます。これを使って /16 -> 1111111,11111111,00000000,00000000 のような変換を行いたいときに下記のコードを組みました va…

ElasticBeanstalkのログ保存方法

BeanStalk標準で入っているロギング機構についてまとめておきます。公式ドキュメントにも記載が少ないので、難儀しました。注意点とて、EBのバージョン次第で詳細な数字が変わっています。(例えば10MBのローテーションは、以前は30MBでした。ファイル名も変…

ElasticBeanstalk -> ELB 2台化

備忘録。ebの設定でさすがにELB2台はできない。ゲスな手順で挿げ替えを行う。 一旦ebを作る AutoScalingの設定を覚えておく ebのAutoScalingGroupを一旦消す 2代目のELBを作る。設定はebのELBと同じ AutoScalingを再作成、だが、4.で作ったELBとebのELBを両…