シャッフル主任の進捗報告

興味のあるものを作ります。進捗を不定期にご報告します。

そうだ、教祖になろう。出エジプト記 第1章1節 S3で静的Webページをホスティングする

書を捨てよ街へ出よう


創世記では弊教団の教義を広めるWebサイトを構想して計画を立てました。

いやー長かった。
イスラエルの民がラムセスⅡ世に奴隷扱いされる日々のようでしたが、
いよいよクラウドの原野に歩みだしましょう。

はじめに神は静的Webページを創造された。


まずはただのHTMLを表示してみます。
こういう構成です。

f:id:chief-shuffle:20191117075449p:plain

S3は従量課金でファイルを格納できるオブジェクトストレージサービスですが、
ホスティング設定を行うことで静的Webページとして公開することができます。

こちらを参考にさせていただきました。

qiita.com

1年以内の記事だというのに途中のウィザード表示が微妙に変わっています。
AWSのサービス改良は目覚ましく、リリースが1時間に数千回という頻度で行われ、 1か月前に出たサービスはもう最新ではないというありさまのようです。
遥か未来の話みたいですね。

こちらは数千年前のモーセと同じように着実に約束の地へ歩を進めていきましょう。

以前ディープラーニングを勉強しようとしてとん挫していたAWSのアカウントがあったので、すべてのサービスを削除して使っていきます。

f:id:chief-shuffle:20191117070903p:plain

まずはS3にバケットを作りましょう。「+バケットを作成する」をクリックします。

f:id:chief-shuffle:20191116135046p:plain

バケット名とリージョンを入力します。
バケット名は世界中で一意である必要があります。
ドメインに使う予定の文字列を入れておきましょう。

f:id:chief-shuffle:20191116135215j:plain

次はオプションの設定です。タグ管理とかログ出力とかいろいろやりたいのですが、最初は欲張らず、あとでやることにします。

f:id:chief-shuffle:20191116135548j:plain

Webサイトとして公開するため、アクセス許可の設定は「パブリックアクセスをすべてブロック」を外してあげる必要があります。

f:id:chief-shuffle:20191116135712p:plain

最後に「バケットを作成」をクリックして作成完了です。

f:id:chief-shuffle:20191116135802j:plain

バケット一覧に作成したバケットが表示されました。

f:id:chief-shuffle:20191116135830j:plain

「光あれ」


トップページのHTMLを作成します。
おなじみの"Hello, World!"ですが、
輪廻転生をフィーチャーする教団のサイトにおいてはなにか感慨深い響きがありますね。

f:id:chief-shuffle:20191116140833j:plain

これをバケットにアップロードします。

f:id:chief-shuffle:20191116140932j:plain

アクセス許可はスタンダードで。

f:id:chief-shuffle:20191116141041j:plain

「アップロード」をクリックして完了です。

f:id:chief-shuffle:20191116141121j:plain

静的Webホスティングの設定をします。
「プロパティ」タブから「Static website hosting」を選択します。

f:id:chief-shuffle:20191116141234j:plain

「インデックスドキュメント」をアップロードしたファイル名にします。

f:id:chief-shuffle:20191116141315j:plain

「パケットホスティング」にチェックが付きました。

f:id:chief-shuffle:20191116141404j:plain

次はアクセス権限の設定です。
バケットポリシー」をクリックします。

f:id:chief-shuffle:20191116141601j:plain

バケットポリシーエディタでバケットの読み取り権限を付与します。

f:id:chief-shuffle:20191117073414j:plain

"PublicReadForGetBucketObjects"という名前ですべての"Principal"(ユーザ)に対する"arn:aws:s3:::shuffleplayism-contents/*"(さっき作ったバケットの中のすべてのデータ)への"s3:GetObject"(データ取得)アクションを許可するポリシーを定義しています。
"Version"はお決まりです。気にしません。

テンプレートのインデントはこちらに合わせました。

docs.aws.amazon.com

「パブリック」のオレンジ色が緊張感をあおります。
主が我らを見ておられます。
世界中の悪意のある攻撃者も我らを見ておられます。

f:id:chief-shuffle:20191116142224j:plain

こうして光があった。


では、アクセスしてみます。

さきほどの「Static website hosting」を開き、エンドポイントのURLをクリックします。

f:id:chief-shuffle:20191116142726j:plain

 

……

 

………
(実際は50ミリ秒もかかっていませんが、感覚的な時間の長さを表しています。)

 

f:id:chief-shuffle:20191117072612j:plain

こんにちは、世界!(ドン!!)
これで弊教団のWebサイトのトップページがインターネットに公開されました。
天地創造はまだ始まったばかりです。