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

はじめての Elastic Beanstalk

Embed Size (px)

Citation preview

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