[AWS]S3_ストレージを使う

Webサービスを立ち上げる上でストレージは重要です。
例えばこのWordPressも記事を書くたびに複数の画像をアップロードしていますよね。
長期間運用を続けていくといずれリソースは枯渇してしまいます。しかしAWSのS3というサービスを使えば、簡単にクラウド上にストレージを用意することができるようです。

 

バケットを作成する


AWSではS3というクラウドストレージサービスがあります。
私のように初めて立ち上げる場合にはサービス一覧の「ストレージ」の項目にある「S3」を選択してみましょう。


開くとチュートリアルを受けることができます。
今回はドットインストール先生から大まかな機能を予習済みなので、このまま「バケットを作成する」を押します。


バケットの作成では、他の人と名前の被らないバケット名を設定します。
ドットインストール先生はドメインを使うと良いとのことですので、今回は「test.rappy-mohumohu.games」と作成します。
独自のドメインを割り当てたい場合には、そのドメイン名をつけておく必要があるそうです。

次へ進むと、バージョニングやアクセスログの設定が出てきます。
今回は練習のためすぐにサービスを止める予定ですので、初期設定から弄らずに次へを押します。


アクセス権限の設定では、アクセス可能なAWSのユーザー設定と、外部からのアクセス設定を行うことができます。
S3にアップロードした画像やファイルを他のサービスで引っ張ってくるような用途もあると思うので、パブリックアクセスを許可しておきます。
最後に設定確認画面で問題が無ければ「作成」を押します。細かな設定は後からでも自由に変更できますので、今回は大雑把に作成してしまっても問題ないでしょう。


ということでバケットが無事に作成されました。

 

ファイルのアップロード


作成されたバケットをクリックすると、よくあるクラウドストレージサービスのような画面が表示されました。左上にあるアップロードボタンを押すか、ブラウザ上へ直接ファイルをドラッグ&ドロップするとファイルをアップできます。
フォルダの作成も可能ですので、細かな分別もできます。


試しにファイルをアップしてみます。
アクセス権限の設定や編集設定など細かい設定がありますが、基本的に初期設定のままで問題ありません。
他者に共有したりリンクを参照したいのであればパブリックにしておくくらいで大丈夫でしょう。


アップロードしたファイルはクリックすると詳細が表示されます。
この詳細情報に載っているリンクを参照することでアップロードしたデータをブラウザ上で表示することができます。

 

S3だけで静的なWebサイトが作れる


データベースや複雑なサーバー機能を使わないのであれば、S3だけで簡単なホームページを公開することができます。
「プロパティ」から「Static website hosting」という項目があるので選択をします。


複数の選択が出ると思いますが、「このバケットを使用してウェブサイトをホストする」を選びます。
するとトップページとエラー時のページ、リダイレクトの設定項目が現れます。最低でもトップページを設定すればよいので、今回はインデックスドキュメントに「index.html」と入力して保存しました。


ちなみに接続のためのURLは上部にある赤線の中で囲んであるものです。
今回は事前にindex.htmlをアップロードしておいたので、実際にエンドポイントの先に飛んでみます。


さて、URLを入力すると無事にindex.htmlが表示されていることが確認できます。
こちらはむかーしにゲーム用に作成したindex.htmlです。実際には使用せず、公開しませんでした。
cssファイルやimageデータが無いため崩れた状態になっていますが、ただ単に情報を記載するだけのページを作るのであればS3でも充分活用できそうですね!

 

おわりに

今回はS3の使い方を学びました。
ベテランな方は「まだまだS3でできる事はたくさんあるよ!」ってツッコミたい所だとは思いますが、今回は基礎編ですので軽く触れておく感じで終わりたいと思います。

S3でウェブページが公開できるのはなかなか便利だと思います。コイツこそ、負荷が高まったときやメンテナンス中に表示させるSorryページを置くのに向いてるのではと思いました。

ドットインストールのAWS基礎編の内容も全て目を通して、技術メモにまとめたということになります。しかし、AWSにはまだまだ用語や機能の概要だけ知っているけれども具体的にどういうものなのか理解できていない機能はたくさんあります。ドットインストールの講義が終わったからこそ、次は自ら調べて学習していくステップに移らないといけないですね!

さて、Amazon ECSという機能が気になっているのですがこいつはDockerを使う上で便利な機能のようです(?)
ということで、Dockerについてイチから学習し直そうと思います。最後にDockerに触れたのは大学院時代の授業のみ。勤め先の会社ではDockerは使っておりませんでしたのでだいぶ忘れているかと思います。今後の業務ではDockerが当たり前の環境でやっていきますので、今のうちに慣れておきましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)