14Room

みんな泣きながらオトナになったんだ。

2015-01-01から1年間の記事一覧

DKIM導入

概要 送信したメールがSPAM扱いされるので、証明書による送信元証明を付加しました。 インストール インストール sudo apt-get install opendkim opendkim-tools ディレクトリ用意 mkdir -p /etc/opendkim/keys/naked.com 鍵生成 cd /etc/opendkim/keys/nake…

ゾンビDBの作り方 at GCP

概要 毎朝、前の日に本番DBから取ったバックアップを元に復活するDBをGCPでも作りました。 やってることは、 mysql止める 古いvolumeをアンマウント 古いvolumeをdetach スナップショットから新しいボリュームを作成 新しいvolumeをattach 新しいvolumeをマ…

ゾンビDBの作り方 at AWS

aws

概要 開発メンバーからの要望で毎日、本番DBから取ったバックアップを元にデータをリフレッシュするDBを作りました。 何度データを壊しても次の朝には復活してるので社内ではコレをゾンビDBと呼んでいます。 やってることは、 1.定期的に取ってるsnapshotか…

capistranoでデバッグのため、ダミータスクを動かしてみる

概要 デプロイの処理を1個づつ試しながら確認したい場合が多々有ります。 そんな時はCapfileにダミータスクを追加して、そのタスクを直接動かして動作を確認してみましょう。 Capfile 例)GCPのインスタンスリストをコマンドから取得する処理を確かめてみる。…

Google cloud shell使ってみました

gcp

Google cloud shellって? 日本語だと下記のページで概要を掴めるかと思います。 Google Cloud Platform Japan 公式ブログ: Google Cloud Shell の無料期間が 2016 年末まで延長 使ってみました 特に設定の必要も無くGCPのコマンドが使えますし、普通にlinux…

local-ssdを積んだインスタンスのサイズ変更はできない

gce

概要 local-ssdを積んだインスタンスのサイズ変更はできないので、気をつけましょう。 (local-ssdについては下記を見てもらうと雰囲気はつかめるかと思います。) Google for Work Japan 公式ブログ: [GCP] Local SSD がどなたでも利用できるようになりまし…

GCPでサブネットが使えるようになった。

gcp

概要 AWSでは「VPC内でサブネットを切ってAPPのネットワークとDBのネットワークを分ける」みたいなことができますが、GCPでは出来ませんでした。が、いつの間にかGCPでもサブネットを切ることが出来るようになったようです。 GCPのnetworks 以前のGCPではnet…

GCEのインスタンスサイズを変更する

gce

概要 EC2だとインスタンス停止後、change instance sizeで一発ですが、gceでは下記の手順を踏んでインスタンスサイズの変更を実施します。 流れは下記の通りです。ここではmanageというインスタンスのサイズを変更してみます。 サイズを変更したいインスタン…

slackにslow query数を出してみた

概要 注意しなきゃいけ無いんだけど、気が付いたらslow queryがいっぱい出ていた・・・・。なんて事を回避するために、とりあえず毎日slackにslow query数を出すようにしてみました。 Webhook URL slackにslow query数を投げるためのWebhook URLを取得します…

DBバックアップスクリプト(GCP版)

概要 もしもの時のためにmaster-dbのデータバックアップを行っています。 バックアップスクリプト #!/bin/sh date=`date '+%Y%m%d%H'` DESCRIPTION="db-backup-$date" gcloud compute -q --project "naked.co.jp:api-project-123456789" disks snapshot "mas…

rbenvでrubyのバージョン管理をする。

sudo update-alternatives --config editor sudo visudo -f /etc/sudoers.d/00_base 下記を追記 Defaults !secure_path Defaults env_keep += "PATH RBENV_ROOT" 環境変数設定 export RBENV_ROOT=/usr/local/rbenv export PATH=${RBENV_ROOT}/bin:${PATH} rb…

SSL証明書の期限を調べてみよう

概要 ブラウザで確認する方法もありますが、ここではコマンドで確認する方法を述べます。 コマンド実行 -connect で調査したいFQDNを指定します。 openssl s_client -connect nativeapi.naked.com:443 < /dev/null 2> /dev/null | openssl x509 -text | grep…

DBバックアップスクリプト(AWS版)

aws

