読者です 読者をやめる 読者になる 読者になる

続 カッコの付け方

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

CloudWatchLogs データを入れてからのおたのしみ(概要編)

リリースから随分日が経っていますが、改めてCloudWatchLogsの良さを書きます。今回はLogs Agentや取り込みの話しは触れません。Logsに取り込んだは良いけど、どうしよう にフォーカスします。 その前にCWLogsの概要 長いのでCWLogsと略記。 CWLogsは文字通…

AWS EBS SSD (gp2 general purpose) バーストクレジット計算式

「EBS (gp2) のクレジットの回復レートってどんなの?」の質問に即答できなかったので、書いておきます。 結論、数式としては クレジット 0 -> Fullまでの時間 = 5,400,000(IO) ÷ ベースラインIOPS となります。 概要と用語 簡潔に EBSは 3000 IOPSまでのバ…

AmazonLinux や CentOS6 で upstart root以外で実行

もうオワコンである upstart で結構苦戦しました。やりたい事は単純に root以外のユーザーで実行したいということだけ upstart ? sysVと systemd の間にあったデーモン管理Tool(というか機構?)です。こいつは sysV とは違って systemdと共存出来ないので、オ…

Google API Client Library 入門

今まで、Cloud Monitoring のカスタムメトリックスを打つために、サンプルを改造する程度の理解しか無かったのですが、ある程度自分の頭で整理出来たので残します。GCP(Google)におけるAPIクライアントライブラリについて、入門からAWSとの違いについて。 Go…

Google Cloud SQL 2nd Generation Proxy接続する

8月下旬、 Google Cloud SQL 2nd Generation がGAとなりました。すでに検証はしていますが、今回は Cloud SQL Proxy を中心に書きます。 iga-ninja.hatenablog.com Cloud SQL Proxy とは? 前回の記事でも記載しましたが、Cloud SQL への接続は全てグローバ…

jsonの戻り値とか、複雑なオブジェクトからスマートにデータを抽出[JMESPath 最強説]

「パイセン、JSONで帰ってくる複雑な構造のオブジェクトをいい感じにするやつしらないっすか?」 「ああ、複雑な構造ね。しらん、専用の関数用意するとか?」 「やっぱ、そっすよねー」 全国津々浦々でこんな会話が繰り広げられてると思います。私も2回ぐら…

GCE Autoscaling in 2016夏

Google Cloud Platform Japan 公式ブログ: GCE ユーザーに高可用性を提供する Regional Managed Instance Groups がベータに 最近 Regional Managed Instance Groups という機能がβになりました。Regional とはなんぞや?ということですが、 この機能のもと…

nginx + php-fpm の組み合わせのErrorログ出力を理解する

ngix + php-fpm の組み合わせで特に Errorログについて整理しときます。 初心者向け補足 プール向け設定ファイル = /etc/php-fpm.d/www.conf 全体の設定ファイル = /etc/php-fpm.conf php-fpmのログまとめ error.log php-fpm 全体で出す Errorログです。これ…

JSON中にDot(.)が含まれたキー名を変換する

最近なんでもかんでもJSONですが、MongoDB/ElasticsearchにJSONを突っ込もうとして問題にぶつかりました。具体的には表題の通りで、 キーにDot(.)を含むものが上手く動かない という点です。現状は キーにDotを使うな、もしもデータファイルに入っていたらコ…

GCE HTTP(S) 負荷分散と Cloud CDNを使う

すでに何度が触れていますが、GCE HTTP(S) ロードバランサー が更にアップデートされました。同じく、 HTTP(S) ロードバランサー限定で Cloud CDN というサービスも有効となりました。 GCEでHTTPS負荷分散 SSL Termination - 続 カッコの付け方 GCP リージョ…

GCEのSubNetwork対応による、変更点とAWSとの違い

昨年の12月頃らしいですが、GCEでもSubnetがサポートされました。最初、これを知った時 なんて無駄な機能をつけたんだ!Googleのパワーをこんなしょうもないことに使うな と思いましたが、調べてみるとGoogle流の考慮は入っていました。 ひとまず、このエン…

CloudFront ワイルドカードキャッシュクリアの不具合(修正済)

