S3オブジェクトを公開してみた

S3でバケット作成→オブジェクト登録から、インターネット経由で閲覧、までの記録です。
AWS初学の方向けの記事となっておりますので、ご了承くださいませ。

また、誤っている点があれば、コメントをいただけますと幸いです:pray_tone1:

※本記事は2020年9月29日時点の情報です。

# 全体フロー
以下のフローで実施していきます。

* バケットの作成
* オブジェクトの登録
* 公開の設定・確認

バケットとオブジェクトを作成して、その後公開の設定を行います。
（バケットはフォルダ、オブジェクトはファイル、と考えるととても親しみがもてました）

また、S3はオブジェクト毎にURLが付与されるため、公開設定をすればインターネットを経由して誰でも閲覧することができます。(サーバでマウントしてexportしなくても良い:couplekiss:)

# バケットの作成
まずはじめに、S3バケット(フォルダ的なもの)を作成します。

AWSマネジメントコンソールから、「S3」と検索し「S3マネジメントコンソール」に移動します。

|![img 2020-09-29 9.14.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/27e64783-e464-0f45-6808-47130311d75d.png)
|:-:|

S3マネジメントコンソールより、「バケットを作成する」を選択し、バケットを作ります。
すでにバケットを作成している場合は、下の画面のようにいくつかバケットが表示されます。

|![img 2020-09-29 9.20.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/429a65df-2a1b-be8b-d6b9-b6cb75798100.png)
|:-:|

バケットの作成画面で「バケット名」を入力します。
バケット名は一意である必要があるため、作成日を付与すると一発で作成しやすいです。

|![img 2020-09-29 9.21.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/412a943e-7cfa-f8b4-2d54-a6179e8d86c7.png)
|:-:|

そのほかは全てデフォルトで「次へ」を選択します。
以降のページも全てデフォルトのままです。参考に画面だけ掲載させていただきます

(2枚目・・デフォルト設定のまま)

|![img 2020-09-29 9.21.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/5b8b2520-2537-7b1c-cec0-58dd7f4ecd70.png)
|:-:|

(3枚目・・デフォルト設定のまま)

|![img 2020-09-29 9.21.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/a4b6f944-9e0b-e7be-9ca1-f59a9ec56bca.png)
|:-:|

(4枚目・・デフォルト設定のまま)
最後に「バケットを作成」を選択します。

|![img 2020-09-29 9.21.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/66c4c9e6-e2c5-9034-bd40-0307ee3ac220.png)
|:-:|

ここまででバケットの作成が完了です。
S3マネジメントコンソールに作成したバケットが表示されているはずです。

# オブジェクトの登録
バケット(＝フォルダ)ができたので、中身のオブジェクト(=ファイル)を登録していきます。

作成したバケット名をクリックして、オブジェクトの登録を行っていきます。

|![img 2020-09-29 9.23.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/0fc93bf7-b742-3831-b3bc-465bf57dfe9a.png)
|:-:|

「アップロード」を選択して・・

|![img 2020-10-02 21.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/127082da-8fe5-fd0f-41f8-bb84c9d1b333.png)
|:-:|

「ファイルを追加」を選択します。
ダイアログ画面が表示されるので(見られても良い)ファイルを選択します。

|![img 2020-09-29 20.58.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/40971b17-8c81-f223-14d6-cec7b0e1811c.png)
|:-:|

画面に選択したファイルが表示されるので、「次へ」を選択します。
以降、デフォルトのまま「次へ」を選択していきます。

|![img 2020-09-29 20.59.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/fce3fc38-f729-2066-1f22-73e5faa58ff8.png)
|:-:|

「次へ」
パブリックアクセス権はデフォルトでは無効となっていますので、後ほど設定していきます。

|![img 2020-09-29 21.00.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/de71856d-6b78-6f93-69a7-08ba286f4da7.png)
|:-:|

「次へ」
S3のタイプです。文末で補足させて頂いております。

|![img 2020-09-29 21.00.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/c7da77ad-9dca-8b25-047d-69110c3e4315.png)
|:-:|

「次へ」
スクロールしてデフォルトのまま進めます。

|![img 2020-09-29 21.01.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/7aebfd7c-eac0-ef74-d019-74a3330a5e40.png)
|:-:|

最後に公開するファイルを再度確認し、「アップロード」を選択します。

|![img 2020-09-29 21.01.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/fd0e11d7-7a5a-a6e6-0027-53a22d9026a3.png)
|:-:|

ファイルがアップロードされたことが確認できると思います。

|![img 2020-09-29 21.01.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/4c4e33b9-e1e6-a7cd-34a5-aa7610b80c9a.png)
|:-:|

# 公開の設定・確認
ここまでで、バケット(＝フォルダ)を作成し、中身のオブジェクト(=ファイル)を登録するところまで完了しました。
なので、次は公開の設定を行います。

バケット(=フォルダ)のアクセス設定を変更して、オブジェクト(=ファイル)を公開します。

