aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

AWS

EC2: RDS: Amazon LinuxでRDSのCLIを使う

Amazon Linuxにはデフォルトで各種CLIツールがインストールされている。 また、インスタンス起動時にIAM Roleを設定していれば、EC2などのAIM Roleに対応しているCLIツールは認証設定をせずに実行可能になる。 RDS CLIはIAM Role未対応なので、以下の様な手…

RDS: MySQLにSSL接続する

RDSではSSL通信が有効になっている( SSL Support) ので、こちらで接続してみる。 まずは、RDSに通常の方法でログインして、状態確認 $ mysql -utest -ptest -h aa.bb.ap-northeast-1.rds.amazonaws.com mysql> show status like 'ssl_cipher'; +------------…

EC2: GlusterFS in AWS

GlusterFS on AWSといえば、 #ヤマン のスライドですね。(後述) こちらの記事では、実際の設定手順等が書かれてある。 GlusterFS in AWS | Celingest Blog – Feel the Cloud ---以下、拾い訳-- 事前の考慮点 アベイラビリティゾーン(AZ)を跨いだ2台のサーバ…

S3: バケットポリシーで特定のアカウントに対して参照可能にする

S3の利用方法としては静的Webサーバが便利で良く使われている。この場合、アクセス制御は基本的に全開にすることが多い。 一方、EMRの入出力で使用するバケットは、httpアクセスすることは少なく、特定のアカウントからのS3 APIでのアクセスのみ、というケー…

ElastiCache: AutoDiscovery をPHPで使う

