社内向けAWS勉強会コンテンツ紹介 S3編
この7月から週1回、社内向けAWS勉強会を開いています。
クラウドインフラ技術に触れる経験の少ないメンバー向けに学習機会を提供する目的ではじめました。
基本的にはもくもくとハンズオンをやってもらう自学自習スタイルです。
東京本社と大阪支社で参加メンバーは分かれていますが、Googleハングアウトを使ってリモート開催しています。
もくもくしている様子
勉強会需要は少なからずあるとはいえ、自分でいちからコンテンツを作るとなるとそれなりに時間と手間がかかります。
普段の業務の片手間ではなかなか準備しづらいところもありますね。
そこでわたしは、既存のチュートリアル系コンテンツをピックアップ&社内の活用事例を紹介、的なまとめかたをしています。
AWSは特にチュートリアルの類も多いですしね〜
それでは勉強会初回の7月5日、具体的にどんな内容をやったかを紹介します。
主題
じっせんS3
参加者の想定
- 新卒エンジニア
- デザイナー
技術をやるつもりのある初学者向けです。
所要時間
1時間(補足含まず)
内容
1. S3とは
2. S3利用のハンズオン
3. [補足] 静的サイトホスティング
4. [補足] オブジェクトキー
5. [補足] AWS CLIからのS3利用
内容詳細
1. S3とは
S3とはファイルをクラウド上に保存するサービスです。
つかいみち
- データのバックアップ
- コンテンツ配信
- ログデータの保存
など。社内オペレーション部では、クロールで取得したデータや納品用データの保存場所として知られていそうな気がします。
参考
https://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-s3/
https://recipe.kc-cloud.jp/archives/7487
2. S3利用のハンズオン
AWSセルフペースラボを使います。
自社AWSアカウント内での適切なIAMの付与とかいう面倒なこと考えずに使えます。
Googleアカウントさえあればサインアップ可能で、制限時間付きで適当な権限が付与されたAWSコンソールにログインできます。
無料利用できる講座はあんまり多くないですが、S3のintroductionはfreeで使えちゃいます。
今回はこちら
ハンズオン内容は以下です。
- バケット作成
- オブジェクトアップロード
- オブジェクトのアクセス権限変更
- バケットポリシー作成
- バージョニング機能の利用
3. [補足] 静的サイトホスティング
オペレーション部以外の事業部ではS3は静的サイトホスティングのために使うことがおおいです。
LPとかWebアプリのフロント静的リソースとかの配信ですね。
独自ドメインで配信する場合、構成はこんなかんじです。
デザイン部とは思えない手書きの図解
それぞれの役目
Route53: ドメイン名解決
CloudFront: キャッシュしつつコンテンツ配信
S3: ファイルのストレージ
安全に配信する場合は、S3の静的ウェブサイトホスティング機能は使わずに
CloudFrontでオリジンにS3ドメインを指定し、CF以外からのアクセスを制限するのが良いです。
参考
4. [補足] オブジェクトキー
S3はコンソールから見ると階層構造のファイルツリーのように見えますが、
実際のところはkey-value形式のオブジェクトストレージです。
プログラムでAWS SDK使ったりCLI経由で利用するときなんか頭の片隅においておくと良いことがあるかもしれない。
mybucket/
├ dir1/
│ ├ hoge.txt
│ └ piyo.txt
└ dir2/
└ dir2-1/
└ huga.img
こう見えるけど
key | value
--- | ---
dir1/hoge.txt | hoge.txt
dir1/piyo.txt | piyo.txt
dir2/dir2-1/huga.img | huga.img
実際こうです
参考
5. [補足] AWS CLIからのS3利用
さらに実践的に使ってみたい場合はAWS公式の10分間チュートリアルもおすすめです。
会社じゃなくて個人のAWSアカウントつかってね(AWS CLIの操作を誤って会社の本番データを飛ばしたことのある人間の含蓄ある言葉)
以前に開催した勉強会アーカイブ
こんなこともやっています。