58
AWS Black Belt Online Seminar AWS体験ハンズオン Amazon S3 バックアップ~ 2016.3.31 アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 舟崎 健治

AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Embed Size (px)

Citation preview

Page 1: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

AWS Black Belt Online SeminarAWS体験ハンズオン~Amazon S3 バックアップ~

2016.3.31アマゾン ウェブ サービス ジャパン株式会社ソリューションアーキテクト舟崎 健治

Page 2: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

自己紹介

• 名前:舟崎 健治

• 所属:アマゾン ウェブ サービス ジャパン株式会社

エンタープライズソリューション部ソリューションアーキテクト

• 好きなAWSのサービス:AWS OpsWorks

2

Page 3: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

本ハンズオンの目的

• AWS CLIを使って、S3にバックアップデータを保存する手順を理解する– 操作環境統一のため、今回はEC2インスタンスでAWS CLIを実行

– S3へのコピー・同期・S3のバージョン管理の動作確認をする

3

Page 4: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

事前に準備すべきもの

• AWSアカウント– AWSアカウント作成の流れとポイント

• https://aws.amazon.com/jp/register-flow/

• インターネット接続可能なWindows PCまたはMac/Linux– WebブラウザとしてFirefoxまたはChromeを推奨

4

Page 5: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ハンズオンAgenda

• 関連するAWSのサービスのおさらい

• ハンズオン– S3バケットの作成

– EC2インスタンスの起動

– IAMユーザの作成

– AWS CLIのインストール・S3へのコピー操作

– AWS CLIによるS3へのコピー

– S3バケットのバージョニングの設定

– ハンズオン環境を削除する

5

Page 6: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

関連するAWSのサービスのおさらい

6

Page 7: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Amazon Simple Storage Service (S3)

