AWS概要からサインアップまで! 〜アカウント開設 &...

64
AWS概要からサインアップまで! ~アカウント開設 & 仮想サーバを立ててみる~ http://bit.ly/jawsho-ec2

Transcript of AWS概要からサインアップまで! 〜アカウント開設 &...

AWS概要からサインアップまで!~アカウント開設 & 仮想サーバを立ててみる~

http://bit.ly/jawsho-ec2

AWSアカウントを作成する

AWSアカウント作成AWSで作業を行うために、アカウントを作成します。

ご用意いただくものインターネットにつながったPC

クレジットカード(アカウント作成中に番号を登録します)携帯電話(アカウント作成中に使用します)

作成手順http://aws.amazon.com/jp/register-flow/ に沿って進めてください

アカウント作成後、管理ツールにログインできれば完了ですhttp://console.aws.amazon.com/

ハンズオンのアジェンダAmazon EC2の基本操作

Amazon EC2とは?EC2インスタンスを起動するEC2インスタンスを操作する固定IPアドレスを割り当てる”Elastic IP”

SSHでログインしApacheをインストールする

Amazon EC2の基本操作Amazon EC2とは?

Amazonが提供するクラウドの特徴

ワンクリックで、 数分後にはITリソースが手元に

オンデマンドで、 必要な時に必要なだけ。初期投資ゼロ

ITインフラの制約に縛られることなく、 ビジネス成長に集中

コンピュート処理 EC2

アマゾンが提供する 30以上のサービスのうちのひとつ

グローバルインフラリージョン、アベイラビリティゾーン、エッジロケーションAZRegion

お客様のアプリケーション

分析EMR, Kinesis, Data Pipeline

アプリケーションサービスAppStream, Cloud Search, SWF,

SQS, SES, Elastic Transcoder

データベースRDS, DynamoDB,

ElastiCache, RedShift

ストレージ&CDNEBS, S3, Glacier,

Storage Gateway, CloudFRont

ネットワークVPC, Route 53, Direct Connect

認証とログIAM, CloudTrail,

CloudHSM

監視Cloud Watch

Web管理画面Management

Console

デプロイと自動化Elastic Beanstalk,Cloud Formation,

OpsWorks

コマンドラインインターフェース

CLI

ライブラリ & SDKs Java, PHP, .NET,

Python, Ruby

, Auto Scaling, Elastic Load Balancing, Workspaces仮想サーバ

1_Blank

いつでも、必要なだけ、安価に

電気と同じように利用できる

仮想サーバーを提供するサービス

Amazon EC2とは?

EC2の特徴その1: 初期投資が不要

物理的なスペース配線電力冷却

ネットワークラックサーバ

ストレージ認定取得労働力

オンプレミス

¥0利用開始にかかる費用

クラウドコンピューティング

EC2の特徴その2: 完全従量課金サーバー数

平常時使用リソース量

Thur. Fri. Sun. Mon. Tue.Sat.Wed.

通常準備するインフラ=必要以上に高額なインフラコスト

AWSの費用イメージ=実際に使った分だけ後払い

ピーク時使用リソース量

EC2の特徴その3: スケールアップ・ダウンが容易EC

2サーバの数

4/12/2008

Facebook上での公開

トラフィックの急増にも対応(ピーク時は5000サーバー)

4/14/2008 4/16/2008 4/18/2008 4/20/2008

EC2の特徴その4: 5分で用意できる新しいインフラの構築は複雑かつ遅くなりがち障害対応・維持負担も高い

⇓5分で新しいインフラを用意。維持管理なし

⇓なるべく多くのビジネスニーズに、

「できる」と答えられる

新しいデプロイ環境

新しいテスト環境

障害時の代替サーバー用意

メディア掲載によるアクセス増対応

1,000台のサーバを追加・削除

起動場所が選べる任意のAZにEC2インスタンスを配置できる

リージョン = データセンター群

現時点で世界9か所に存在

ユーザーは任意のリージョンを選択可能(GovCloud以外)

リージョンは、複数のデータセンター(アベイラビリティーゾーン: AZと呼ぶ)で構成

アベイラビリティーゾーン (AZ)

お互いに、地理的、電源的、ネットワーク的に分離されており、地震面、洪水面も考慮

AZ間は高速専用線でつながれている( データ転送量も安い)

リージョン間はインターネット経由

リージョン (東京)アベイラビリティゾーン A

EC2

米国東海岸

米国西海岸①

米国西海岸②

