LoginSignup
0
0

More than 3 years have passed since last update.

はじめてのS3(AWS)での接続+静的ページ(static host)の公開まで

Posted at

今日のゴール

S3上で、サーバーレスで静的ページ公開を目指します

S3との接続まで

AWSへのコンソールへサインインしたら、
S3の画面へ遷移

image.png

バケットを作成する

バケットを作成するをクリックした画面で、
バケット名を好きな名前で入力する。

注意点としては、AWS上で一意である必要があります。

その後も、オプションの設定、アクセス許可の設定と続きますが、
現段階では、何もいじらずにバケット作成までクリックします。

おめでとうございます!これで、バケットが作成されました!

image.png

ただし、現段階では、このストレージは、
一般公開されておらず、誰もアクセスできないので、公開可能な設定をしていきます。

公開の為の設定をする

作成したバケット名をクリックすると、右側にプロパティなどが含まれたエリアが表示。

image.png

Static web hostingの準備

プロパティの管理画面へ遷移するので、Static website hostingをクリックします

image.png

現段階で、エンドポイントへアクセスすると404となる
※何もファイルがないのだから当然である。

このバケットを使用してウェブサイトをホストするを選択と、
下記のような、設定画面になります。

image.png

基本的な設定をする為に、
インデックスドキュメント、エラードキュメントを
それぞれindex.html, error.htmlとして設定する

これで、静的Webサイトを公開する準備はできたので、再びエンドポイントへアクセスすると
404から403 Forbiddenへステータスが変化したことがわかる。

image.png

まだ、index.htmlをs3にアップロードしていないこともあるが、
そこへのアクセス権限が設定されていないことが課題。

つづいて、アクセス権限の設定をしていきます。

アクセス権限の設定

アクセス権限のタブをクリックし、設定画面へ遷移し、編集をクリックします

image.png

↓編集

デフォルトでは、すべてのパブリックアクセスをブロックがオンとなっているので、
チェックを外し、パブリックアクセスを許可し、保存します。
※パブリックは推奨しないとか言われますが、今回の目的であればオフにして大丈夫です。
(本来はポリシーやACLで適切に設定すれば、よいかと)

image.png

続いて、バケットポリシーを選択

image.png

バケットポリシーエディタに下記のように設定

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::(backet name)/*"
            ]
        }
    ]
}
name summary
Principal リソースへのアクセスを許可または拒否する対象を入力します。今回は*となっているので、全てのユーザということになります。
Action 許可を与える操作を指定します。GetObject操作を許可したいのでs3:GetObjectと入力しています
Resource 許可を与えるバケットを指定します

表示確認

設定が保存できたら、
今回作成したバケットに、適当なindex.htmlをアップロードし、表示確認できたら終了です!

image.png

おつかれさまでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0