公開設定後は、オブジェクト毎に付与されるオブジェクトURLを用いることでインターネット経由での閲覧が可能となります。

試しに、現在の状態でインターネット経由でアクセスしてみます。
(デフォルトで設定のため、パブリックアクセス無効となっており、アクセスはできません)

作成したオブジェクトの左側にチェックボックスがあるので、選択すると「オブジェクトURL」が表示されます。

|![img 2020-09-29 21.05.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/ee023b26-4d6b-b793-eab3-803aedc559d3.png)
|:-:|

「オブジェクトURL」のリンクをクリックしますと・・

|![img 2020-09-29 21.05.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/4b81dcbd-3e25-e736-5011-206ea5f2a5e7.png)
|:-:|

「AccessDenied」となり、フツーにアクセスできません。

なので、公開の設定をして、実際にアクセスできるようにしていきます。

## バケットのパブリックアクセス設定
まずは、バケット(=フォルダ)のパブリックアクセス設定を行います。

バケット(=フォルダ)に対する設定変更なので、バケットの中身が表示されている画面であることを確認し、「アクセス権限」のタブを選びます。

|![img 2020-09-29 21.06.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/f70dfaa8-cf15-a0e7-0f5b-0cabeccbd53e.png)
|:-:|

現在の設定は「パブリックアクセスを全てブロック」となっていますので、これをやめるため、「編集」を選択します。

|![img 2020-09-29 21.06.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/90052a1f-a644-4727-932b-874a0c467923.png)
|:-:|

「パブリックアクセスをすべてブロック」のチェックを外し、「保存」を選択します。

|![img 2020-09-29 21.06.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/144c9fc9-5ea8-d8c4-0abd-761036f202d7.png)
|:-:|

「確認」と入力をせよ、とのことなので入力します。

|![img 2020-09-29 21.06.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/0b7cf35e-d1e0-ad16-4dab-18ad08fa547f.png)
|:-:|

これでバケットの公開設定は完了です。

## オブジェクトの公開設定
バケット(=フォルダ)のパブリックアクセス設定が終わったので、オブジェクト(=ファイル)の公開を行います。

オブジェクト名の左脇のチェックボックスにチェックを入れ、「アクション」から「公開する」を選択します。

|![img 2020-09-29 21.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/a1e266c0-c224-ccc0-427f-7ff508a1bb0a.png)
|:-:|

もう一回「公開」を選択すれば完了です。

|![img 2020-09-29 21.09.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626270/0705bc7b-879e-1c90-6b2f-4533f84f3bb2.png)
|:-:|

オブジェクトURLをクリックすると、インターネット経由で閲覧できることが確認できると思います。
今回はここまでで完了となります。

# 補足
オブジェクトをアップロードする際のストレージタイプについて補足です。
（下にいくにつれ安価）

|タイプ|特徴|耐久性|
|----|----|----|
|スタンダード|汎用型、高頻度アクセス向け|複数AZに跨っており、かつ耐久性99.999999999%(9が11個でイレブンナイン)|
|インテリジェントな階層化|高頻度用と低頻度用にアクセス階層が分けられ、３０日間アクセスのないオブジェクトは低頻度アクセス層へ自動移動、アクセス頻度が不明な場合に便利|スタンダードと同等|
|標準IA   |低頻度用(InfrequentAccess)、災害対策用のDRサイト等に有用、データ読み出し量に対し課金   |スタンダードと同等   |
|1ゾーンIA   |低頻度用、複数AZに跨らないため可用性は落ちる、重要でないデータ向け   |一つのAZのみであるため可用性はスタンダードと比べ少し落ちる、耐久性９９.５％   |
|Glacier   |データ抽出にコストと時間がかかるが安い、バックアップ保存先向き   |スタンダードと同等   |
|Glacier Deep Archeive  |1-2回しか使用しない長期(7-8年)データ保管向け、一番安い   |スタンダードと同等   |

# 参考文献

+ [Amazon S3 ストレージクラス](https://aws.amazon.com/jp/s3/storage-classes/)
+ [参考資料1：これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（SAA-C02試験対応版](https://www.udemy.com/course/aws-associate/)
+ [参考資料2:AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88-NRI%E3%83%8D%E3%83%83%E3%83%88%E3%82%B3%E3%83%A0%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE/dp/479739739X/ref=pd_lpo_14_t_1/358-1014912-5412737?_encoding=UTF8&pd_rd_i=479739739X&pd_rd_r=e9121052-1c5f-4b6e-8d39-6624f023efa2&pd_rd_w=t2QEL&pd_rd_wg=O1VBK&pf_rd_p=4b55d259-ebf0-4306-905a-7762d1b93740&pf_rd_r=XK4BJVCRQXTR3F4RZGXT&psc=1&refRID=XK4BJVCRQXTR3F4RZGXT)

以上、長々とお付き合いいただきありがとうございました。