aws s3 making experience
TRANSCRIPT
AWS S3 making experience
2015年06月12日 株式会社ヴァル研究所
Business Development Dept. 内田 学
Agenda
• AWS マネジメントコンソールへのログインしてみる
• バケットを作成してみる
• バケットを設定してみる
• ファイルをアップロードしてみる
• アップロードされたファイルを公開してみる
• 公開されているWebページを更新してみる
• アクセスログを確認してみる
注意事項
• 画面ショットは2015年05月29日に取得したものです
• サービスの追加や更新によって画面の状態が変更になっている場合がありますので十分確認を行って作業を進めてください
• 用語や関連するサービスに関してはハンズオン後にフォローしますので、手を動かして体験してください
• 不明点、疑問点がある場合はその都度で構わないので質問してください
AWS マネジメントコンソールへのログインしてみる
AWS マネジメントコンソールへのログインしてみる• 指定のURLからログインを行う
• Multi-Factor Authentication (MFA) を有効化している場合は入力が必要
• 言語設定は「日本語」がデフォルトで選択されている
• この言語設定でログイン後の表示画面の言語が決定する
バケットを作成してみる
バケットを作成してみる
• マネジメントコンソールのダッシュボードから「S3」を選択
• 画面左下に言語設定切り替えのためのメニューあり
• 他の言語設定に切り替えたい場合はこのメニューを使用する
バケットを作成してみる
• バケット一覧画面の左上にある「バケットを作成」を選択する
• 「バケット名」と「リージョン」指定するダイアログが表示される
• 「バケット名」は世界中でユニークである必要がある
• 「リージョン」は今回は東京リージョンを選択してみる
• 続けて「ログ記録のセットアップ」を選択する
バケットを作成してみる
• 続けてログ記録に関しての設定を行う
• 今回はアクセスログを残す設定とするので、チェックBOXをチェックして有効化する
• ターゲットバケットは今作成しているバケットを指定する
• ターゲットプレフィックスはデフォルトのlogs/を指定する
• 作成を選択してバケットを作成する
バケットを作成してみる
• バケットの作成が完了するとバケット一覧に表示される
• バケット一覧にて作成したバケットを選択する
• 画面右上のプロパティを選択するとバケットに関する情報が表示される
• ログ記録に関しては設定済みなので正しく設定されているか確認してみる
バケットを設定してみる
バケットを設定してみる
• アクセス許可のルールを追加してみる
• 作ったバケットは基本的に自分だけしかアクセスできないようになっている
• 作成したバケットを選択してプロパティを表示する
• アクセス許可の項目を開いて「バケットポリシーの編集」を選択してみる
バケットを設定してみる
• バケットポリシーエディターが立ち上がるので左下にある「バケットポリシー例」を選択する
• 一般的なバケットポリシー例が記述されているWebページから「匿名ユーザーへの読み取り専用アクセス許可の付与」項目を参考にしてポリシーを作成する
• 作成したポリシーをバケットポリシーエディターに入力して保存を選択してみる
• AWS Policy Generatorを使うとさらに便利
バケットを設定してみる
• バージョニングの有効化を設定してみる
• バージョニングを有効化すると、バケット内でファイルがバージョン管理されるようになる
• 作成したバケットを選択してプロパティを表示する
• バージョニングの項目を開いて「バージョニングの有効化」を選択してみる
バケットを設定してみる
• バージョニングが有効化されたあとに、作成したバケットを選択する
• 選択されたバケットの左上にある「バージョン」の「表示」側を選択してみる
• 更新されたファイルがある場合には、バージョン管理されそれぞれ別々のプロパティが表示出来る
• プロパティにあるURLから個別の内容も確認することが出来る
バケットを設定してみる
• ライフサイクルルールを追加してみる
• 何も設定しないとバケットに入れたデータはそのままとなる
• ライフサイクルルールを追加することにより、アーカイブや削除を自動的に実行出来る
• 作成したバケットを選択してプロパティを表示する
• ライフサイクルの項目を開いて「ルールを追加する」を選択してみる
バケットを設定してみる
• ライフサイクルルールの適用範囲を決定する
• 今回はバケット全体を選択してみる
• プレフィックス単位での指定も出来る
• 保存期間や削除までの日数が異なる場合はプレフィックス単位でルールを作成する
バケットを設定してみる• 実際のルールを設定してみる
• 今回はバージョニングをONにしているので最新バージョンと以前のバージョンに対しての操作がそれぞれ設定出来る
• アーカイブと削除の両方に設定を行う
• Amazon Glacierにアーカイブする日数と削除を行う日数を入力してみる
• Glacierに関しては諸注意が表示されることがあるので、よく読んで理解したのち了承するをチェックすること
• Glacierはデータ取り出しに時間も料金もかかるので本当の意味で利用がないアーカイブとして利用する
バケットを設定してみる
• ルール名称の設定をしてみる
• ここまで入力してきた項目が正しく反映されているか確認する
• 識別のためにルール名はわかりやすく付けた方がいい
• 問題がなければ「ルールの作成と有効化」を選択してみる
ファイルをアップロードしてみる
ファイルをアップロードしてみる• Cyberduckを利用してEC2インスタンスにファイルをアップロードしてみる
• 今回はCyberduckを利用するが、他のツールでもscpなどのコマンドでも問題ない
• Webで公開するファイルとなるので内容には注意すること
• EC2インスタンスを経由しなくても直接のアップロードが可能
ファイルをアップロードしてみる• EC2インスタンスにアップロードしたらAWS CLIを利用してS3
にコピーしてみる
• S3のコピー先バケットを確認する
• 以下のコマンドを実行してS3バケットにコピーしてみる
• aws s3 cp xxxx s3://yyyy —recursive
• コピーが終了したらAWS CLIかマネージメントコンソールにて正常にコピーされていることを確認してみる
アップロードされたファイルを公開してみる
アップロードされたファイルを公開してみる• 静的ウェブサイトホスティングを設定してみる
• 静的ウェブサイトホスティングを設定することにより、Webサーバとして利用が可能となりWebサイトを公開することが出来る
• 作成したバケットを選択してプロパティを表示する
• 静的ウェブサイトホスティングの項目を開いて「ウェブサイトのホスティングを有効にする」を選択する
• 「インデックスドキュメント」と「エラードキュメント」にhtmlファイルを指定してみる
アップロードされたファイルを公開してみる• 正しく設定が終了した後に「エンドポイント」に対してアクセスをしてみる
• ブラウザで正しく表示されることを確認してみる
• これでWebサイトとして公開している状態となっている
公開されているWebページを更新してみる
公開されているWebページを更新してみる• EC2インスタンス上でファイルを編集して再度S3にコピーしてみる
• EC2インスタンスにssh接続して、htmlファイルを編集し保存する
• AWS CLIで以下のコマンドを実行して更新したファイルをS3にコピーしてみる
• aws s3 sync xxxx s3://yyyy
• 最初のコマンドと違い同期のコマンドで、変更のあったファイルのみを同期する
公開されているWebページを更新してみる• S3との同期作業が完了したら、AWS CLIかマネージメントコンソールにて状態を確認してみる
• バージョニングを有効にしているので、更新したファイルと更新する前のファイルとが管理されていることがわかる
• 最初にアップロードした際と同様にエンドポイントにブラウザでアクセスして更新が反映されていることを確認してみる
アクセスログを確認してみる
アクセスログを確認してみる• 今回はバケット作成時に一緒に設定したが、後からでも設定可能
• ログ記録を設定することにより、バケットのオブジェクトへのアクセスが記録される
• ただしログが出力されるのはベストエフォートとなるためリアルタイムには確認できない
• そのためWebサイトでのアクセスログのような使い方をするとあまり相性が良くないように感じる
• ログは出力のタイミングでファイル単位に分割される
• 今回設定したログ記録場所を確認してログが出力されていたら内容も確認してみる
まとめ
まとめ• S3にバケットを作成してファイルを操作することが出来た
• AWS CLIを少しだけ触って動かした
• S3でWebサイトを公開することは簡単に出来る
• ファイルのバージョン管理やログの出力を行うことも出来る
• データをただ蓄積するだけでなく、ライフサイクルの設定により効率的に管理出来る
• S3はAWSサービスでは非常に良く利用されるかつ、S3にデータがあることで連携がし易くなるため他の機能やサービスについて、ドキュメントやAWSから出ている資料で確認してみて欲しい
Thank you for listening.
Appendix
Appendix
• AWS クラウドサービス活用資料集
• http://aws.amazon.com/jp/aws-jp-introduction/
• Amazon S3 (クラウドストレージサービス )
• http://aws.amazon.com/jp/s3/
• Amazon Glacier (オンラインバックアップサービス & クラウドバックアップソリューション)
• http://aws.amazon.com/jp/glacier/
Appendix
• AWS 全般のリファレンス
• http://docs.aws.amazon.com/ja_jp/general/latest/gr/Welcome.html
• ホワイトペーパー
• http://aws.amazon.com/jp/whitepapers/
• AWS コマンドラインインターフェイス
• http://aws.amazon.com/jp/cli/
Appendix
• AWS Policy Generator
• http://awspolicygen.s3.amazonaws.com/policygen.html
• Cyberduck
• https://cyberduck.io/?l=ja
• Black Tie – Free Handsome Bootstrap Themes – Small – Dribbble Portfolio Theme
• http://www.blacktie.co/2013/11/small-dribbble-portfolio-theme/