AWS概要からサインアップまで! ~アカウント開設 & 仮想サーバを立ててみる~ http://bit.ly/jawsho-ec2
AWS概要からサインアップまで!~アカウント開設 & 仮想サーバを立ててみる~
http://bit.ly/jawsho-ec2
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が提供するクラウドの特徴
ワンクリックで、 数分後には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仮想サーバ
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/
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各サービスメニュー
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]をクリック
キーペアーを作成する「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
実行中・停止・終了のステータスがある起動したインスタンスは3つの状態を持つ
Running : 実行中、課金される。Stop処理で Stoppedへ遷移。
Stopped : 停止中、課金されない。Start処理で再度Runningへ遷移。
Terminated: 終了。Terminate処理で遷移。もうStop/Startはできない。
AMI Running実行中
Terminated終了
Stopped停止中
StartStop
Terminatelaunch
Terminate
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アドレスをインスタンスにひも付ける振り出した固定IPアドレスを作成したインスタンスにひも付けます。
1. ひも付けたい固定IPアドレスをクリックしてチェック
2. [Associate Address]をクリック
インスタンスのIPアドレスを確認するInstancesのページでも確認できます。
1. [INSTANCES] – [Instances]をクリック
2. 確認したいインスタンスをクリック
3.固定IP (Elastic IP)が確認できる
インスタンスへ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ログインがうまくいかない場合インスタンスは完全に起動完了しているか?
起動時に指定した内容どおりに起動しているか?
指定した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
AWS クラウドサービス活用資料集AWSを活用していくのに有用な資料がまとめられた宝の山http://aws.amazon.com/jp/aws-jp-introduction/