ヨーロッパ

シンガポール

サンパウロ

アベイラビリティゾーン B

シドニー Gov Cloud

EC2

スペックが選べる、後から変更できる任意のインスタンスタイプ(スペック)を選択可能

CPU、メモリのスペック毎に用意後からタイプを、変更することもできる

Medium Large XLarge 2XLarge 4XLarge 8XLarge

256

128

64

32

16

8

4

1

1 2 4 8 16 32

vCPU (Hyper Threading含む)

Mem

ory

(GB

)

m1.small

t1.micro

M3 – 汎用

C3 – コンピューティング最適

R3 – メモリ最適

I2 – ストレージ最適

G2 – GPU搭載

10 GB Inter-Instance

Network

http://aws.amazon.com/jp/ec2/instance-types/

多様なOS/言語/ミドルウェアが選べるオペレーティングシステム 言語 & ライブラリ アプリケーション

Amazon EC2の基本操作EC2インスタンスを起動する

EC2インスタンスを作る今回は以下のインスタンスを作成していきます。

リージョン (配置場所)

アジアパシフィック(東京)リージョンに作成したVPC内のパブリックサブネット(アベイラビリティーゾーンA)

インスタンスタイプ (サーバのスペック)

マイクロインスタンス (T1 Micro)

インスタンスの数 (サーバの台数)

1つ

AMI (サーバのベースイメージ/テンプレート )

Amazon Linux AMI 64bitインスタンスへのアクセス方法

新規作成するキーペア「demo-key」を使ってログイン

セキュリティグループ (ファイアーウォール)

22 (SSH)と80 (HTTP)にのみ誰でもアクセス可能

インスタンスへのアクセス方法は鍵認証EC2インスタンスはSSHでログインして操作する

SSHでのログインにはキーペアによる鍵認証を用いる

鍵認証はユーザ名・パスワードの認証よりも安全な認証方式

公開鍵・秘密鍵のペアが合っている場合のみログイン可能

公開鍵ProdKeyDevKeyLabKey

コピー

参考:キーペアとは?キーペアを作成すると、1組の公開鍵・秘密鍵が作成される

公開鍵はAWS側で保管。LinuxのEC2では起動にインスタンスにコピー。

秘密鍵はローカル側で保管。Linuxではログイン時に必要。Windowsインスタンスの場合、パスワードの復号化に利用。

キーペアの作成

公開鍵は、AWSによってEC2起動時に埋め込まれる

秘密鍵は、デスクトップにダウンロー

ドされる

EC2インスタンスは2つの鍵を用いる

セキュリティグループでアクセス制御インスタンスへのトラフィックを制限するファイアーウォール機能

デフォルトでは全トラフィックが閉じており、外からアクセスできない

必要な受信アクセスに対してアクセスルールを定義する

プロトコル( TCP/UDP)

宛先ポート

アクセス元IP / Security Group

設定したルール以外の受信トラフィックは破棄される

ルールをひとまとめにしたテンプレートを セキュリティグループと呼ぶ

EC2 インスタンス

ポート22(SSH)

ポート80(HTTP)

EC2ファイアウォール

セキュリティグループ

ポート25(SMTP)

参考: セキュリティグループの使い方インスタンスの用途に応じたセキュリティグループを用意する

Webサーバ用、DBサーバ用、メールサーバ用等

アクセス元を指定して限定

アクセス元にセキュリティグループも設定可能

Webサーバ

Webサーバ

DBサーバ

sg-web

sg-web

sg-db

Webサーバ

sg-xxx

3306

3306

22,80

22,80 3306

OK

OK

OK

OK NG

sg-web

22: 0.0.0.0/080: 0.0.0.0/0

sg-db

22: 0.0.0.0/03306: sg-web

