堅牢なAWS S3でブログを公開する。まずは、普通にファイルをアップロードできるようにするまで。
思うに、下手なブログ(このブログのこと)を見るよりは、↓こちらを熟読されたし…自分もこの手引きを元に進めた。
Amazon Simple Storage Service の使用開始 - Amazon Simple Storage Service
もしくは↓のサイトもためになる。
AWS S3 のバケットに独自ドメインを割り当てて、静的ファイルをホスティング – Gatespace’s Blog
- Amazon S3 へのサインアップ
- バケットの作成
注意点は、静的ウェブサイトホスティングの設定、 インデックスドキュメントにindex.html
を設定する。これをしないと、example.comに遷移しようとしても、example.com/index.htmlを見に行かず、アクセスエラーとなってしまう。この設定はサブディレクトリまで有効となる。
アクセス許可のバケットポリシーでは、手引きどおりに設定する。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::arimasou16.com/*"
}
]
}
Versionは変更してはいけない、設定できる Versionは決まった年月日のものだけ。
それから、 www.example.comに遷移してきた場合もexample.comを参照するように、www.example.comのバケットを作成し、静的ウェブサイトホスティングの設定を、[x] 別のホスト名にすべてのリクエストをリダイレクトするにする。
- アクセスキーID とシークレットアクセスキーの取得
セキュリティー認証情報のメニューからアクセクキー作成をする。
キーファイル(rootkey.csv)をダウンロードして、アクセスキーID(AWSAccessKeyId)、シークレットアクセスキー(AWSSecretKey)の内容を確認する。そして、S3にアップロードするためのコマンドs3cmd
をインストールする。
sudo apt -y install s3cmd
そして、設定。s3cmd --configure
。
arimasou16@Lemur:~$ s3cmd --configure
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.
Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
Access Key: XXXXXXXXXXXXXXXXXXXX
Secret Key: abcdefABCDEFG1234567890abcdefABCDEF12345
Default Region [US]: Tokyo
Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: password
Path to GPG program [/usr/bin/gpg]: /usr/bin/gpg
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [Yes]: Yes
On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name:
New settings:
Access Key: XXXXXXXXXXXXXXXXXXXX
Secret Key: abcdefABCDEFG1234567890abcdefABCDEF12345
Default Region: Tokyo
Encryption password: password
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0
Test access with supplied credentials? [Y/n] Y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)
Now verifying that encryption works...
Success. Encryption and decryption worked fine :-)
Save settings? [y/N] y
Configuration saved to '/home/arimasou16/.s3cfg'
arimasou16@Lemur:~$
s3cmd
の使い方は、
s3cmdのコマンド一覧 | オブジェクトストレージなどを参照。
始めは、それこそルートファイルindex.htmlでも転送してみて、アクセスが正しくできるか試す。アップロードしたファイルのプロパティのリンクをクリックし、表示できるか確認する。