Top Banner
はじめてのElastic Beanstalk Amazon Data Services Japan
25

はじめての Elastic Beanstalk

Jun 10, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: はじめての Elastic Beanstalk

はじめてのElastic Beanstalk

Amazon Data Services Japan

Page 2: はじめての Elastic Beanstalk

Elastic Beanstalkとは

Instance

Amazon RDS Elastic Load Balancer

Instance

Auto scaling Group CloudWatch

deploy! WAR

• AWS上のベストプラクティス構成を自動作成 • コードをデプロイするだけでWebアプリケーションを開始

Page 3: はじめての Elastic Beanstalk

ElasticBeanstalkの論理構成

Application

Environment Version

WAR/ZIP URL Environment Configuration

Configuration Template

Environment

URL Environment Configuration

WAR/ZIP

WAR/ZIP

WAR/ZIP

WAR/ZIP

Environment

URL Environment Configuration

Page 4: はじめての Elastic Beanstalk

Environment

各環境の中を覗くと

Management

Console

S3

CloudWatch

ElasticLoadBalanceing

EC2

HM

EC2

HM

AutoScaling

Security Group

eclipse

SNS

URL

この環境が 自動で構成されている

Page 5: はじめての Elastic Beanstalk

アプリケーションの作成

Application

Page 6: はじめての Elastic Beanstalk

アプリケーションと環境の作成

6

希望のアプリケーションコンテナを選択してStartを押す

Page 7: はじめての Elastic Beanstalk

アプリケーションと環境の作成

7

環境の構成が終わるのを待つ

Page 8: はじめての Elastic Beanstalk

アプリケーションと環境の作成

8

初期バージョンにアクセス

Click

Page 9: はじめての Elastic Beanstalk

アプリケーションと環境の作成

9

デプロイされたサンプルアプリケーションを確認

Page 10: はじめての Elastic Beanstalk

ここまでに出来上がった構成

Application

Default Environment

URL Environment Configuration

Version

WAR/ZIP

http://Default-Environment-XXXXXX.elasticbeanstalk.com

サンプルアプリケーション

Page 11: はじめての Elastic Beanstalk

マネージメントコンソールから コードをデプロイ

11

WARファイルやZIPで固めたプロジェクトなど

Check

バージョンに付ける名前

アップロードするファイルを選択

Page 12: はじめての Elastic Beanstalk

Gitでコードをデプロイ ~準備編~

作業環境の用意(既にあればスキップ)

• EC2インスタンスを起動(t1.microで十分)

• ログインしてgitをインストール

ElasticBeanstalkのCLIツールをダウンロード

• 下記URLから最新版のURLを取得

• http://aws.amazon.com/code/6752709412171743

• ダウンロードと解凍(下記例ではVersion 2.3)

12

$ sudo yum –y install git

$ wget https://s3.amazonaws.com/elasticbeanstalk/cli/AWS-ElasticBeanstalk-CLI-2.3.zip $ unzip AWS-ElasticBeanstalk-CLI-2.3.zip

Page 13: はじめての Elastic Beanstalk

Gitでコードをデプロイ ~プロジェクトセットアップ編~

プロジェクトを作成して初期化

AWS Dev Toolを使ってデプロイに関するコンフィグ

• スクリプトを走らせてgit の拡張コマンドをインストール

• aws.configコマンドでデプロイに関するコンフィグを設定

13

$ mkdir helloworld $ cd helloworld $ git init

$ ~/AWS-ElasticBeanstalk-CLI-2.3/AWSDevTools/Linux/AWSDevTools-RepositorySetup.sh

$ git aws.config AWS Access Key: AKIXXXXXXXXXXXXXXXX AWS Secret Key: zGt9B9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS Region [default to us-east-1]: ap-northeast-1 AWS Elastic Beanstalk Application: My First Elastic Beanstalk Application AWS Elastic Beanstalk Environment: Default-Environment

Page 14: はじめての Elastic Beanstalk

Gitでコードをデプロイ ~実施編~

コードを開発、ローカルでテスト

Git でローカルレポジトリに変更をコミット

Beanstalkの環境にコードをデプロイ

14

$ cat > index.php <html><head><title>PHP Test</title></head> <body><?php echo '<h1>Hello, World!</h1>'; ?></body></html> Ctrl+d

$ git add index.php $ git commit -m "initial commit"

$ git aws.push Counting objects: 3, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 306 bytes, done. Total 3 (delta 0), reused 0 (delta 0) remote: To https://AKIA.... * [new branch] HEAD -> master

Page 15: はじめての Elastic Beanstalk

更新されたコードのデプロイを確認

15

更新が完了するとステータスが再びグリーンに Running Versionも更新される

Page 16: はじめての Elastic Beanstalk

各バージョンの一覧を確認

16

バージョンタブを選択

任意のバージョンを選択してロールバックす

ることも可能

Page 17: はじめての Elastic Beanstalk

ここまでに出来上がった構成

Application

Default Environment

URL Environment Configuration

Version

WAR/ZIP

http://Default-Environment-XXXXXX.elasticbeanstalk.com

サンプルアプリケーション

WAR/ZIP

最後にデプロイしたバージョン

Page 18: はじめての Elastic Beanstalk

ステージング環境の追加

18

環境名

環境に割り当てるURL (要Global Unique)

デプロイするバージョンを指定 (ここでは再びサンプルを選択)

Page 19: はじめての Elastic Beanstalk

新環境の初期設定

19

使用するインスタンスタイプ

インスタンスにログインするためのSSHキーペア名(任意)

Page 20: はじめての Elastic Beanstalk

追加された環境の確認

20

Page 21: はじめての Elastic Beanstalk

ここまでに出来上がった構成

Application

Default Environment

URL Environment Configuration

Version

WAR/ZIP

http://Default-Environment-XXXXXX.elasticbeanstalk.com

サンプルアプリケーション

WAR/ZIP

新たにデプロイしたバージョン

Staging Environment

URL Environment Configuration

Page 22: はじめての Elastic Beanstalk

環境のスワッピング

22

入れ替え元

入れ替え先

ステージング環境を本番環境に移行する場合など DNSの切り替えにより実施される

Page 23: はじめての Elastic Beanstalk

環境スワップが実行されたことを確認

23

今までDefault-EnvironmentについていたURLがStaging-Environmentに

Page 24: はじめての Elastic Beanstalk

ここまでに出来上がった構成

Application

Default Environment

URL Environment Configuration

Version

WAR/ZIP

サンプルアプリケーション

WAR/ZIP

新たにデプロイしたバージョン

Staging Environment

URL Environment Configuration

http://Default-Environment-XXXXXX.elasticbeanstalk.com

Page 25: はじめての Elastic Beanstalk