Archive for the ‘Amazon Web Service’ Category

個人情報を扱っているサイトなどを運営していると、httpリクエストを強制的にhttpsにリダイレクトしたいケースが出てきたりします。

Webサーバがロードバランサー配下にあり、ロードバランサーでSSLを扱っている場合には、ロードバランサーとWebサーバ間の通信は実はhttpで、Webサーバの443ポート空けてるけど意味ないじゃん。みたいなことがあったりします(ないか…)。

実際に、SSLをELB(Amazon Web ServiceのElastic Load Balancer)に導入しているサイトで、強制的にhttpsにリダイレクトさせたいという要件が出てきました。今回はwebサーバ(nginx)の設定でリダイレクトさせるようにしましたのでその一例を示したいと思います。

いろいろなやり方があると思いますが、今回はnginx.confの設定で対応しました。
続きを読む »

新年明けましておめでとうございます。
今年もよろしくお願いいたします。

ここ数年、ブログの更新が滞りがちなので、今年は新年のご挨拶もかねて、休み中に少しいじってみたnginxのエントリでスタートしたいと思います。

今回は、Amazon EC2でMicro Instanceを立ち上げ、nginxをセットアップしてWebサーバを立ち上げ、PHPが動く環境を構築したいと思います。

まずは、Micro Instanceを立ち上げたいと思います。

AWS Management Consoleのインターフェイスも日々改善されていて、以前に書いたInstance立ち上げのエントリとはずいぶん変わってますので、あらためてInstanceを立ち上げる部分から記載します。

過去のAWS関係のエントリはこちら。
Amazon EC2 | 株式会社ライブキャスト
Amazon S3 | 株式会社ライブキャスト
CloudFront | 株式会社ライブキャスト
続きを読む »

Amazon Web Services ブログ: 【AWS発表】EC2のAMIをリージョン間でコピー可能になったようなので、早速(でもないですけど・・・)使ってみました。

やっぱり、AWS Management Console | アマゾン ウェブ サービス(AWS 日本語)に、オリジナルの機能として実装されていると便利ですねー。

他社のサービスでは、同様の機能があるものがありますが、制限があったり、一部有料だったりします。また、Root Device TypeがEBSのInstanceを停止せずにCreate Image(EBS AMI)する方法を応用すれば、同じようなことができるのですが、面倒なんですよね。たくさんのコマンドをたたかないといけなかったり、手順を間違えるとうまく起動しなかったり。手間をかけた分失敗するとかなり残念な気持ちになります。

AWS Management Console | アマゾン ウェブ サービス(AWS 日本語)だと、ボタンワンクリックでコピーが始まるのですから、使わない手はありませんね。

それでは早速試してみたいと思います。
続きを読む »

Amazon EC2でInstanceをLaunchした時に、Status Checkの結果が1/2 checks passedなどになる場合には、起動時にKernel IDの指定をするといいかもしれません。
※ 本エントリはたまたまそうなった事象について記載していますが、必ずしもすべての場合でこうなるとは限りませんのでご了承ください。

というのも、いつからか、とあるInstanceをLaunchすると必ずStatus Checkが1/2 checks passedになるようになってしまいました。

Amazon Web Serviceのフォーラムに同じ事象AWS Developer Forums: micro instance …が投稿されており、「Kernel IDの指定が間違っているのでdefaultを指定してください」といったような回答となっていました。
続きを読む »

昨日(2011年11月20日)、株式会社パソナテックさん主催のFacebookモバイルアプリ on AWSクラウド ~ハンズオン&ハッカソン~に参加してきました。

講師には、アマゾン データ サービス ジャパン株式会社のエバンジェリスト @KenTamagawaさん、株式会社gumiのCTO @horiuchiさんを迎え、そして、参加者には、クラスメソッド株式会社@sato_shiさんや、Androidアプリ toneconnectで有名な@kabayanさんがいたりして、蒼々たるメンバーの中開催されました。

今回のハッカソンはFacebookモバイルアプリということで、スマートフォン向けのNativeアプリでも作るのか?AWSを絡めて何をやるんだろう?という好奇心から、前日に思い立って参加登録しました。

実際は、Amazon EC2インスタンスを用いたモバイルWebアプリ開発が中心の内容でした。もちろん、Nativeアプリを作っても問題ないのでしょうけど、ちょっと盛りだくさん過ぎますよね(運営側も、参加者側も)。

