LoginSignup
0
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-10-29

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回、作っていけたらなと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0