1
EC-CUBEイメージを使った AWSハンズオン
アマゾン データ サービス ジャパン株式会社
2013.03.31
meets
3 3
AWSとは?
4 4
Amazonを支える3つのビジネス
IT インフラ ビジネス
ウェブスケールでの クラウド基盤の提供
190以上の国において、数十万に及ぶ登録アカウント
セラー(売り手)向け ビジネス
アマゾンの ウェブサイト上で販売
自社小売ウェブサイトにAmazonの技術を利用
アマゾンフルフィルメントセンター(物流セン
ター)の活用
コンシューマー ビジネス
1億を超えるアクティブなアカウント
8カ国で展開 : 米国, 英国, ドイツ, 日本, フランス, カナダ, 中国,
イタリア
5 5
いつでも、必要なだけ、安価に
電気と同じようにインフラを調達可能
6 6
下記のAWSの説明で正しいものを選んでください
クラウドサービスを始めて5年以上
日本にデータセンターがある
DCの規模はAWS > amazon.comである
AWSは一度も値上げをしたことがない
昨年の新サービス、機能追加は50個以上
日本語の24時間サポートがある
【質問】
7 7
全て正しい クラウドサービスを始めて5年以上
日本にデータセンターがある
DCの規模はAWS > amazon.comである
AWSは一度も値上げをしたことがない
昨年の新サービス、機能追加は50個以上
日本語の24時間サポートがある
【回答】
8 8
成長を続けるAWSクラウド
米国で、クラウドストレージ=Amazon S3
クラウド仮想サーバ=Amazon EC2のサービスを開始
仮想プライベートクラウドサービス=Amazon VPC RDBサービス=Amazon RDSを開始
世界で5番目のリージョンとして、 日本に東京リージョン(データセンタ群)を開設
世界9か所のデータセンター群と、 39拠点のエッジロケーション網で、 25を超えるサービスを提供中
2006年
2009年
2011年3月
現在
9 9
AWS Global Infrastructure
US West (Northern
California)
US East (Northern
Virginia)
EU (Ireland)
Asia
Pacific (Singapore)
Asia
Pacific (Tokyo)
GovCloud (US ITAR
Region)
US West (Oregon)
South
America (Sao Paulo)
AWS Regions
AWS Edge Locations
Asia
Pacific (Sydney)
1. 全てのデータセンターが同じセキュリティレベルで運用 2. アカウントを作成するだけで、どこからでもすべての
リージョンが利用可能 3. どのリージョンでも同じ使い勝手、同じやり方で自由に
システム構築が可能
10 10
アベイラビリティーゾーン
EU (Ireland)
Availability
Zone A
Availability
Zone C
Availability
Zone B
Asia Pacific (Tokyo)
Availability
Zone A
Availability
Zone B
US West (Oregon)
Availability
Zone A
Availability
Zone B
US West(Northern California)
Availability
Zone A
Availability
Zone B
Asia Pacific (Singapore)
Availability
Zone A
Availability
Zone B
AWS GovCloud (US)
Availability
Zone A
Availability
Zone B
South America (Sao Paulo)
Availability
Zone A
Availability
Zone B
US East (Northern Virginia)
Availability
Zone D Availability
Zone C
Availability
Zone B
Availability
Zone E
Availability
Zone A
Asia Pacific (Sydney)
Availability
Zone A
Availability
Zone B DCを跨いだ冗長化が基本
11 11
AWSにおけるセキュリティの考え方
認定・認証の取得
SOC 1,2 Type 2 (formerly SAS-70)
ISO 27001
PCI DSS
FISMA
HIPAA & ITAR Compliant Architecture
MPAA preferred
物理セキュリティ
秘匿性の高いデータセンター群
非常に限定されたデータセンターへの物理アクセス
フロアへのアクセスは多要素認証を最低2回以上パスしないと入館不可
全ての物理的なアクセスは記録され、監査対象
ハードウェア, ソフトウェア, ネットワーク
全てのシステム変更は管理され、記録される
段階的なアップデートとリリース
ストレージの廃棄プロセス明確化
自動化されたモニタリングと、監査機能
より上位のネットワークレベルでのセキュリティ機能
エンタープライズクラスのセキュリティ機能と第三者認定を提供しています。
12 12
アマゾン ドット コムが2000年当時に 年商27.6億ドルの企業であった時 に必要なキャパシティと同等のものを AWSは毎日追加しています (circa 2000)
13 13
Amazonのコストモデル
規模の拡大とイノベーション… … コストダウンを促進
資本投資
技術投資
効率改善
値下げ
より多くの
顧客獲得
過去7年間で20回以上値下げを実施
規模の経済
AWSの様々なサービス お客様のアプリケーション
認証 AWS IAM
モニタリング Amazon
CloudWatch
Web管理画面 Management
Console
デプロイと自動化 AWS Elastic Beanstalk AWS Cloud Formation
AWS OpsWorks
IDEプラグイン Eclipse
Visual Studio
ライブラリ & SDKs Java, PHP, .NET, Python, Ruby,
node.js
Development &
Administration
AWS グローバルインフラ Geographical Regions, Availability Zones, Points of Presence AZ Region
ネットワーク & ルーティング Amazon VPC / Amazon Elastic Load Balancer / Amazon Route 53 /AWS Direct Connect
Infrastructure
Service
コンピュータ処理 Amazon EC2
Auto Scale
ストレージ Amazon S3 Amazon EBS
Amazon Glacier AWS StorageGateway
データベース Amazon RDS
Amazon DynamoDB Amazon ElastiCache
Amazon Redshift
コンテンツ配信 Amazon CloudFront
メッセージ Amazon SNS Amazon SQS Amazon SES
分散処理 Elastic MapReduce
検索エンジン Amazon Cloud Search
トランスコード Amazon Elastic Transcoder
ワークフロー管理 Amazon SWF
Application
Service
AWSサポート 日本語でのサポートを提供http://aws.amazon.com/jp/premiumsupport/
ベーシック デベロッパー ビジネス エンタープライズ
サポートフォーラム 利用可能 利用可能 利用可能 利用可能
サポートへの コンタクト
EC2の健全性エラーが発生した場
合 コンタクトフォーム
電話、チャット、 コンタクトフォーム
電話、チャット、 コンタクトフォーム
最速初回応答時間 不可 12時間以内
(営業時間内) 1時間以内 15分以内
連絡先登録 1 5 無制限
24/365対応 なし なし あり あり
上級サポートエンジニアへの直接ルーティング
なし なし あり あり
専任スタッフ なし なし なし あり
特別サポート なし なし なし あり
料金(月額) 無料 $49
AWS利用総額の $0~$10K: 10% $10K~$80K: 7%
$80K~$250K: 5% $250K~ 3% (最低$100)
AWS利用総額の $0~$150K: 10%
$150K~$500K: 7% $500K~$1000K: 5% $1000K~ 3%
(最低$15K)
16 16
インフラを支えるAWS
17 17
初期投資が不要
Up-Front On-Premise Costs
物理的なスペース
配線
電力
冷却
ネットワーク
ラック
サーバ
ストレージ
認定取得
労働力
オンプレミス Variable Cloud Computing Costs
¥0 利用開始にかかる費用
クラウドコンピューティング
18 18
リスクマネジメント 処理業務で
3,000CPU利用
サー
バー
数
週末は300CPUに縮小
Thur. Fri. Sun. Mon. Tue. Sat. Wed.
3000
300
本来必要となるキャパシティ
実際の使用分のみの支払い
19 19
調達・構築が容易なインフラ Deploy
オンプレミス(物理施設) 新しいインフラの構築は複雑
かつ遅くなりがち
必要 調査 評価
計画 設計 エンジニア
調達 契約 コミッション
デプロイ
Source: PTS Data Center Solutions
クラウド ワンクリックで新しい
インフラを用意
新しいデプロイ環境
新しいテスト環境
新しい環境を日本に追加
1,000 サーバ追加
1,000 サーバ削除
20 20
利用状況/用途に合わせた、タイムリーにインフラを提供
EC
2サ
ーバ
の数
4/12/2008
Facebook上での公開
トラフィックの急増にも対応 (ピーク時は5000サーバー)
4/14/2008 4/16/2008 4/18/2008 4/20/2008
必要な時に必要なだけ調達
スケールするインフラ
21 21
俊敏な市場投入 Deploy
オンデマンドで、 必要な時に必要なだけ
ワンクリックで、 数分後にはリソースが手元に
インフラに、 柔軟性とスピードをもたらす
22 22
コストの優位性
初期投資不要
利用した分のみの従量課金
– 配信流量(AWSから外に送信された分のみ)
– サーバ稼働時間
– ストレージ格納容量
マネージドインフラによる運用コスト削減
23 23
EC-CUBE on AWS
24 24
こんな構成で運用されてませんか?
ラックを借りて1Uサーバを設置し運用
VPSやレンタルサーバの場合も
Web
データセンター
Internet
物理サーバ
こんな時どうする?
25 25
Management Console
インフラ担当
EC-CUBE on AWSなら
AMI (Amazon Machine Images)
インフラや各種設定はどうする?
Internet
サイト制作/運用者
フルマネージ
26 26
バックアップどうする?
メンテナンス/運用
Management
Console
インフラ担当
Create Image
Management
Console
インフラ担当
Change Instance Type
性能どうする?
27 27
メンテナンス/運用
28 28
Cloud Design Pattern
EC-CUBEを利用したEコマースサイトにおける可用性・耐障害性を高めるための実装パターンをご紹介
+
http://www.amazon.co.jp/dp/4822211967/ http://www.slideshare.net/AmazonWebServicesJapan
/aws-summit-2012-3-cdp-e-eccube
29
Let’s ハンズオン!
meets
http://www.slideshare.net/AmazonWebServicesJapa
n/eccube-aws-handson
30 30
1st STEP
EC2インスタンスを起動するために必要な準備を行います。
– すでにAWSアカウントを取得されていることが前提となります。
Key Pairとは?
Key Pairの作成・設定・確認
Security Groupとは?
Security Groupの作成・設定・確認
31 31
AWSアカウントの作成
AWSで作業を行うために、アカウントを作成します。
ご用意いただくもの
– インターネットにつながったPC
– メールアドレス(アカウント登録に必要です)
– クレジットカード(アカウント作成中に番号を登録します)
– 携帯電話(アカウント作成中に使用します)
作成手順
– http://aws.amazon.com/jp/register-flow/ に沿って進めてください
– (参考資料) http://www.slideshare.net/kentamagawa/3aws
アカウント作成後、管理ツールにログインできれば完了です
– http://console.aws.amazon.com/
各種ソフトウェアもご用意ください
– 推奨ブラウザ:IE9、FireFox 、Chrome
– SSHコンソール: TeraTerm(TTSSH2)
• http://sourceforge.jp/projects/ttssh2/
32 32
Management Consoleへログイン
作成したアカウントのメールアドレス・パスワードでログイン – https://console.aws.amazon.com/
AWS Management
Console
33 33
EC2画面への移動
EC2サービスを選択
右上からTokyoリージョンを選択
34
Key Pair
35 35
Key Pairとは?
Key Pairを作成すると、1組の公開鍵・秘密鍵が作成される
公開鍵はAWS側で保管。EC2起動時にインスタンスにコピー
秘密鍵はローカル側で保管。ログイン時に必要
リージョンごとに独立
キーペアの作成
公開鍵は、AWSによってEC2起動時に埋め込まれる
秘密鍵は、デスクトップにダウンロード
される
EC2インスタンスは2つの鍵を用いる
36 36
鍵認証とは?
ユーザ名・パスワードの認証よりも安全な認証方式
公開鍵・秘密鍵のペアが合っている場合のみログイン可能
公開鍵 ProdKey
DevKey
LabKey
コピー
37 37
Key Pair作成の流れ
任意のKey Pair名を入力( 例: mykey)
「Create & Download your Key Pair」をクリック
公開鍵、秘密鍵のペアを作成し、秘密鍵をダウンロードする – ダウンロードしたKey Pair名に紐付くSSH秘密鍵(mykey.pem)は、インスタン
スへSSHログインする際に必要。
注意 – 秘密鍵は再発行できません。無くさないように管理してください。
– 秘密鍵を無くすと、既存のEC2インスタンスにログインできなくなります
– 秘密鍵は厳重に管理してください。第三者がEC2インスタンスに不正ログインできてしまいます。
38 38
Key Pair作成手順
EC2画面 > Tokyoリージョン選択 >Key Pairsに移動
Create Key Pair を押して、任意の Key Pair名( 例: mykey ) を入力する
作成と同時に秘密鍵ファイルmykey.pemが自動でダウンロードされる
39 39
Key Pairの確認方法
EC2画面 > Key Pairsで確認 – 作成したKey Pairs名が表示されていることを確認
– ローカルに、対応する秘密鍵ファイルmykey.pemがある事を確認
40 40
ハンズオン: Key Pairの作成・確認
作業用Key Pairを作成 – 任意の Key Pair名( 例: mykey )で作成
– 東京リージョンに作成
Key Pairs画面で確認 – 作成したKey Pairs名が表示されていることを確認
– ローカルPC上の、対応する秘密鍵ファイルmykey.pemの場所(パス)を確認
– リージョンに注意(他のリージョンでは表示されないことも確認)
41
Security Group
42 42
Security Groupとは?
インスタンスへのトラフィックを制限するSemi-statefulなファイアーウォール機能
デフォルトでは全トラフィックが閉じており、外からアクセスできない
必要な受信アクセスに対してアクセスルールを定義する – プロトコル( TCP/UDP)
– 宛先ポート
– アクセス元IP / Security Group
設定したルール以外の受信トラフィックは破棄される
ルールをひとまとめにしたテンプレートを Security Groupと呼ぶ
ポート22 (SSH)
ポート80 (HTTP)
EC2ファイアウォール
Security Group
ポート25 (SMTP)
43 43
Security Groupの特徴
リージョンごとに独立して管理 – 同じSecurity Group名でも、リージョンが異なれば別
インスタンス起動時に 適切なSecurity Groupを選択
稼働中のインスタンスのSecurity Groupを編集可能
インバウンド(外部からインスタンスへ)のアクセスを制御する
アクセス許可できる内容 – プロトコル (HTTP, SSH, ポート番号、ポートレンジ)
– アクセス元(IPアドレス、セキュリティグループID)
参考情報
用語集Security Group – http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/glossary.html#d0e41681
Security Groupの利用 – http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-network-
security.html
Security Groupの使い方
インスタンスの用途に応じたSecurity Groupを用意する – Webサーバ用、DBサーバ用、メールサーバ用等
アクセス元を指定して限定
アクセス元にSecurity Groupも設定可能
Webサーバ
Webサーバ
DBサーバ
sg-1234
22: 0.0.0.0/0
80: 0.0.0.0/0
25: sg-1234
sg-1234
sg-1234
sg-abcd sg-abcd
22: 0.0.0.0/0
3306: sg-1234
Webサーバ
sg-xyz
45 45
Security Group作成手順
任意のグループ名で Security Groupを作成する ( 例: my_sg)
今回は非VPC用のSecurity Groupを作成する
46 46
Security Group設定手順
作成したSecurity Groupを選択する
今回はWebサーバ用に 22(SSH), 80(HTTP), 443(HTTPS)をルールとして追加
最後に「Apply Rule Changes」を押して設定を確定する
47 47
Security Groupの確認方法
EC2画面 > Security Groupsで確認 – 作成したSecurity Group名が表示されていることを確認
– Inboundタブで、ルールが正しいことを確認
– アクセス制御の用途に応じて、適宜ルールを編集
48 48
Security Groupの注意事項
作成したSecurity Groupが表示されない – 左上のリージョンを確認してください
– 同じSecurity Group名でも、リージョンが異なれば別のGroupです。
– TokyoリージョンでEC2を起動する場合は、同じリージョンでSecurity Groupを作成してください
設定したルールが表示されない – 「Add Rule」でルールを設定しただけではありませんか?
– 「 Apply Rule Changes 」で変更を確定する必要があります。
49 49
ハンズオン: Security Groupの作成・確認
WebServer用Security Groupを作成 – 任意の Security Group名( 例: websg )で作成
– SSH, HTTP, HTTPSを開けるようにルール追加・適用
– 東京リージョンに作成
Security Group画面で確認 – 作成したSecurity Group名が表示されていることを確認
– 設定したルールが表示されていることを確認
– リージョンに注意(別のリージョンでは表示されないことも確認)
50
EC-CUBEサーバ を準備しましょう
51 51
EC-CUBEの起動
EC-CUBEがすでにセットアップ済みのAMI(Amazon Machine Images)テンプレートを使って、セットアップ済みのEC-CUBEサーバーを起動してみましょう。
AMI (Amazon Machine Images)
52 52
Amazon EC2インスタンスの起動
EC2画面 > Tokyoリージョン選択 > Instancesを選択
Launch InstanceボタンよりEC2起動ウィザードを立ち上げる
ウィザードの初期画面では、「Classic Wizard」を選択し「Continue」をクリック
53 53
Amazon EC2インスタンスの起動
Community AMIsタブ > All Images > EC-CUBE AMI IDを入力
リストに表示された後、「Select」ボタンをクリック
ami-d1de5ed0
54 54
Amazon EC2インスタンスの起動
インスタンスのサイズ、起動アベイラビリティーゾーンの選択が面が表示されるので、そのまま「Continue」をクリック
55 55
Amazon EC2インスタンスの起動
Advanced Option画面とStorage Devices
Configuration画面はそのまま「Continue」をクリック
56 56
Amazon EC2インスタンス起動
Management Console上でのインスタンス表示名を指定し、「Continue」をクリック
57 57
Amazon EC2インスタンスの起動
Key Pair選択画面では、作成済みのKeyを選択
58 58
Amazon EC2インスタンスの起動
Security Group画面では作成済みのセキュリティグループを選択
59 59
Amazon EC2インスタンスの起動
Launchボタンをクリックすると数分後にインスタンスが立ち上がってきます。
EC2画面の対象インスタンスにてStatus Checksが「2/2 checks passed」となったら起動完了です。
60 60
ハンズオン: EC2インスタンスの起動・確認
EC2インスタンスを起動 – EC-CUBEセットアップ済みAMIを指定してインスタンスを起動
– インスタンスタイプはt1.microを選択
– 作成済み、Key PairおよびSecurityグループを指定
– 東京リージョンに作成
Instances画面で起動確認 – 作成したSecurity Group名が表示されていることを確認
– 設定したルールが表示されていることを確認
– リージョンに注意(別のリージョンでは表示されないことも確認)
61 61
Amazon EC2へのSSHログイン
EC2画面 > Instances > EC-CUBEインスタンスのチェックボックスをチェックすると、画面下部にインスタンス詳細情報が表示されます。
詳細画面よりインスタンスの「Public DNS」名をコピーしてください。
Amazon EC2へのSSHログイン
Windowsからログインする場合 – TeraTerm (ttssh.exe) を起動
http://sourceforge.jp/projects/ttssh2/
– 接続するインスタンスのホスト名を入力
– SSH2を指定
– ユーザ名: ec2-user
– KeyPair作成時に取得した秘密鍵ファイルを選択して接続
63 63
Amazon EC2へのSSHログイン
Macからログインする場合 – Terminalからコマンドラインでログイン(事前にパーミッションを600に!)
ブラウザからログインする場合 – インスタンスを右クリック-> Connect を選択
– 秘密鍵ファイルを指定して接続
$ chmod 600 ~/.ssh/keypair_name.pem
$ ssh -i ~/.ssh/keypair_name.pem ec2-user@インスタンスホスト名
64 64
EC-CUBEインストール画面
ブラウザーを起動しEC-CUBEのインストール画面にアクセスします。
65 65
ハンズオン: インスタンスへの接続 & EC-CUBEインストール画面への アクセス
SSHでインスタンスへ接続 – SSHクライアントを起動し、インスタンスのPublic DNS名を指定
– ログインユーザは「ec2-user」
– 秘密鍵は、Key Pair作成時にローカルにダウンロードしたPEMファイルを指定
– ログイン後ルートユーザになるには「# sudo -i」を実行
EC-CUBEインストール画面へのアクセス – ブラウザーを起動して、アドレスにインスタンスのPublic DNS名を指定
66 66
インスタンスのライフサイクル
起動したインスタンスは3つの状態を持つ – Running : 実行中、課金される。Stop処理で Stoppedへ遷移。
– Stopped : 停止中、課金されない。Start処理で再度Runningへ遷移。
– Terminated: 終了。Terminate処理で遷移。もうStop/Startはできない。
AMI
Stopped
Start Stop
Running launch
Terminated
Terminate
Terminate
67 67
インスタンスの停止/再開/終了
EC2画面 > Instances > 対象インスタンスのチェックボックス > 「Actions」のドロップダウンよりオペレーションを選択
68 68
インスタンスのバックアップ
セットアップ済みのインスタンスのシステムイメージを取得できます。
EC2画面 > Instances > 対象インスタンスのチェックボックス > 「Actions」のドロップダウンより「Create Image (EBS AMI)」を選択
Create Image画面にて、Imange Nameと「Image Description」を入力して「Yes, Create」をクリック (「No Reboot」にチェックをつけることで、オンラインでも取得可能)
69 69
インスタンスのバックアップ
AMIとしてマシンイメージが作成されます。AMIより新たにEC2インスタンスを立ち上げることが可能になります。
AMIの確認は、EC2画面 > AMIsで取得したイメージを確認
AMIからの起動は、EC2画面 > AMIs > 取得済みAMI > Launchボタンをクリック
70 70
インスタンスのスケールアップ
設定をそのままに、インスタンスのサイズ(SPEC)を変更することが可能
インスタンスを「STOP」状態にした後、 EC2画面 > Instances > 対象インスタンスのチェックボックス > 「Actions」のドロップダウンより「Create Image (EBS AMI)」を選択
Change Instance Type画面にて、変更するInstance Typeを選択し、「Yes, Change」をクリック
71