ということで、ノープランで参加したわけなのですが、AWSとFacebookのJavaScript SDK – Facebook開発者での開発。これだけでも十分盛りだくさんで、全くの未経験だったとしたら、AWSのサインアップぐらいで終わってたかもしれません…
続きを読む »

8月末頃、Apacheの脆弱性をつくApache Killerが話題になりました。
Apache HTTP Serverの脆弱性を突く「Apache Killer」――パッチは48時間以内にリリース予定 – SourceForge.JP Magazine : オープンソースの話題満載

8月31日には、その脆弱性の対応版、バージョン2.2.20がリリースされました。
「Apache Killer」対策を行った「Apache HTTP Server 2.2.20」公開 – SourceForge.JP Magazine : オープンソースの話題満載

ただ、2011年9月6日時点では、Amazon EC2のAmazon Linux AMIのパッケージはアップデートされていませんでした。
AWS Developer Forums: Amazon Linuxのapacheセキュリティパッチ対応について …

Amazon Linux AMIとは、Amazon Management Consoleで「Launch Instance」する際に表示される、AWS版のLinuxイメージです。
続きを読む »

前回のエントリで、Amazon S3ホスティングを試してみました。今回は、CloudFrontを試してみましたので、その手順を簡単にまとめておきたいと思います。

CloudFrontとは、Amazon Web Serviceの提供するコンテンツ配信のサービスです。Amazon S3と併用して使います。CloudFrontでは、まず、一度アクセスされたS3のオブジェクトをエッジサーバーにキャッシュします。以降のアクセス時にはそれを利用するため、比較的容量が大きく、頻繁にアクセスされるようなコンテンツに最適です。
※ キャッシュには有効期限があり、期限がきれると再度、S3からオブジェクトを取得してエッジサーバーにキャッシュします。

詳しくはこちらをどうぞ

当初、Amazon S3ホスティングを試してみるで試したStray ChildでCloudFrontを利用しようと思っていましたが、Stray Childはアクセス数も少なく、その大部分をGoogle Mapsが占めているのでやめました。その代わりに、一応世界中からアクセスのあるgTranslatorの案内ページや、ブログなどで画像やサンプルソースなどを配信している、当サイトの一部にCloudFrontを利用することにしました。
続きを読む »

Amazon S3はその名の通りストレージサービスですが、静的コンテンツ(html、css、js、画像、swf、などなど・・・)のみのWebサイトのホスティングができるようになりました。

これを利用しない手はありません。

そういえば、約2年前に開発した、ブラウザのGPS機能とGoogle Mapsを利用して今いる場所の住所を表示するというWebアプリケーション、Stray ChildがHTML5の機能を利用した静的コンテンツのみのWebアプリケーションなので、これを機に、S3ホスティングに移行してみました。

移行したのは、地図画面と履歴画面の2つです。
※ 案内ページを除くと、Stray Childには、この2つの画面しかありません。

移行した手順を簡単にまとめます。
※ Amazon S3へのSign upが完了していることを前提にしています。
続きを読む »

Root Device TypeがEBSのInstanceを停止せずにCreate Image(EBS AMI)する方法で、運用中のInstanceからEBS AMIを作成しました。

このAMIを使ってInstanceを立ち上げれば、運用中のInstanceとまったく同じ環境のサーバを立ち上げることができます。そして、WordPressやそのプラグインのアップデートを、本番サーバに切り替える前に、事前に動作確認をすることができるので、

使用中のテーマなどが対応していなかったりすると、不用意なバージョンアップでデザインが崩れたり、最悪は画面が表示されなかったりするかもしれません。

という懸念も無くなります。

実際に試してみたので、手順をまとめておきたいと思います。
続きを読む »

当サイトをAmazon EC2 Micro Instancesで運用開始してから、4ヶ月がたちました。
Instanceは「Root Device Type」が「ebs」のAmazon Machine Image(AMI)をlaunchしています。
Amazon EC2 Micro Instancesでの運用を開始しました

4ヶ月もたつとWordPressがバージョンアップしたり、導入中プラグインがバージョンアップしたりで更新が必要なものがいくつか出てきます。特に、脆弱性の対応がされたものなどはいち早く導入したいものです。

ですが、使用中のテーマなどが対応していなかったりすると、不用意なバージョンアップでデザインが崩れたり、最悪は画面が表示されなかったりするかもしれません。

これは、極力避けたいです。
続きを読む »