Edited at

AWSチュートリアル解読:第一回


AWSチュートリアル

AWSを実際に触ってみようと思っても、何をどうすれば良いか分からない...そんな時は...

こんにちは、学生アルバイトのsosonoです。

今回は簡単にLambda、APIGateway、S3、DynamoDB、Cognitoが体感できるAWSチュートリアルを詳説していきます。全4回の予定です!!

以下のリンクから手順に沿って、数時間で完了できます。

AWS公式チュートリアル

チュートリアル概要です。

スクリーンショット 2019-10-25 19.43.29.png

チュートリアルは理解しながら進めるべきです。ということで、初心者ながら気になった部分を整理してみました。今回は第一回めの記事になります!(上記❶の部分に該当します!!)

以下のステップは実際のチュートリアルのステップに対応しています。


(ステップ1)リージョンを選択する

バケットや後出のLambda関数は全て同じリージョンで作成する必要があります。
コスト最小化などを考えて、地理的に近い部分にするべきでしょう。


(ステップ2)S3バケットを作成する

作成自体は簡単です。名前が一意になるようにすることに注意すればたります。


(ステップ4)パブリック読み込みを許可するバケットポリシーを追加する

コピペさせることから分かるように(?)S3ではここが一番不明瞭。少し整理してみる。

[Qiita]S3のアクセスコントロールまとめ

この記事でほとんど把握できるはず。。。


パブリックアクセス(設定機能)

チュートリアルでは4つのチェックボックスがあって、よく分からないままポチポチさせられた。

ACL、バケットポリシーの公開設定をブロックしたりする機能で、イメージとしては下述バケットポリシーの監視役みたいな感じ。他にも既存の公開設定の削除なども可能。



  • 4つのチェックボックスを整理してみると、、、


    • ACLの公開に関する設定


      • 新規バケット、オブジェクトへのACLをブロック

      • 全てのACLを無視



    • バケットポリシーの公開に関する設定


      • バケットポリシーによる、バケット・オブジェクトへのバケットポリシーをブロック

      • バケットポリシーによる、バケット・オブジェクトへのパブリックアクセス、クロスアカウントアクセスを無視





という作りになっている。これをポチるだけでアカウント全体を管理できるという優れもの。


このチュートリアルでは、ACLの公開に関する設定、の部分にチェックを入れているので、ACLはブロック、無視しようとしているということが分かります。


バケットポリシー

バケットに対してアクセス管理を行います。今回のチュートリアルでコピペするのがこれ(JSON形式)。

バケットポリシーがなければ、アクセスは全て拒否される。それはこちらとしてもまずい、、、

{

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

詳しく見ていきます。


  • "Effect":Allow

    バケットへの操作を許可しておいて、、、


  • "principal"

    特定のIAMユーザからのアクセスを許可するために使用


  • "Action"

    バケットのARNを指定する(ARNは第二回以降登場します。今はふーんくらいで。。。)


  • "Resource"

    このポリシーの対象となるリソース(先ほど作成したバケットのこと)


これによって新しいポリシーが追加される
(という動作になっていたことはチュートリアルでは触れられていない、、、)


注意

コピペした後、[YOUR_BUCKET_NAME]を変更するが、 []まで含めて変更すること(詰まりそうなポイント!!!)

この後に”保存”を押すと、”このバケットにはパブリックアクセス権限があります”と表示されるが気にしないこと(チュートリアルなのだから、、、)


(ステップ5)ウェブサイトのホスティングを有効にする

S3のバケット内に、静的ウェブサイトをホストできる。サイトにアクセスできるようにウェブサービスの実行、他のサービスの使用、等は必要ないのです。


(ステップ6)実装を検証する

あとはウェブエンドポイントURLをクリックするだけです!!!


まとめ

第一回はS3に関するチュートリアルでした。よく分からないままコピペさせられると、チュートリアルを完了しても腑に落ちない感じがして嫌です。。。

この調子であと3回、作っていけたらなと思います。