ElastiCacheに AutoDiscovery機能が付き、phpクライアントも出た。(Cache Engine 1.4.14以降で有効) ちょうど1年前に、このような記事(Amazon ElastiCache の分散方法 )を書いたが、この際は、ElastiCacheの複数ノードを扱うには、Mamcached::addServers(…

EC2: Amazon LinuxにWordPressを急ぎで入れる (その3)

Amazon Linux + RDS (MySQL)でWordPress環境をつくる手順のコピペメモ。 事前にRDS(MySQL)をDBユーザ wpuser、DBパスワード wppassword、DB名wordpressで作成して、エンドポイント(ホスト名)を控えておく。 # install package and start sudo yum -y update …

EC2: Amazon LinuxにWordPressを急ぎで入れる (その2)

Amazon Linuxにデータ用のEBSを追加で /dev/sdf にアタッチしているだけの状態からWordPressを急ぎで入れる手順のコピペ用メモ # install package sudo yum -y update sudo yum -y install httpd mysql-server php php-mysql php-mbstring sudo /sbin/chkcon…

EC2: Amazon LinuxにWordPressを急ぎで入れる (その1)

とりいそぎでWordPressを入れる手順のコピペ用メモ。 # install package and start sudo yum -y update sudo yum -y install httpd mysql-server php php-mysql php-mbstring sudo /sbin/chkconfig mysqld on sudo /sbin/chkconfig httpd on sudo /etc/init.…

カジュアルに鯖を監視するNewRelic をAmazon Linux に導入

今っぽい感じのSaaS型監視サービス NewRelicを Amazon Linuxに入れてみる。( Newvem とか Server DensityとかPingdomとかもある) New Relic は、エージェントを監視対象ノードに入れておく点は Zabbix等と変わらないが、監視サーバを構築しないですぐに(無…

S3: S3のURL

S3のWebサイトホスティング機能にリダイレクト機能が加わった。 リダイレクトさせたいオブジェクトのメタデータとして、Website Redirect Locationを設定すればOK. ただし、URLは、S3のAPI URL (endpoint)ではなく、Website endpointを指定しないとリダイレ…

メモ: PinterestとInstagramのAWS利用状況

PinterestもInstagramも成長スピードがものすごい。 Pinterest AWS SUMMIT NY 2012 のKeyNote中にあったPinterestのパートが記事になっている Pinterest growth driven by Amazon cloud scalability - Techworld.com High Scalability - High Scalability - …

訳:どのようにしてVimeoはEC2の費用を50%削減したか

これは面白い記事。 High Scalability - High Scalability - How Vimeo Saves 50% on EC2 by Playing a Smarter Game == ビデオトランスコーディング処理用のEC2インスタンス費用を、スポットインスタンス、オンデマンドインスタンス、リザーブドインスタ…

EC2: スケジュールイベントでリタイア通知

EC2インスタンスを使っていると、稀に、EC2インスタンスを動かしている物理マシンのメンテンナンスが必要になる場合に遭遇する。メンテナンスイベントには何種類かあり、Instance reboot、System reboot、 Instance retirement などがある。詳しくはマニュア…

EC2: CC2用Scientific Linux6.2のAMIを作成する

cc1, cc2, cg1 といったクラスタコンピュートインスタンス( Culster Compute) 用のLinux AMIは、その他のインスタンスタイプ用の準仮想化(Para-Virtualization, PV) AMIではなく、完全仮想化(HVM) AMIとなっており、そのままでは使えない。 フォーラムにCent…

S3: Windowsからマウントして使う

いろいろあるので取り敢えず列挙。(そのうち感想を追記するかも) TntDrive Gradinet Eugrid 気になるのは、NTFSとかちゃんと出来るのか、オフライン時の挙動はどうなるのか?などなど。 てことで、本格的に使うなら、S3対応NASとかStorage Gatewayとかを使…

Amazon Linux用の Zabbix RPMを作る

Amazon Linuxで Zabbix 2.0系を動かすには、現状はソースからコンパイルが必要。@kodai74 さんが公開している RHEL/CentOS用RPMだと、libmysqlclient.soの依存関係で怒られる(Amazon Linuxだと新しすぎるorz)。 てことで、RPMを自前で作っておいて、ばら撒…

S3: Amazon Linuxにs3cmdをインストールしてコマンドラインでS3を操作する

S3は、まずは Management ConsoleやCloud Berry Explorer、CyberDuckといったGUIツールから使うか、 AWS SDK for PHP, Java, Ruby, .NET といったAPI経由で使うことが多い。(参考:S3の関連ツール・ライブラリ等 - aws memo ) バックアップ処理など、cronな…

Amazon Linux でApacheのログを Fluentd経由でMongoDBに集約する

10genからこんな記事が The 10gen Blog on MongoDB and NoSQL, Fluentd + MongoDB: The Easiest Way to Log Your Data Effectively. === ということで、Amazon Linuxでの環境構築メモ まずは、httpd+Fluentdを入れるインスタンス (web)と、MongoDBを入れるイ…

EMR: EMRで集計してiOSで可視化する手順

Using AWS Elastic MapReduce Results with Mobile BI Analytics | Architects Zone EMRの解析結果を、Roambi Analyticsという iOS向け BI 可視化ツールのクラウドサービスに食わせて、そちらで見る手順。 Roambi は、無料のLite(CSV, Excel, html対応)、Pr…

EC2: User Dataを使ってインスタンス起動時の処理を自動化する

インスタンス起動時に目にするUser Dataって何?って感じなので取り敢えず。 #!/bin/bash -ex yum -y install httpd php php-pear php-xml yum -y install git /etc/init.d/httpd start pear channel-discover pear.amazonwebservices.com pear install aws/…

MongoDB: foursquareは EC2上で MongoDBが動いている

という、スライド。 単一リージョン、単一アベイラビリティゾーン(AZ)に、7つのShardクラスタ(最大で14shard)と3つの非Shardクラスタ。各シャードは3か4のReplica Sets。 m2.4xlarge(68GBメモリ)に、EBS4本でRAID0。データはほぼオンメモリで保持。 iosta…

複数のデータセンターにMongoDBを配備する戦略

MongoDB: Strategies for Multiple Data Center Deployment | Architects Zone MongoDB NY 2012の資料から。 これ、普通にオンプレミスやってたら縁遠いけど、AWSだと複数のリージョンをまたがせてすぐに試せるので、グローバルなアプリケーション作る時の参…

訳:Netflixが 6.29のAWSと嵐から学んだこと

2012年6月は、立て続けにUS EASTリージョンでダウンタイムが発生している。 NetflixのようにマルチAZの構成にして、常に擬似的に障害を発生させる仕組み( Chaos Monkey)を導入していても、ダウンする場合があることが明らかになった。さらなる可用性向上のた…

訳: AWSで高可用性を実現するベストプラクティス

AWS Cloud Best Practice: Introduction to High Availability Deployment | Newvem AWSのアーキテクチャセンターにも図があるが、解説が少ないので、このシナリオ・ステップは参考になるだろう。 しかし、インフラがRoute53でリージョン間冗長性を考えるグ…

MongoDB: AWSでのTips

MongoDB Casual Talks で発表された、MongoDB onAWSの資料。 元ネタは、MongoDB on AWS White Paper (PDF) MongoDB on EC2 #mongodbcasual View more PowerPoint from Yasuhiro Matsuo 議事メモブログエントリ Mongo DB Casual Talksに参加してきました - Te…

DevOps: Netflixが、Webベースのクラウド管理・デプロイツール AsgardをOSS化

NetflixがWebベースの管理・デプロイツール Asgard をOSS化した。 The Netflix Tech Blog: Asgard: Web-based Cloud Management and Deployment AWS Management Consoleよりも、直感的かもしれないし、AutoScaleもGUIで設定できたり、自動化をGUIから設定で…

EC2: PostgreSQLをS3にバックアップする

heroku/WAL-E という、HerokuがOSS化したPython製のツール。 バックアップ、およびWALをS3に保存(Push)したり、取得(fetch)したりするものらしい。 通常、EBSのスナップショットでフルバックアップを取得できても、次回のスナップショット取得までの期間のデ…

訳:クラウドのアプリケーションデザインパターン

P.15からの、MTTRとMTTFを、従来のITとクラウドで比較検証するあたりがいい。 従来のITは、MTTFを長くすることに注力していたが、クラウドでは、MTTRを短くすることに注力できる。MTTFとMTTRがそれぞれ長い・短いでどうなるかを検証する。 P.17-P20 従来のIT…

AWS : Reserved Instanceの購入と支払い

Reserved Instanceは、最初に予約金( upfront )を支払うことで、キャパシティを確保(予約)して必ずインスタンスを起動することができる。また、副次的に従量課金の単価が安くなる。 upfrontの請求タイミングは購入時点となるので、通常の課金が月末締めで請…

EC2: AMazon Linux にFluentdをインストール

Fluentdは、Ruby1.9で動作するが、Amazon Linux 2012.03にプリインストールされているRubyは ruby 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux] となっている。ので、そのまま sudo gem install fluentd ではインストール出来ないので、事前にRuby1.9…