🌸

【AWS】S3バケットを作成してコンテンツを公開しよう(ハンズオン)

2022/01/25に公開

S3とは?

Simple Storage Serviceの略で、耐久性の高いストレージサービス。色々と異なる点はありますが、ざっくりGoogleドライブと同じようなもの、とイメージしてもらえばOKです。

ただしS3には、Googleドライブのようなストレージ機能だけではなく、一定期間データを保管したら削除したりより低価格なストレージに移動することができる「ライフサイクル機能」や、HTMLでできた静的サイトを公開できる「静的Webサイトホスティング機能」などもあります。

他にもさまざまな機能があるので、気が向いたらポチッとリンクを押してみてください。
※リンクをクリックするとAWS公式サイトへ飛びます。

S3の主な機能

ハンズオン|S3バケットを作成してコンテンツを公開しよう

ここからは、S3バケットを作成してオブジェクトを公開するところまで行っていきます。

手順
  1. S3バケットを作成する
  2. S3バケット内にフォルダを作成する
  3. S3へコンテンツをアップロードする
  4. バケットポリシーを変更してコンテンツを公開する

完成形は以下のようになります。

では、さっそく始めていきましょう。

1. S3バケットを作成する

はじめに、データを入れる箱(バケット)を用意します。

S3のダッシュボードを開き、[ バケットを作成 ] をクリックします。
ここでバケット名を入力しますが、バケット名は世界中でオンリーワンである必要があるため、被らない名前を入力してください。

また、デフォルトではパブリックアクセスが全てブロックされていますが、今回はコンテンツを公開したいため、[ パブリックアクセスを全てブロック ] のチェックを外しておきましょう。

他はデフォルトのままでOKですので、そのまま [ バケットを作成 ] をクリックします。

2. S3バケット内にフォルダを作成する

次に、バケット内にフォルダを作成します。

1で作成したS3バケットを選択後、[ フォルダの作成 ] をクリックします。
フォルダ名(こちらは名前が被っても大丈夫です)を入力し、[ フォルダの作成 ] をクリックしてください。

3. S3へコンテンツをアップロードする

では、いよいよS3へコンテンツをアップロードします。

2で作成したフォルダを選択後、[ アップロード ] をクリックします。
[ ファイルを追加 ] を選択後、動画でも画像でもファイルでも何でも構いませんので、[ アップロード ] をクリックします。

アップロードしたコンテンツをクリックすると、「オブジェクトURL」というものが出来上がっていると思います。
こちらが、コンテンツにアクセスするためのURLとなります。

4. バケットポリシーを変更してコンテンツを公開する

ここまででコンテンツをアップロードすることができましたね。

しかし、現時点ではアクセスしても"Access Denied"と拒否されてしまいます。そのため、正常にアクセスできるようバケットのポリシーを変更していきましょう。

1で作成したバケットを選択後、[ アクセス許可 ] タブをクリックします。
少し画面をスクロールすると [ バケットポリシー ] という項目があるので、バケットポリシーの [ 編集 ] をクリックします。

ポリシーはJSON形式で編集することができますので、デフォルトのポリシーを以下のように変更してみてください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "BUCKET_ARN/*",
            "Principal": "*"
        }
    ]
}

修正できたら、[ 変更の保存 ] をクリックします。

では、再度アップロードしたコンテンツへアクセスし、オブジェクトURLをクリックしてみてください。
今後はちゃんと見ることができるはずです。


ハンズオンは以上となります。
必要ない場合は、最後にフォルダとバケットの削除を忘れないようにしてくださいね。

Discussion