日々学んだことを残しておこう。きっと未来の自分が探しにくる。 (ただ忘れっぽいだけです…)

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-------- : スポンサー広告 :
Pagetop

Amazon S3でWebサイトを設置する方法


今まで、さくらインターネットでWebサイト設置していたけど、言うほど、MySQLやPHPを使いまくっていなかった。
いっそのこと、メールフォーム等もなくして、Webサイトを静的ファイル(html,js,css)のみにしてS3で運用してみることに。

通常S3はクラウドストレージサービスなので、違和感あると思いますが、設定変えるだけで、できるんですね。EC2を使用するより全然安いのが良いところです。

参考にしたサイトはこちらです。

(参考サイト)
月額10円〜 - Amazon S3でウェブサイトをホスティングする方法
↑見ればできますけど、ちょっとつまった部分もあったので、メモ残しておきます。

Webサイト用バケット作成


AWSコンソール

S3

[Create Bucket]

使用するWebサイトのトップページを「http://www.abc.com/」にする場合で書いていきます。
[Bucket Name]をwww.abc.comで作成。
[Region]はお好きなところ。私は、Tokyo。
[Create]

ここで、ログ出力したかったことに気がつく。。。
でも、あとで設定できました。
バケット名を右クリック、[Properties]

[Logging]
[Enabled]にチェック
[Target Bucket]にログ用バケットを指定
[Target Prefix]にサブフォルダ名みたいなものを指定
Save
ちなみに、ログファイルが書き込まれるのは、XX時15分くらいだそうです。1時間に一回程度S3に出力されるらしい。
(参考サイト)
s3でアクセスログを取得する

Webサイトホスティングの設定


Webサイトホスティングの設定をします。

[Static Website Hosting]選択

[Enable website hosting]選択
[Index Document]にトップページのhtmlファイルを指定。トップページが、http://www.abc.com/index.htmlの場合、index.html。
[Error Document]にエラーページのhtmlファイルを指定。http://www.abc.com/404.htmlの場合、404.html。これは、お探しのページは見つかりませんでした。みたいなページのことです。
[Save]クリック。

バケットポリシーをWebサイト用にする。
デフォルトでは、非公開設定になっているので、Webサイトに適したポリシーにします。
要は、全員からアクセスできて、アップロード等できなくさせておく感じです。
バケットポリシーを設定すると、一つ一つのファイルをMakePublicみたいにしなくて、アップロードするだけで、公開設定になります。
バケット名右クリック、[Properties]

[Permissions]
[Add bucket policy]

最初見るとげって思うけど、JSON形式です。
以下のJSONを貼り付けます。
{
"Version":"2008-10-17",
"Statement":[{
"Sid":"PublicReadForGetBucketObjects",
"Effect":"Allow",
"Principal": {
"AWS": "*"
},
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::www.abc.com/*"
]
}
]
}

注意点は"Resource":["arn:aws:s3:::www.abc.com/*"のところに作成したバケット名を記入することです。
バケット名www.abc.comの場合だと↑みたいに書きます。

下部のところにある、[Sample Bucket Policy]に2つ目の[Granting Permission to an Anonymous User]と同じですよね。
色々ブログ見ていたら、"Sid":"PublicReadForGetBucketObjects"のと、"Sid":"AddPerm"があってどっちなんだ~と思っていたけど特にどちらでも良さそうですね。

[Sava]クリック

Webサイトhtmlデータのアップロード


Webサイトのファイル一式アップデート。index.htmlとかを作成したバケットにアップデートします。
バケット名クリックして、[Upload]でアップロードします。
サブフォルダとかいっぱいあってめんど臭い場合、[Add Files]の2つ横にある、[Enable Enhanced Uploader (BETA)]を使うとサブフォルダあっても一式まるっとアップロードできます。
アップロードできました。

エンドポイントを取得します。
バケット名右クリック、[Properties]

[Static Website Hosting]

3行目くらいにこんな感じで書いてあるはず。
Endpoint: www.abc.com.s3-website-ap-northeast-1.amazonaws.com
ブラウザで以下のurlをたたくと、「http://www.abc.com.s3-website-ap-northeast-1.amazonaws.com」先ほど設定したトップページindex.htmlにジャンプするはずです。

オリジナルドメインに変更(CNAME設定)


まっ、http://以下にwww.abc.comって書いてあるけど、それ以下がいかにもS3ですよって感満載。
AWS知らないユーザからすると、怪しそうって思われるくらい長い。。。
そこで、オリジナルドメインに変更。abc.comを取得している前提で説明。
(しかも、今までさくらインターネットでWebサイト使っていてS3に乗り換えようとしたレアな方用です)
一般的にいうとCNAMEの変更って一言かもしれないけど

さくらインターネット会員メニューにログイン

契約情報

ドメインメニュー

変更するドメイン(abc.com)のゾーン編集

変更ボタンクリック

エントリ:www
種別:別名CNAME
値:www.abc.com.s3-website-ap-northeast-1.amazonaws.com
DNSチェック:する
TTLの指定:チェックしない
変更クリック

これでhttp://www.abc.com/にアクセスすると、S3上のWebサイトにジャンプするはず。


ちょっと前までは、wwwみたいなサブドメインつけないといけなかったのですが、最近ルートドメインでもOKになったようです。
こちらのやり方で、できますね。

(参考サイト)
【AWS発表】Amazon S3にてルートドメインでWebサイトをホストできるようになりました!

S3のログファイルどうこうっていうのは、長文になったので、今度書くことにします。
関連記事

2013-05-09 : AWS : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

広告

読みたいと思っている書籍

Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく Amazon Web Services 定番業務システム12パターン 設計ガイド イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書) イラストで学ぶ ディープラーニング (KS情報科学専門書)

カウンタ

メールフォーム

名前:
メール:
件名:
本文:

GoogleTranslate

管理人のつぶやき

人気記事ランキング

カテゴリ

openclose

ブログ内検索

全記事表示リンク

全ての記事を表示する

ブログパーツ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。