AWS でリダイレクトを Metadata で実現する
AWS の S3 を Static website hosting で公開している場合、リダイレクトを実現するには Redirection rules
を使うのが一般的かも知れません。Redirection rules
設定には「アクセスされたプロトコル(HTTP or HTTPS)を見分けて、リダイレクト先のプロトコルを変更する」ということは出来ないように思います。そもそも現状の S3 単体の静的ホスティングには「HTTP のみ」という制限があるので、S3 単体で使っている場合には不便が無いかも知れません。しかし、CloudFront の Origin に S3 を指定している場合は「HTTP でアクセスされた場合は HTTP へリダイレクト」「HTTPS でアクセスされた場合は HTTPS へリダイレクト」と、アクセスされたプロトコルを見分けてリダイレクト先を変更したいかも知れません。こういった場合は(Redirection rules
では無く)S3 Object の Meatadata
を使ってリダイレクトを実現することが可能です。
GUI から設定する¶
Metadata
を GUI から設定するには Management Console へログインし、リダイレクトを設定したい S3 Object へアクセスします。そこから Metadata
をクリックします。
Add Metadata
して Website-Redirect-Location
という Key を追加し、Value にはリダイレクト先 URL を設定します。
CLI から設定する¶
CLI から以下のパラメータでリダイレクトを設定する場合について考えます。
値 | 意味 |
---|---|
BUCKET-NAME | S3 Bucket 名を指定する |
REDIRECT/FROM.html | リダイレクト元 URL |
/REDIRECT-TO.html | リダイレクト先 URL |
具体的には以下のように実行します。
1 |
|