ラベル AWS の投稿を表示しています。 すべての投稿を表示
ラベル AWS の投稿を表示しています。 すべての投稿を表示

2013年5月16日木曜日

[AWS]RDSのmult-AZは無料使用枠に収まらない

ということなので、無料で使いたい人は、multi-AZは使用しないようにしましょう。

750 時間の Amazon RDS Single-AZ マイクロ DB インスタンスの使用(MySQL、Oracle BYOL または SQL Server(SQL Server Express Edition を実行中)の実行用) - DB インスタンスを毎月継続的に実行するのに十分な時間

http://aws.amazon.com/jp/free/

また、AWSを使用する人は、価格が従量制であるが故、こまめにAccount Activityで値段を確認したほうがいいです。

2013年5月15日水曜日

[AWS]Route53とoutlook.comで独自ドメインメールを使う

outlook.comでは、google Apps等とは違い、独自ドメインでのメール利用を無料で提供できるので、使用した。
なお、同ドメインのWEBサーバはAWS上に配置しているので、DNSはRoute53を使用することにした。

※事前に独自ドメインを取得して下さい。


基本的には以下サイトに沿って進める。

1.【Google Apps(無償版)難民救済企画】Outlook.comで独自ドメインメールを無料運用してみたよ(Gmailへの転送もOK)

ただし、ムームーDNSの設定は行わずに、Route53で設定を行う。
以下サイトの<メールの設定>のみ行う。他の作業はしなくてよい。
2.Amazon Route53をWindows Live独自ドメイン用のDNSサーバーとして利用する ~基本設定~

この設定が終わったら、1のサイトの「ムームーDNS」設定後の作業から行えば、メールの送信が行えるようになる。

2013年5月8日水曜日

[AWS]CakePHP+Elastic Beanstalk+Route53+ムームードメインで独自ドメインを使用する方法

ムームードメインのDNSサーバを使用することもでるが、AWS内のサービスで完結できるものはしておいたほうが、よさそうなので、Route53を使うことにした。
あと、Route53だとwwwなしの短いURLアクセスできるようにできるとのこと。(ここここ参照)

1.事前作業

・ムームードメインでの独自ドメインの取得
・Elasctic Beanstalkでの環境構築

2.Route53での設定

参考URL1と2に書いてありますが、以下の流れ。

①Hosted Zoneの作成(Create Hosted Zoneボタンから)

②Record Setの作成(以下の2レコードを作成)
  ・www無し(Nameに何も入れない)
  ・www有り(Nameに'www'と入力)
※Alias Targetは対象環境のELBのA Recordを指定

③4つのネームサーバーを控えておく。
  Record SetsのType列が'NS'である行の'Value列'に入った4つのサーバ名

これでRoute53側の作業は終わり

3.ムームードメインでの設定(レジストラのネームサーバー情報を更新する)

①コンパネ→ドメイン操作→ネームサーバ設定変更というように遷移する。

②「取得したドメインで使用する」を選択し、Route53で控えた4つのネームサーバを入力し保存する。

 ※注意点としてRoute53でコピーした段階ではネームサーバ名の最後にドットが付くが、本手順で   入力する際にはそのドットを削除すること。そうじゃないと、エラーとなって保存されない。

   ex aaaa.awsdns-99.net. →  aaa.awsdns-99.net

③ 15分程度待つと、あなたの独自ドメインにwww有りと無しの両方でアクセスできるようになる。

 4.CakePHPの設定

ここからは参考URL5,6,7参照のこと。
 この段階では、www有りと無しの両方のURLでアクセスすることができる。しかし、SEO的にはどちらかに統一したほうがよいとされている。(こことかで

個人的には短いほうがすきなので、www無しに統一する。

ということで、CakePHP内の.htaccessをいじる。

CakePHPのディレクトリ内には.htaccessがたくさんあるが、どれをいじればよいのかは、どうやら環境によって違うようだ。

参考URL7によると、DocumentRootが設定されている値に依存するようだ。

自分の場合は、[cakephpが入るフォルダ]/app/webroot/直下の.htaccessをいじったら、挙動が変化したので、これをいじっていった。 [cakephpが入るフォルダ]直下の.htaccessをいくらいじっても挙動は変わらなかった。
以下が変更後の状態。(当然mydomainやmydomain.jpはあなたのものに置き換えてね)
3~4行目は、URLにwwwがある場合は、 無しにする部分。
5~6行目は、 ElasticBeansTalkにデフォルトで付与されるURLにアクセスされた場合も、独自ドメインのURLに変更するようにした。
この設定の良いところは、本番環境以外では動作しないところ。つまり、本番環境と開発環境で同じソースを使用できる。開発環境では、www有りとか無しとか考えなくていいからね。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$  http://%1/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^mydomain\.elasticbeanstalk\.com$ [NC]
    RewriteRule ^(.*)$  http://mydomain.jp/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule> 

<豆知識>
'%1'はどうやら直近のRewriteCondで正規表現パターン(丸括弧でかこまれた部分)にヒットしたものが入るっぽい。
'$1'はおそらくRewriteRuleの一つ目の正規表現パターンにマッチした部分がはいるっぽい。'$2'は二目の正規表現パターンにマッチしたもの。
Apacheって奥深そう!

[参考URL]
1.Using Custom Domains with AWS Elastic Beanstalk
2.How to Create Alias Resource Record Sets
3.営業でも簡単!Route 53の基本設定
4.Elastic Beanstalkで立ち上げたアプリにRoute53経由で独自ドメイン(サブドメイン無し)を割り振る
5.How to make a 301 redirect for incomming requests from non-www to www in CakePHP
6.Generic non-www to www (and vice versa) 301 redirect using .htaccess
7.Redirect www to non-www

2012年12月26日水曜日

[AWS]EC2 Command Line Toolsを導入した。

以下を参照してできました。(英語)
 
Setting Up the Amazon EC2 Command Line Tools

ただ、Windows XPでやっていますが、コマンドプロンプトでsetxが使えなかったので、
環境変数の設定はGUI、「システムのプロパティ」→「環境変数」で行いました。

また、環境変数のパスをクオテーションで囲む場合、シングルでやるとだめで
ダブルクオテーションだといけました。