AWS Management ConsoleにログインするAWSのホームページ(http://aws.amazon.com/)から、管理コンソール「AWS Management Console」にログインします。

1. [アカウント/コンソール] をクリック

2. [AWS マネジメント コンソール] をクリック

AWS Management Consoleにログインする作成したAWSアカウント情報を入力してサインインします。

1. メールアドレス入力

3. パスワード入力4. クリックしてサインイン

2. クリック

AWS Management ConsoleにログインするサインインするとAWS Management Consoleのホーム画面が表示されます。1. [ホームに戻る] ボタン

AWS各サービスメニュー

Amazon EC2 管理メニューを開くEC2の管理ページに移動します。

1. [Services]をクリック

3. [EC2]をクリック

2. [All AWS Services]を選択

リージョンを変更するアジアパシフィック(東京)リージョンに変更します。

2. [Asia Pacific (Tokyo)] を選択

1. リージョン選択メニュー

インスタンスを起動するインスタンスを起動するために、起動ウィザードを立ちあげます。

1. [EC2 Dashboard] を選択

2. [Launch Instance] をクリック

AMI(マシンイメージ)を選択するサーバーのベースとするAMIと呼ぶテンプレートを選択します。ここでは、Amazon Linux AMI (PV) の64-bitを選択します。

1. [Select] をクリック

インスタンスタイプを選択するサーバーのスペックに当たるインスタンスタイプを選択します。今回はMicro Instance (t1.micro)を選択し、「Next: Configure Instance Details」をクリックし次に進みます。

1. [Select] をクリック

1. [Micro instances] をクリック

2. [Next: Configure Instance Details]をクリック

台数とデータセンターの場所を選択する起動するインスタンスの台数と立ち上げるデータセンターの場所を選択します。

1. [1] のままに

2. [vpc-xxxx (172.31.0.0/16)]を選択

3. [ap-northeast-1a]と なっているサブネットを選択

4. [Next: Add Storage] をクリック

ストレージの設定をする初期設定で起動ドライブにあたるルートでバイスが設定されているので、特に何も行わず、内容を確認し次に進みます。(ストレージは起動後いつでも追加可能です。)

1. [Next: Tag Instance]をクリック

インスタンスにタグを設定する仮想サーバーひとつひとつにタグを付け、人間が識別しやすいようにすることができます。Keyに「Name」、Valueに「WebServer」と入力してみます。

1. [Name]である事を確認 2. [WebServer]と入力

3. [Next: Configure Security Group]をクリック

セキュリティーグループを作成・設定するセキュリティーグループを設定します。「Create a new security group」を選択します。

1. [Create a new security group]を選択

セキュリティーグループを作成・設定する今回はsshとhttpのポートのみにどこからでもアクセスできるように設定します。sshは設定済みなので、httpを追加します。

1. [Add Rule]をクリック

2. 追加されたセレクトボックス で[HTTP]を選択

3. [Anywhere]を選択

4. [Review and Launch]をクリック

設定内容を確認する今まで設定した内容を確認できます。問題なければ「Launch」をクリックします。

1. [Launch]をクリック

キーペアーを作成する「demo-key」と入力し、「Download Key Pair」をクリックすると、「demo-key.pem」というファイル名の秘密鍵がダウンロードされます。ファイルがダウンロードされた事を確認して、場所を覚えておいてください。

1. [demo-key]を入力2. [Download Key Pair]をクリック

インスタンスを起動するキーペアーのダウンロードが完了すると「Launch Instances」ボタンが有効になるので、クリックしインスタンスを起動します。

1. [Launch Instances]をクリック

起動したインスタンスを確認する「Launch」ボタンをクリックすると完了画面が表示されます。右下の「View Instances」ボタンをクリックして、起動したインスタンスを確認します。

1. [View Instances]をクリック

起動したインスタンスを確認するインスタンス一覧ページに起動したインスタンスが表示されていることを確認します。

Instance Stateが「pending」から「running」に変わり、Status Checksが「2/2 check passed」に変わったら、起動完了です。

作成したインスタンス一覧が表示される。インスタンスをクリックすると下に詳細情報が表示される。

起動したインスタンスを確認するインスタンスタイプ、セキュリティグループ、キーペアを確認します。

1. Instance typeが[t1.micro]である事を確認 2. Security Groupsが [launch-wizard-1] であることを確認。 [view rules]を クリックすると設定 されたルールを 確認可能3. Key pair nameが [demo-key]である ことを確認

起動したインスタンスを確認するインスタンスのDNS名、IPアドレスを確認します。 Public DNS

(Elastic IPが有効な時はElastic IPが表示される)

Public DNS

Elastic IPPrivate DNS

Amazon EC2の基本操作EC2インスタンスを操作する

実行中・停止・終了のステータスがある起動したインスタンスは3つの状態を持つ

Running : 実行中、課金される。Stop処理で Stoppedへ遷移。

Stopped : 停止中、課金されない。Start処理で再度Runningへ遷移。

Terminated: 終了。Terminate処理で遷移。もうStop/Startはできない。

AMI Running実行中

Terminated終了

Stopped停止中

StartStop

Terminatelaunch

Terminate

EC2インスタンスを停止するインスタンスを使わない時は停止してコストを削減できます。

1. 停止したいインスタンスを右クリック

2. [Actions] – [Stop]をクリック

EC2インスタンスを停止するインスタンスを使わない時は停止してコストを削減できます。

Instance Stateが[running]から[stopped]に変われば停止状態

EC2インスタンスを再開する停止状態のインスタンスは必要になったらすぐに再開できます。

1. 再開したいインスタンスを右クリック

2. [Actions] – [Start]をクリック

Amazon EC2の基本操作固定IPアドレスを割り当てる

“Elastic IP”

2つのIPアドレスが割り当てられるデフォルトでは起動時に動的な2つのアドレスが割りあてられる

Public DNS (*.amazonaws.com) と Public IP

インターネットから接続可能

Private DNS (*.internal) と Private IP

同一リージョン内での通信に利用。インターネットから接続不可

Public DNS/IPはインスタンスを停止し、後起動し直すと、別のものが割りあてられる。

Publicな固定IPアドレスをオプションで付けられるElastic IP Addresses (EIP)と呼ぶ

稼働しているEC2インスタンスに、瞬時に付け外しが可能

インスタンスにアサインしているときは料金はかからない

固定IPアドレスを取得する固定IPアドレスを取得するためにElastic IPのページへ移動します。

1. [NETWORK & SECURITY] – [Elastic IP]をクリック

2. [Allocate New Address]をクリック

固定IPアドレスを取得するEC2用の固定IPアドレスを振り出します。

1. [Yes, Allocate] をクリック 2. [Close]

をクリック

固定IPアドレスをインスタンスにひも付ける振り出した固定IPアドレスを作成したインスタンスにひも付けます。

1. ひも付けたい固定IPアドレスをクリックしてチェック

2. [Associate Address]をクリック

固定IPアドレスをインスタンスにひも付けるひも付けたいインスタンスを選択します。

1. クリックして候補から  [WebServer]を選択

2. [Associate] をクリック

固定IPアドレスをインスタンスにひも付けるひも付けが完了すると、Instance IDにひも付けられたインスタンスのIDとタグ名が表示されます。 1. インスタンスにIPアドレスがひも付けられた

インスタンスのIPアドレスを確認するInstancesのページでも確認できます。

1. [INSTANCES] – [Instances]をクリック

2. 確認したいインスタンスをクリック

3.固定IP (Elastic IP)が確認できる

Amazon EC2の基本操作SSHでログインしApacheを

インストールする

インスタンスへSSHログイン必要なものインスタンス起動時に作成したキーペア名に対応する秘密鍵ファイル(demo-key.pem)インスタンス起動後に確認したインスタンスのPublic DNS名

SSHログイン方法

接続先ホスト:インスタンスのPublic DNS名

ログインユーザ名: ec2-user

接続方法:公開鍵暗号方式(秘密鍵ファイルを指定)

インスタンスへSSHログイン (Windowsから)Windowsからログインする場合

TeraTerm (ttssh.exe) を起動 http://sourceforge.jp/projects/ttssh2/

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

SSH2を指定

1

2

3 4

インスタンスへSSHログイン (Windowsから)

ユーザ名: ec2-user

KeyPair作成時に取得した秘密鍵ファイルを選択して接続→

1

2 3

5

67

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

インスタンスへSSHログイン (Macから)Macからログインする場合

Terminalからコマンドラインでログイン (事前にパーミッションを600に!)

$ chmod 600 ~/Downloads/demo-key.pem$ ssh -i ~/Downloads/demo-key.pem ec2-user@インスタンスの

Public DNS名

インスタンスへSSHログイン (ブラウザJavaから)ブラウザからログインする場合 (事前にJavaのインストールが必要)

1

23

4

56

SSHログインがうまくいかない場合インスタンスは完全に起動完了しているか?

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

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

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

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

Webサーバセットアップ以下のコマンドを実行しWebサーバ(httpd) をインストールする

以下のコマンドを実行しWebサーバ (httpd) を起動する

ブラウザのアドレスバーにPublic DNSを入力して起動を確認http://インスタンスのPublic DNS名/

うまく見えない場合は?Security Groupで 80(HTTP)が有効になっているか?

$ sudo yum -y install httpd

$ sudo service httpd start

Next Step!

AWS クラウドサービス活用資料集AWSを活用していくのに有用な資料がまとめられた宝の山http://aws.amazon.com/jp/aws-jp-introduction/