CloudFront(以下CFと略)を始め、CDNを利用するにあたり、まず注意することは、キャッシュを削除する手段を確立することです。CFはinvalidationをURL毎に発行することにより、このキャッシュクリアを実現していましたが、昨年、ワイルドカード (e.g /image/*)…

Google Cloud SQL 2nd GenerationのFailOverなど

GAEのために出来た、という歴史的な背景からもあまりGCEから使うこともなかった Cloud SQL (1st generation)ですが、昨年 2nd generation がベータとなりました。パフォーマンスの高さについてはアナウンスされていますが、この記事はFailOverを中心に、2nd …

Crate.IO クラウドネイティブな新しいデータベースエンジン

Crate.IOという新しいDBエンジンが 2014 TCのアワードをとっていたらしい。それからもう1年近く立っていますが、正直なところ、流行っているのか定かではないです。が、誰もやらないことのほうが面白いのでやります。 Crate.IOとは? Crate でググると、木の…

知らん間にGoogle Cloud loggingでログ監視ができるようになっている件

GCPあるある 久しぶりにDevelopers Consoleにログインして新機能実装に気づく。 一応RSSとか購読してるんですが、ほんとにこのパターン多い。今回はCloud Logging (& Cloud Monitoring)です。以前にLog監視できたらいいなーとか、Pub/Sub + GAE でログ監視が…

unicast対応でよみがえる keepalived on VPC-EC2

AWSを始め、ほとんどのパブリッククラウドはmulticastが出来なくて不便。と言われてきましたが、だったらunicastでやってしまえば良い!という考え方が 2013年頃すでにありました。なぜmulticastをやりたいの?と言うと そうだね!、LVS + keepalived だね!…

VPC Flowlogが見づらいので、htmlでViewer作ってみた

VPC flowlogという機能が最近リリースされました。SGを通過した・蹴られたのログが取れるというものです。これ自体はとてもありがたいのですが、ログの閲覧はCloudWathLogsからとなり、コレがイケてない。だから何とかしたという話 どんなふうにイケてないの…

ipv6とAWS 繋がるから、運用まで

世の中の全てのデバイスがipv6グローバルIPアドレスを持つ時代が来る。そんな時代が来ると考えていた頃が私にもありました。 2015年になった今も、残念ながらipv4が主流のままです。また、足らないグローバルIPやら、本当はグローバルIP同士でやるべき通信を…

最近のDNS事情まとめ

私が一旦インフラを離れる10年前、もうすでに「BINDはヤバイんじゃないか? 」と言われてましたが、(自前運用では)未だにBINDは主流な気がする。Route53を始め、いまやどこのクラウドでも権威サーバはあるので、わざわざDNSをたてる意味はもうないですが。今…

AWS ELB + SSL Termination下でEC-CUBEを正しく動かす

EC-CUBEをAWS上で運用するとき、良くある構成 今回の構成は SSL Termination を行い、ELB -> EC2(Webサーバ)間ではHTTPS(443)通信を行いません。この場合、EC2側は常にHTTP(80)で通信を受けるので、ユーザーのELBに対するアクセスがHTTPなのかHTTPSなのか普…

iPhoneやAndroidでドメイン開通前のサイトにアクセスする、結構簡単な方法

まだドメインが決まっていないや サイトリニューアルで本番サーバからの切替前などの理由より、正式なFQDNがまだDNSから引けない状態で試しにアクセスしたいとき、ありますよね? PCのブラウザであればhostsファイルを弄るのが俗手ですが、iPhoneやiPad さら…

CetosやAmazonLinuxのマイナーバージョン固定と注意

どうしても古いバージョンのcentosを使いたいことがあったとします(やめといたほうがいいですが) そんな時どうするかと、それによる注意点を書きます。 バージョン固定の方法 centos5系 /etc/yum.repos.d/CentOS-Base.repoを直接編集 mirrorlistはバージョン…

GCEでHTTPS負荷分散 SSL Termination

技術的に不可能だろうと思っていましたが、予告通りHTTPS負荷分散がGCEでも実現可能となりました。 これにより、SSL TerminationがGCEでも可能となりました! HTTP負荷分散との変更点 GCEのロードバランサは2つあります - ネットワーク負荷分散 - HTTP負荷分…

GoDaddyからRoute53によるDNS管理に変える方法

日本でDNSといえばお名前.comが有名ですが、GoDaddyは海外の老舗という感じで、かなり古くから存在し、今もドメインレジストラとして健在です。今回はGoDaddyからDNS管理をRoute53に変更します。レジストラとしてはGoDaddyのままで、Transferは行いません、T…

mac の chromeに「このウェブサイトからいつもとは異なる誤った認証情報が返されました」といわれたら

エライところではまってしまった。 chrome @ mac で paypal やら twitter やら、はては App Store もダメだ!どういうこと? ググると出てくるルート証明書の期限ぎれ問題だけど、どうも切れている証明書は無い、、 調べてみると ルート認証局はすべて Veris…

ELBを使うときの注意、/28のサブネットは狭すぎる!

AWSのVPC & Subnetのビットマスクは /16 - /28 です。この数字を聞いて 「狭い方はもう少し出来てもいいんじゃないか?」と私も思っていましたが、/28でも狭すぎます!特にELBを使う場合は、すぐにIPが尽きてしまいます。 なぜ狭いビットマスクを指定するの…

AWSの新しいVM Import ImportImage で複数ディスクを一気にAMIへ!

仮想環境(VMWareとか)からAWS EC2へコンバート&インポートする機能は、以前から存在しましたが、新しく Import Imageという方法がサポートされました。 今までと何処が違うのかと、実際にやってみたので紹介します。 http://aws.typepad.com/aws_japan/2015/…

俺のオワコンコマンド整理

2015年 オワコンコマンドを整理します。 去年の自分なら、「オワコンコマンドも yumで入れればいいじゃないか!」と思っていましたが、どうやら時代がそれを許してくれないようです。Dockerをやるつもりがあるなら、代替可能な古いコマンドを使うのは捨てた…

rubyでマルチドキュメントyamlを捌く

マルチドキュメントyamlってなんだ? 1ファイルの中に---が複数入っているyamlです。こんな感じ --- kind: dns#resourceRecordSet rrdatas: - x.x.x.x ttl: 3600 type: A --- kind: dns#resourceRecordSet rrdatas: - hogehoge ttl: 3600 type: CNAME コード…

find & xargs で ディレクトリ内一括置換、リカバリも考えて

私は考えていた。 「このままEmacsの道を歩むのか、それともatomとやらを使うべきか。。」 atom使ってみたけどいい感じ!Emacsキーバインドも使えるし、、と思ったけど、私だけにとって致命的な欠陥が、commandキーを altキーと扱ってくれない点です。もっと…

S3のIAM設定のハマりどころ

以前書いた記事のS3のIAM設定ですが、最近のマネジメントコンソールだと怒られるので、修正版とその他ハマりどころを書きます。 S3で他人のディレクトリの中身が一切見れない、IAMの作り方 - 続 カッコの付け方iga-ninja.hatenablog.com StringEquals で ""…

サーモグラフィーで野鳥観察ができる時代?

世の中には同じことを考える人が何人かいると聞きます。野鳥観察で、全く同じことを考えている人がいた。 Infrared Birding: Welcome to Infrared Birding 俺が求めていたのはコレだ! thx suan! 野鳥観察について 鳥を見ないひとにはドマイナーで、ごく一部…

Google Cloud Pub/Subと類似サービスの比較(SNS, SQS)

もう1ヶ月以上経過してしまいましたが、まだ情報が少ないみないなので、aws識者として競合との比較も含めて書きます。私は使わないと頭に入らない人間なので、ちょっと触ります。 概要 What is Google Cloud Pub/Sub? - Cloud Pub/Sub — Google Cloud Platfo…

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

早速後編です。実は筆者もBigQueryをガチで使うのは初めてです。使ってみてわかったのは、結構普通のSQL(私の普通はOracle基準、つまりMySQLから見たらコテコテの機能モリモリのSQL)が通るということです。UDFもPreview?で通るらしいですが、今回はUDFまで…

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%の価値が含まれております。騙されたと思ってやってみて。ぜひ 能書…