概要 mysqlサーバのデータを定期的にスナップショットでバックアップしていました。 シェルスクリプト バックアップ #!/bin/sh date=`date '+%Y%m%d_%s'` DESCRIPTION="DB_backup_$date" VOLID="vol-783ac837" /usr/local/bin/aws ec2 create-snapshot --vol…

HTTP/HTTPS balancerに証明書を設定する

概要 GCPでもHTTP/HTTPS balancerにSSL証明書を持たせアクセラレータのような使い方ができます。 本投稿ではHTTP/HTTPS balancerに証明書を設定する方法を述べます。 設定方法 「HTTP load balancing」で設定したいバランサーをクリックして選択。 「Incomin…

証明書をパスワード付きで作ってELBに怒られたときの対応方法

aws

ELB用で使うSSL証明書をうっかりパスワード付きで作ってしまうと、いざuploadする段階で、 Error: Private key must not be encrypted with a passphrase. と言われて拒否されます。_ノ乙(、ン、)_ そこでPrivate Keyを何らかのテキストファイルに保存して、 o…

消費税が海の向こうまで追って来た。

aws

ちょっと前の話になりますが、2015/10のAWS料金を確認したところ、いつもよりも明らかに高い・・・。 慌ててサポートに問い合わせると以下のようなお返事が来ました。 2015年税制改正により、国境を越えた役務の提供に係る消費税の課税の見直しが行われまし…

ELB等で使うSSL証明書を消してみよう

aws

ELB等で使う証明書はデフォルトで10個しか入れておけません。 期限切れなど必要の無くなった証明書は消しましょう。 確認 今格納されている証明書一覧を表示する aws iam list-server-certificates 結果がjson形式で表示される。 { "ServerCertificateMetada…

CloudFrontで使うためのSSL証明書をアップロードしてみよう

aws

2015/3/23時点でCloudFrontで使う証明書はCLIでしかアップロードできません。コマンドは下記の通り。 aws iam upload-server-certificate --server-certificate-name cdn.naked.com --certificate-body file://cert --private-key file://private --certific…

mysqlをサービス投入前にウォーミングアップしよう

概要 mysqlを再起動するとメモリに乗っていたデータがなくなり、そのままサービスに投入するとメモリにデータが載るまで負荷が高くなります。 そこでMySQL::Warmerを使ってサービス投入前にウォーミングアップしましょう。 インストール apt-get update apt-…

GCEでオートスケールを停止してみる

概要 デプロイのタイミングでオートスケールが発動すると色々困るので、止めます。 実行 下記のコマンドで停止可能。integration-201510290920はオートスケールを止めたいインスタンスグループの名前です。 gcloud compute -q --project "naked.co.jp:api-pr…

GCEでNATインスタンスを作ってみる

概要 GCPではexternal IPを持たないインスタンスはインターネットと通信できません。しかしDBサーバのようにセキュリティ的にexternal IPを持たせたくないけど、時々apt-getなどでソフトウェアを更新したい場合もあります。 そこで、NATインスタンスをdefaul…

GCEではquotasに気をつけよう

gce

EC2でもインスタンスの可能起動数に上限があるようにGCEにも色々なリソースに上限値が設けられてます。 オートスケールでインスタンスを大量に起動したりすると、この上限値にブチ当たり欲しいインスタンス数が確保できず、サービス影響が出る可能性がありま…

GCEはOPB25

ぱっと見た感じ、意味不明なsubjectですね。 「OPB25」は「Outbound Port 25 Blocking」の意味で、スパムメールなどを撲滅するためにGCE環境から外部にメールを直接送れないように25番portを塞いでいます。 なのでGCE環境からメールを送信したい場合はport番…

GCEではinternal IPが任意に設定できない代わりに、内部DNSにホスト名が自動で設定される。

長いsubjectのとおり、GCEではインスタンスのinternal IPを任意に設定することは出来ません(EC2では出来ます)。internal IPはインスタンスを起動すると自動で割り振られます。 上の図のようにExternal IPは「static IP address」を選ぶことで同じIPを使い回…

Google cloud platform はじめました。

Google cloud platform。略してGCP。GoogleがやっているCloudサービスですね。 gmailとかyoutubeとかと同じインフラを使えるって事で、ちょっと楽しみです。 ちなみにamazonと比較すると aws = gcp ec2 = gce (google compute engine) s3 = google cloud sto…