• 特徴 (http://aws.amazon.com/jp/s3/)

– 高い堅牢性 99.999999999%

– 格納容量無制限。利用した分のみ課金

– 様々なAWSサービスと連携するセンターストレージ

• 価格体系 (http://aws.amazon.com/jp/s3/pricing/)

– データ格納容量

– データ転送量(OUT)

– APIリクエスト数

マネージドオンラインストレージサービス

Amazon S3

7

Page 8: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Amazon Elastic Compute Cloud (EC2)

• 特徴 (http://aws.amazon.com/jp/ec2/)

– 必要な時に必要なだけ1時間単位の従量課金で利用できる仮想サーバリソース

– 世界11箇所のリージョンで利用可能

– 様々なスペック・OSを選択可能

• 価格体系 (http://aws.amazon.com/jp/ec2/pricing/)

– インスタンス利用料($0.02/hour 〜)

– データ転送量(OUT $0.14/GB )

仮想クラウドサーバ

8

Page 9: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

AWS Identity and Access Management (IAM)

• 特徴 (http://aws.amazon.com/jp/iam/)

– AWS リソースへのきめ細かなアクセス制御

– 認証情報の利用状況を一目で把握できるレポート機能

– 社内ディレクトリとの統合も可能

– ウェブ ID プロバイダーを使った、モバイルアプリケーションへのアクセスコントロールの管理

– 権限の高いユーザーに対する多要素認証の利用( Multi-Factor Authentication)

• 価格体系 (http://aws.amazon.com/jp/iam/pricing/)

– IAMの利用自体は全て無料

AWS サービスおよびリソースへのアクセスを安全にコントロール

多様なMFAデバイスをサポート

9

Page 10: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ハンズオン

10

Page 11: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ハンズオン構成イメージ

AWS CLI 実行用EC2インスタンスclient Amazon

S3 bucket

11

SSH ログイン

EC2インスタンス内で生成したファイルをS3にコピーする(IAMユーザ権限を利用)

※操作環境統一のためEC2インスタンスを利用しますが、こちらはオンプレミスのサーバまたはPCを想定した環境となります。

Page 12: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

AWS マネージメントコンソールにログイン

https://console.aws.amazon.com へアクセスし、ログインする

管理者アカウント、またはIAMユーザーでログインする

IAMユーザーでアクセスする場合は、そのユーザーにAdministrator権限を与えられていることが推奨。最低限EC2, S3の権限は必要

12

Page 13: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

言語設定を日本語にする

13

1

2

Page 14: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

リージョンを選択、S3の画面に移動する

14

1

2

3

Page 15: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3 バケットを作成する

15

Page 16: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3 バケットを作成する

16

1

2

3

バケット名に半角英数字で任意の名前を入力する

Page 17: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

バケットが作成されていることを確認する

17

Page 18: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

EC2の画面へ移動する

18

1

2

Page 19: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

キーペアを作成する

19

1

2

3

Page 20: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

インスタンスを作成する

20

1

2

Page 21: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Amazon Linux AMIを選択する

21

Page 22: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

t2.microのインスタンスタイプを選択する

22

1

2

Page 23: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

インスタンスの詳細設定

23

「サブネット設定を使用(有効)」または「有効化」を選択

1

2

3

Page 24: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

インスタンス作成の確認

24

Page 25: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

キーペアを選択して、インスタンスを作成する

25

1

2

「既存のキーペアの選択」を選択、作成したキーペアを選択する 3

Page 26: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

起動されたインスタンスのステータスを確認する

26

インスタンスの状態がrunning、ステータスチェックで「2/2のチェックに合格しました」と表示されるのを確認する

Page 27: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

EC2インスタンスへSSHでログイン

• 必要なもの– インスタンス作成時に指定したキーペアの秘密鍵ファイル (demo-

key.pem)– インスタンスに割当てたElastic IPアドレス(前章でのメモ)

• SSHログイン方法(具体的な操作方法は次ページより説明しています)

– 接続先ホスト:インスタンスに割当てたElastic IP (EIP) アドレス– ログインユーザ名: ec2-user– 接続方法:公開鍵暗号方式(秘密鍵ファイルを指定)

Page 28: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Windowsから:インスタンスへSSHでログイン

• Windowsからログインする場合– TeraTerm (ttssh.exe) を起動 http://sourceforge.jp/projects/ttssh2/

– 1.接続するインスタンスのElastic IPを入力

– 2.SSH2を指定

– 3.「OK」をクリック

– 4.この画面が出たら「続行」をクリック

1

2

3 4

Page 29: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Windowsから:インスタンスへSSHでログイン– ユーザ名: ec2-user– 「RSA/DSA/ECDSA/ED25519鍵を使う」を選択– 秘密鍵ファイル(handson.pem)を選択して接続

→→1

2 35

6

7

4. すべてのファイル(*.*)を選択する(選択しないと鍵が表示されない)

補足)この認証画面で時間が掛かりすぎた場合、タイムアウトにより「OK」をクリックしても繋がらない場合があります。その場合は再度Teratermを起動してやり直してください。

Page 30: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

Mac/Linuxから:EC2インスタンスへSSHでログイン

• Mac/Linuxからログインする場合– ターミナルからコマンドラインでログイン (事前に秘密鍵(pemファイル)のパーミッションを600にしないと接続出来ません)

$ chmod 600 ~/Downloads/handson.pem$ ssh -i ~/Downloads/handson.pem ec2-user@割当てられたPublic IPアドレス

Page 31: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

SSHログインがうまくいかない場合

• インスタンスは完全に起動完了しているか?

• 起動時に指定した内容どおりに起動しているか?

• 接続先のIPアドレス あるいは ホスト名は正しいか?

• 指定したSecurity Groupは 22(SSH) を有効にしているか?

• 指定したKey Pairと対応する鍵ファイルを指定しているか?

• 秘密鍵ファイルのパーミッションは600になっているか?(Mac/Linuxから)

Page 32: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

インストール済みのAWS CLIを削除して、最新版のAWS CLIをインストールする

• AWS CLIの削除

• AWS CLIのインストール

32

$ sudo yum remove –y aws-cli

$ sudo pip install awscli

Page 33: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

AWSマネージメントコンソールでIAMの画面に移動

33

1

2

Page 34: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

IAMユーザーを追加する

34

Page 35: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

IAMユーザーの設定

35

1

2

任意のユーザー名を入力

3

Page 36: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

IAMユーザーに与えるアクセス権限の設定

36

1

2

AmazonS3と入力

AmazonS3FullAccessを選択

3

Page 37: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

設定を確認後、ユーザーの作成ボタンをクリック

37

Page 38: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ユーザーのアクセスキー、シークレットアクセスキーをメモしておく

38

1

2

Page 39: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

AWS CLIの設定

• PATHを設定する

39

$ aws configure

AWS Access Key ID [None]: AKIAXXXXXXXXXXXXXX

AWS Secret Access Key [None]:

DZA8adZzucXXXXXXXXXXXXXXXXXXXXXXXX

Default region name [None]: ap-northeast-1

Default output format [None]:

$ export PATH=$PATH:/usr/local/bin/

• AWS CLIのアクセスキー・シークレットアクセスキーを設定する

Page 40: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

サンプルファイルを作成

40

$ echo hello > hello.txt

$ mkdir local

$ cd local

Localという名前のディレクトリを作成、ディレクトリへ移動する

hello.txtを作成、中身にhelloを追記する

$ ls

hello.txtが作成されていることを確認する

Page 41: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3 バケットの中身の確認

• 空である(何も表示されない)ことを確認する

41

$ aws s3 ls s3://<自分のバケット名>

(例) aws s3 ls s3://funasaki-handson331/

Page 42: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

1つのファイルをS3バケットへコピーする

• コピーされたファイルを確認する

42

$ aws s3 cp ./hello.txt s3://<自分のバケット名>

$ aws s3 ls s3://<自分のバケット名>

2017-03-17 11:09:06 6 hello.txt

Amazon S3Bucketローカル

Page 43: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

追加でローカルにサンプルファイルを作成する

43

$ echo HelloWorld > helloworld.txt

$ echo HelloAWS > helloaws.txt

Page 44: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3 syncコマンドでローカルとS3バケットを同期する

44

$ aws s3 sync ./ s3://<自分のバケット名>

Amazon S3Bucketローカル

Page 45: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ローカルのファイルを削除後に、S3からファイルを戻す(S3からリカバリする)

45

$ aws s3 cp s3://<自分のバケット名> ./

$ rm ./hello.txt

$ ls

ローカルAmazon S3

Bucket

Page 46: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ローカルのファイルを削除後にS3と同期してS3上のファイルも削除する

46

$ rm ./hello.txt

$ ls

$ aws s3 sync --delete ./ s3://<自分のバケット名>

Page 47: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3の画面へ移動する

47

1

2

Page 48: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

作成したバケットを選択する

48

Page 49: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

バケットのプロパティを選択する

49

Page 50: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3バケットのバージョニングを有効化する

50

1

2

3

Page 51: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

既存のファイルに追記して、再度S3バケットと同期する

• helloworld.txtに追記する

51

$ echo Hello Japan >> helloworld.txt

$ aws s3 sync ./ s3://<自分のバケット名>/

Page 52: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3バケットにて、旧バージョンのファイルも残っていることを確認する

52

1

2

3

Page 53: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

環境の削除方法(課金を止める手順)

• EC2インスタンスを削除する

• S3に保存したファイルを削除する

53

Page 54: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

EC2インスタンスを削除する

54

2

13 アクション→インスタンスの状態→削除

を選択する

Page 55: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

S3に保存したファイルを削除する

55

2

13

すべてのファイルにチェックを入れる

Page 56: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

以上でハンズオンは終了となります。

56

Page 57: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

ご参加ありがとうございました

57

Page 58: AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~

58