Upload
amazon-web-services-japan
View
8.632
Download
0
Embed Size (px)
Citation preview
AWS Black Belt Online SeminarAWS体験ハンズオン~ Deploy with EB CLI編 ~
Easy to begin, Impossible to outgrow
アマゾンウェブサービスジャパン株式会社
ソリューションアーキテクト 江川大地
2017.05.24
© 2017 Amazon Web Services, Inc. and its affiliates. All rights reserved.
2
AWS Black Belt Online Seminar とは
AWSJ の Tech メンバーが AWS に関する様々な事を紹介するオンラインセミナーです
【火曜 12:00~13:00】
主に AWS のソリューションや
業界カットでの使いどころなどを紹介
(例:IoT、金融業界向け etc.)
【水曜 18:00~19:00】
主に AWS サービスの紹介や
アップデートの解説
(例:EC2、RDS、Lambda etc.)
• 開催曜日と時間帯は変更となる場合がございます。
• 最新の情報は下記をご確認下さい。
オンラインセミナーのスケジュール & 申し込みサイトhttps://aws.amazon.com/jp/about-aws/events/webinars/
3
本ハンズオンの目的
AWS Elastic Beanstalk を利用したデプロイを体験する
• Elastic Beanstalk Command Line Interface(EB CLI) の利用
• EB CLI を利用したアプリケーションのデプロイ
• EB CLI を使用したインプレース・デプロイメント(ローリングデプロイ)
• EB CLI を使用したレッド/ブラック・デプロイメント
• AWS クラウド無料利用枠の範囲で確認できますhttps://aws.amazon.com/jp/free/
4
事前に準備すべきもの
• AWS アカウントおよび下記サービスを利用可能なIAMユーザー- Elastic Beanstalk, EC2, ELB, Auto Scaling, S3, CloudWatch Logs, IAM, Cloudformation
• AWS アカウント作成の流れとポイントhttps://aws.amazon.com/jp/register-flow/
• SSH 接続ができるソフトウェア(Windows の場合は Tera Term など)
• Web ブラウザ
• Firefox または Chrome を推奨
• 関連資料のダウンロード(画面右上にリンクあり)• 本セミナー資料
• コマンドラインテキストhttp://bit.ly/2rS7Iyu 資料を選択して
参照をクリック
5
注意事項
お客様の環境により、本ラボが実施できない場合がございます
• すべてのサポートは難しい点についてご了承ください
本資料からコピーアンドペーストしないでください
• 不必要なスペース等が入る可能性があります
複数の画面を表示するため、ディスプレイ表示を工夫してください
オンラインセミナー配信画面
ブラウザ(Chrome, Firefox)・資料(PDF)閲覧・AWS マネジメントコンソール・簡易アプリケーション・入力用テキストなど 任意のテキストエディタ
・コピーアンドペースト用に使用
6
Agenda
• ハンズオンのための作業環境構築(EC2 インスタンス(Linux)の作成)
• AWS Elastic Beanstalk 概要
• ハンズオン
• EB CLI のインストールと EB CLI による環境構築
• EB CLI によるデプロイ
• 環境の削除
※ 「ハンズオン」ページが皆様が作業するページです
12
進捗確認
AWS マネジメントコンソールへサインインできましたか?
作業が終わった方は左上のマークをクリックし、[賛成] を選択してください
確認が終わりましたら、[状態の消去] で状態をキャンセルできます
(お時間が余った方)参考資料: AWS Elastic Beanstalk: https://aws.amazon.com/jp/elasticbeanstalk/AWS Elastic Beanstalkドキュメント: http://docs.aws.amazon.com/ja_jp/elasticbeanstalkクラウドサービス活用資料集: https://aws.amazon.com/jp/aws-jp-introduction/
15
IAM ロールの作成(3/4)
作業: BeanstalkFullAccess ポリシーを持つ IAM ロールを作成する
1. “Amazon EC2” の隣にある[選択]をクリック
2. 検索窓に「beanstalkfull」と入力
4. [次のステップ]をクリック
3. [AWSElasticBeanstalkFullAccess]ポリシーをチェック
16
IAM ロールの作成(4/4)
作業: BeanstalkFullAccess ポリシーを持つ IAM ロールを作成する
1. 「ロール名」に任意の名前(例:beanstalk_role)を入力
2. [ロールの作成]をクリック
17
作業環境(Amazon EC2 インスタンス)の作成(1/8)
作業: EC2 コンソールへ移動
2. 検索ウィンドウに“EC2”と入力し、表示された[EC2]をクリック
1. [サービス]をクリック
18
作業環境(Amazon EC2 インスタンス)の作成(2/8)
作業: AMI, インスタンスタイプを選択
1. [インスタンスの作成]をクリック
2. 「Amazon Linux」 の[選択]をクリック
3. [次の手順]をクリック
19
作業環境(Amazon EC2 インスタンス)の作成(3/8)
作業: インスタンスの詳細設定で IAM ロールを選択
1.「IAM ロール」で先ほど作成したロールを選択
2. [次の手順]をクリック
23
作業環境(Amazon EC2 インスタンス)の作成(7/8)
作業: 最終確認とキーペアの設定
1.[起動]をクリック
2. [次の手順]をクリック2.キーペア名を入力し、 [キーペアのダウンロード]をクリック
3.[インスタンスの作成]をクリック
26
AWS Elastic Beanstalk とは
特徴 (http://aws.amazon.com/jp/elasticbeanstalk/)
• 速く簡単にアプリケーションをデプロイ可能• インフラストラクチャの準備&運営からアプリ
ケーションスタックの管理まで自動化• Auto Scaling によりコストを抑えながらスケー
ラビリティを確保• Java, PHP, Ruby, Python, Node.js, .NET,
Docker, Goに対応
価格体系 (http://aws.amazon.com/jp/elasticbeanstalk/pricing/)
• 追加料金なし• アプリケーションの保存、実行に必要なAWSリ
ソース (EC2, S3, RDS, ELB など) に対してのみ課金
定番構成の構築・アプリデプロイの自動化サービス
27
ウェブサーバー環境
サポートする環境と対応プラットフォーム
ワーカー環境
Auto scaling Group Auto scaling Group
Amazon S3
Your Code(war/zip)
Ruby
Python
Node.js
.NET
PHP
Java
Go
yourenv.elasticbeanstalk.com
28
Elastic Beanstalk vs. Do It Yourself
On-instance configuration
Your code
HTTP Server
Application Server
Language Interpreter
Operating System
Host
29
On-instance configuration
Your code
HTTP Server
Application Server
Language Interpreter
Operating System
Host
アプリケーションの開発”だけ”にフォーカス
Elastic Beanstalkにお任せ!
Elastic Beanstalk vs. Do It Yourself
30
AWS Elastic Beanstalk の構成要素(1/3)
アプリケーション
環境(Environment)
URL 環境設定
環境(Environment)
URL 環境設定
環境(Environment)
URL 環境設定
VersionRepository
Your code(War/Zip)
Your code(War/Zip)
Your code(War/Zip)
詳細:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/concepts.components.html
31
AWS Elastic Beanstalk の構成要素(2/3)
アプリケーション
• トップレベルの論理単位
• バージョン、環境、環境設定が含まれている入れ物
バージョン(Application Version)
• デプロイ可能なコード
• Amazon S3 上でのバージョン管理
• 異なる環境に異なるバージョンをデプロイ可能
詳細:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/concepts.components.html
32
AWS Elastic Beanstalk の構成要素(3/3)
環境
• 各環境(ウェブサーバ、ワーカー) に応じて構築されるインフラ環境
• バージョン(ソースコード)をデプロイ
例)Webサーバ環境:ELB + EC2(コードがデプロイされる)
環境設定
• その環境に関連するリソースの動作を定義する設定パラメータ
• 例)EC2 のインスタンスタイプ、Auto Scaling の設定など
詳細:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/concepts.components.html
33
複数環境を利用する例
V1.1
アプリケーション
開発環境 ステージング環境 本番環境
Python 3.4
AMI ID ami-abcd2222
Python 2.7
AMI ID
ami-abcd1111
Python 2.7
AMI ID
ami-abcd1111
V1.2
35
操作概要
• EB CLI のインストール
• EB CLI の初期設定とアプリケーション作成
• eb init コマンドの実行
• EB CLI による環境作成
• eb create コマンドの実行
36
アプリケーション、環境を構築する方法
1. AWS Management Console
2. 各種 IDE ツール
• AWS Toolkit for Eclipse(Java アプリケーションの構築に対応)• http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/java-eclipsetoolkit.html
• AWS Toolkit for Visual Studio(.Net アプリケーションの構築に対応)• http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/dotnet-toolkit.html
3. 各種 SDK, AWS CLI
• API と一対一な操作が可能• http://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/ (AWS CLI)
4. EB Command Line Interface(EB CLI)
• ハイレベルな操作が可能なコマンドラインツール
• 頻繁にデプロイが繰り返される環境下での自動化に便利• http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb-cli3.html
37
EB CLI とは
• AWS Elastic Beanstalk のコマンドラインインターフェイス
• 環境の作成、更新、モニタリングを簡素化する高レベルコマンドを提供
AWS CLIのelasticbeanstalkコマンドはAPIに1対1で対応
• 主なコマンド
init
create
deploy
upgrade
terminate
clone
status
詳細:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb3-cmd-commands.html
38
EB CLI のインストール
• 事前準備で作成した EC2 インスタンスにログイン
- Tera Term(windows), ターミナル(Mac)などで
- ユーザー:ec2-user
作業:下記のコマンドを実行し、EB CLI をインストール
作業:作業用フォルダの作成
$pip install --upgrade --user awsebcli
$ mkdir ~/eb-lab $ cd ~/eb-lab
39
EB CLI の初期設定
作業:下記のコマンドを実行
• 対話形式で下記項目を設定していく(詳細は次ページ以降)
• リージョン
• アプリケーション名
• プラットフォーム(プログラム言語など)
• 利用するプログラム言語のバージョン
• EC2インスタンスへのSSH可否
• SSHする場合のキーペア
$ eb init
40
EB CLI の初期設定
作業: リージョンの選択
1) us-east-1 : US East (N. Virginia)2) us-west-1 : US West (N. California)3) us-west-2 : US West (Oregon)4) eu-west-1 : EU (Ireland)5) eu-central-1 : EU (Frankfurt)6) ap-south-1 : Asia Pacific (Mumbai)7) ap-southeast-1 : Asia Pacific (Singapore)8) ap-southeast-2 : Asia Pacific (Sydney)9) ap-northeast-1 : Asia Pacific (Tokyo)10) ap-northeast-2 : Asia Pacific (Seoul)11) sa-east-1 : South America (Sao Paulo)12) cn-north-1 : China (Beijing)13) us-east-2 : US East (Ohio)14) ca-central-1 : Canada (Central)15) eu-west-2 : EU (London)(default is 3):9
“9” を入力し、東京リージョンを選択する
41
EB CLI の初期設定
作業: アプリケーション名とプラットフォームの選択
Enter Application Name(default is "eb-lab"):
デフォルトで良いので、空白のままエンター
Application eb-lab has been created.
Select a platform.1) Node.js2) PHP3) Python4) Ruby5) Tomcat6) IIS7) Docker8) Multi-container Docker9) GlassFish10) Go11) Java12) Packer(default is 1): 2
“2” を入力し、PHPを選択
42
EB CLI の初期設定
作業: PHP バージョンの選択
Select a platform version.1) PHP 5.42) PHP 5.53) PHP 5.64) PHP 7.05) PHP 5.3(default is 1): 3
“3” を入力し、5.6を選択する
43
EB CLI の初期設定
作業: SSH の可否を選択
Do you want to set up SSH for your instances?(Y/n): y
“y” を入力し、SSHログインを可能にする
Select a keypair.1) eb-key2) [ Create new KeyPair ] (default is 1): 2
“Create new Keypair” を選択し、新たにSSHキーを作成する(環境によって選択肢が異なります)
Type a keypair name.(Default is aws-eb):
任意の名前を入力する
Generating public/private rsa key pair.Enter passphrase (empty for no passphrase): Enter same passphrase again:
パスフレーズは空白のままエンター
45
進捗確認
eb init が完了し、プロンプトは返ってきましたか?
作業が終わった方は左上のマークをクリックし、[賛成] を選択してください
確認が終わりましたら、[状態の消去] で状態をキャンセルできます
(お時間が余った方)参考資料: AWS Elastic Beanstalk: https://aws.amazon.com/jp/elasticbeanstalk/AWS Elastic Beanstalkドキュメント: http://docs.aws.amazon.com/ja_jp/elasticbeanstalkクラウドサービス活用資料集: https://aws.amazon.com/jp/aws-jp-introduction/
46
環境構築とサンプルアプリケーションのデプロイ
作業:サンプルWebアプリケーションの取得と展開
$ cd /tmp$ wget https://s3-ap-northeast-1.amazonaws.com/daichie/materials/ec2-info.zip
テンポラリディレクトリに移動し、デプロイ対象となるサンプルのPHP アプリケーションをダウンロード
$ unzip ec2-info.zip$ cp -r ec2-info/* ~/eb-lab/$ cd ~/eb-lab eb init の初期設定を行った
ディレクトリへ展開
47
環境構築とサンプルアプリケーションのデプロイ
作業:Elastic Beanstalk 環境を作成する(環境名とURLの指定)
$ eb createEnter Environment Name(default is eb-lab-dev):Enter DNS CNAME prefix(default is eb-lab-dev): eb-myname-dev
Select a load balancer type1) classic2) application(default is 1): 1
“1” を入力して、Classic ELB を選択
環境名はデフォルトでよいので、空白のままエンター
URL の prefix は他の人と重複しない任意の値を入力
48
環境構築とサンプルアプリケーションのデプロイ
作業: 下記のような表示を確認して、”Ctrl+C” を入力
Creating application version archive "app-170525_hhmmss".Uploading: [##################################################] 100% Done...Environment details for: eb-lab-dev
Application name: eb-labRegion: ap-northeast-1Deployed Version: app-170525_062936Environment ID: e-2bpp53gwexPlatform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP 5.6
running on 64bit Amazon Linux/2.4.0Tier: WebServer-StandardCNAME: ec2-user-dev.ap-northeast-1.elasticbeanstalk.comUpdated: 2017-05-25 06:29:42.389000+00:00
Printing Status:INFO: createEnvironment is starting.-- Events -- (safe to Ctrl+C)
この表示を確認したら、”Ctrl+C” を入力
49
環境構築とサンプルアプリケーションのデプロイ
作業: 環境の構築状況を確認
$ eb statusApplication name: ec2-userRegion: ap-northeast-1Deployed Version: app-170521_062936Environment ID: e-2bpp53gwexPlatform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP
5.6 running on 64bit Amazon Linux/2.4.0Tier: WebServer-StandardCNAME: ec2-user-dev.ap-northeast-1.elasticbeanstalk.comUpdated: 2017-05-25 06:33:13.613000+00:00Status: ReadyHealth: Green
”Status” が、”Ready” かつ、”Health” が ”Green” となったら、次の作業へ進みます。
51
環境構築とサンプルアプリケーションのデプロイ
作業:Web ブラウザでデプロイした PHP コードの確認
$ eb open
ブラウザ上に、EC2 インスタンスのメタデータが表示されることを確認(“q”を入力するとエスケープ可能)
バージョンはv1.0
53
構築したリソースをマネジメントコンソールでも確認
作業:マネジメントコンソールで Beanstalk のページへ移動
1. 左上の[サービス]-[ElasticBeanstalk]をクリック
2. 作成したアプリケーション、環境が存在することを確認し、「環境名」ををクリック
54
構築したリソースをマネジメントコンソールでも確認
作業:環境のURL を確認(後で利用)
1. 環境の状態などを確認
2. この環境の URL にアクセスして eb open で表示した画面を確認し、URL をテキストエディタなどにコピー&ペースト
55
進捗確認
eb open で PHP アプリケーションが動いていることを確認できましたか?
作業が終わった方は左上のマークをクリックし、[賛成] を選択してください
確認が終わりましたら、[状態の消去] で状態をキャンセルできます
(お時間が余った方)以下の操作を試してみましょう: • マネジメントコンソールでその他のページを確認• EB CLI で以下のコマンドを実行
eb events:構築した環境のイベント情報を表示します eb health:環境の監視情報を表示します eb ssh:構築した環境に SSH 接続します eb logs:ログ(Apache のログなど)を表示します eb config: 現在の環境設定を表示し、内容の確認、編集を行うことができます。
57
操作概要
• EB CLI による新バージョンのコードのデプロイ
• In Place Deployment(Rolling Deploy)
eb deploy コマンドの実行
• Red/Black Deployment(Blue/Green Deployment)
eb swap コマンドの実行
58
デプロイメントに関する用語
In Place Deployment(Rolling Deploy)• インスタンスは現行環境のものをそのまま利用し、
新しいリビジョンのコードをその場で反映させる
Blue/Green Deployment(Red/Black Deployment)• 新しいリビジョンのコードを、新しいインスタンスに反映させ、
インスタンスごと入れ替える
参考:http://aws.typepad.com/sajp/2015/12/what-is-blue-green-deployment.html
Elastic Beanstalk ではどちらの方式も簡単に実現可能
59
Elastic Beanstalkにおけるデプロイの選択肢
• デプロイポリシー に従った既存環境へのデプロイ All at once Rolling Rolling with additional batch Immutable
• URL Swap による既存環境と新環境の切替
• Amazon Route 53 を利用した既存環境と新環境の切替
In Place
In Place & Blue/Green
Blue/Green
参考:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html
60
Elastic Beanstalkにおけるデプロイの選択肢
• デプロイポリシー に従った既存環境へのデプロイ All at once Rolling Rolling with additional batch Immutable
• URL Swap による既存環境と新環境の切替
• Amazon Route 53 を利用した既存環境と新環境の切替
In Place
In Place & Blue/Green
Blue/Green
参考:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html
z
61
新バージョンのデプロイ(In Place Deployment)
作業:ソースコードの新バージョンを作成する
(現在のディレクトリが “/home/ec2-user/eb-lab”である前提です)
$ vi index.php
:<br/><h2>Instance Metadata v1.0</h2><p style="font-style"italic;">……</p>::
編集前
62
新バージョンのデプロイ(In Place Deployment)
作業:ソースコードの新バージョンを作成する
(現在のディレクトリが “/home/ec2-user/eb-lab”である前提です)
$ vi index.php
:<br/><h2>Instance Metadata v1.1</h2><p style="font-style"italic;">……</p>:: “<h2>Instance Metadata v1.0</h2>” と
なっている箇所を“<h2>Instance Metadata v1.1 with eb deploy</h2>”と変更し、エディタを終了します。
編集後
63
新バージョンのデプロイ(In Place Deployment)
作業:新バージョンのデプロイ
上記のコマンド実行後、下記の表示を確認
$ eb deploy
Creating application version archive "app-170521_075508".Uploading eb-lab/app-170521_075508.zip to S3. This may take a while.Upload Complete.INFO: Environment update is starting. INFO: Deploying new version to instance(s). -- Events -- (safe to Ctrl+C) Use "eb abort" to cancel the command.
この表示を確認したら、”Ctrl+C” を入力
64
新バージョンのデプロイ(In Place Deployment)
作業: 環境の構築状況を確認
$ eb statusApplication name: ec2-userRegion: ap-northeast-1Deployed Version: app-170521_062936Environment ID: e-2bpp53gwexPlatform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP
5.6 running on 64bit Amazon Linux/2.4.0Tier: WebServer-StandardCNAME: ec2-user-dev.ap-northeast-1.elasticbeanstalk.comUpdated: 2017-05-25 06:33:13.613000+00:00Status: ReadyHealth: Green
”Status” が、”Ready” かつ、”Health” が ”Green” となったら、次の作業へ進みます。
67
新バージョンのデプロイ(Red Black Deployment)
作業:ソースコードの新バージョンを作成する
(現在のディレクトリが “/home/ec2-user/eb-lab”である前提です)
$ vi index.php
:<br/><h2>Instance Metadata v1.1</h2><p style="font-style"italic;">……</p>::
編集前
68
新バージョンのデプロイ(Red Black Deployment)
作業:ソースコードの新バージョンを作成する
(現在のディレクトリが “/home/ec2-user/eb-lab”である前提です)
$ vi index.php
:<br/><h2>Instance Metadata v2.0</h2><p style="font-style"italic;">……</p>:: “<h2>Instance Metadata v1.1</h2>” と
なっている箇所を“<h2>Instance Metadata v2.0 with eb deploy</h2>”と変更し、エディタを終了します。
編集後
69
新バージョンのデプロイ(Red Black Deployment)
作業:Elastic Beanstalk 環境を作成する(環境名とURLの指定)
$ eb createEnter Environment Name(default is eb-lab-dev2):Enter DNS CNAME prefix(default is eb-lab-dev2):
Select a load balancer type1) classic2) application(default is 1): 1
環境名はデフォルトでよいので、空白のままエンター
“1” を入力して、Classic ELB を選択
URL の prefix は他の人と重複しない任意の値を入力
70
新バージョンのデプロイ(Red Black Deployment)
作業: 下記のような表示を確認して、”Ctrl+C” を入力
Creating application version archive "app-170525_hhmmss".Uploading: [##################################################] 100% Done...Environment details for: eb-lab-dev
Application name: eb-labRegion: ap-northeast-1Deployed Version: app-170525_062936Environment ID: e-2bpp53gwexPlatform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP 5.6
running on 64bit Amazon Linux/2.4.0Tier: WebServer-StandardCNAME: ec2-user-dev.ap-northeast-1.elasticbeanstalk.comUpdated: 2017-05-25 06:29:42.389000+00:00
Printing Status:INFO: createEnvironment is starting.-- Events -- (safe to Ctrl+C)
この表示を確認したら、”Ctrl+C” を入力
71
新バージョンのデプロイ(Red Black Deployment)
作業: 環境の構築状況を確認
$ eb status eb-lab-dev2Application name: ec2-userRegion: ap-northeast-1Deployed Version: app-170521_062936Environment ID: e-2bpp53gwexPlatform: arn:aws:elasticbeanstalk:ap-northeast-1::platform/PHP
5.6 running on 64bit Amazon Linux/2.4.0Tier: WebServer-StandardCNAME: ec2-user-dev.ap-northeast-1.elasticbeanstalk.comUpdated: 2017-05-25 06:33:13.613000+00:00Status: ReadyHealth: Green
”Status” が、”Ready” かつ、”Health” が ”Green” となったら、次の作業へ進みます。
引数として、新たに構築した環境名を入力して実行
72
新バージョンのデプロイ(Red Black Deployment)
作業:Web ブラウザでデプロイした PHP コードの確認
$ eb open eb-lab-dev2
バージョンが v2.0 となっていることを確認
73
ここまでで構築したリソース
アプリケーション
環境(Environment)
eb-lab-dev.xxx.com 環境設定
VersionRepository
Your codev1.0
Your codev1.1
環境(Environment)
環境設定
Your codev2.0
eb-lab-dev2.xxx.com
74
新バージョンのデプロイ(Red Black Deployment)
作業:新旧の環境に付与された URL を入れ替え
下記の出力を確認します
$ eb swap eb-lab-dev --destination_name eb-lab-dev2
INFO: swapEnvironmentCNAMEs is starting.INFO: Swapping CNAMEs for environments 'eb-lab-dev' and 'eb-lab-dev2'.INFO: 'eb-lab-dev.ap-northeast-1.elasticbeanstalk.com' now points to 'awseb-e-d-AWSEBLoa-1FLL90XOXQ6KZ-1192037292.ap-northeast-1.elb.amazonaws.com'.INFO: Completed swapping CNAMEs for environments 'eb-lab-dev' and 'eb-lab-dev2'.
75
ここまでで構築したリソース
アプリケーション
環境(Environment)
eb-lab-dev.xxx.com 環境設定
VersionRepository
Your codev1.0
Your codev1.1
環境(Environment)
環境設定
Your codev2.0
eb-lab-dev2.xxx.com
76
ここまでで構築したリソース
アプリケーション
環境(Environment)
eb-lab-dev2.xxx.com 環境設定
VersionRepository
Your codev1.0
Your codev1.1
環境(Environment)
環境設定
Your codev2.0
eb-lab-dev.xxx.com
77
新バージョンのデプロイ(Red Black Deployment)
作業:入れ替えた環境をブラウザで確認
最初に環境を構築したときにコピーしたURLへWebブラウザからアクセス
バージョンが v2.0 となっていることを確認
78
進捗確認
最初に構築した環境の URL で新バージョンのコードを確認できましたか?
作業が終わった方は左上のマークをクリックし、[賛成] を選択してください
確認が終わりましたら、[状態の消去] で状態をキャンセルできます
(お時間が余った方)以下の操作を試してみましょう: • マネジメントコンソールで現在の状態を確認• EB CLI で以下のコマンドを実行
eb events:構築した環境のイベント情報を表示します eb health:環境の監視情報を表示します eb ssh:構築した環境に SSH 接続します eb logs:ログ(Apache のログなど)を表示します eb config: 現在の環境設定を表示し、内容の確認、編集を行うことができます。
80
環境の削除
作業:下記のコマンドで環境の削除を行います
$ eb terminate eb-lab-devThe environment "eb-lab-dev" and all associated instances will be terminated.To confirm, type the environment name: eb-lab-dev::: 本当に削除して良いかの
確認のため、「環境名」を入力します
82
本日の実施内容
• ハンズオンのための作業環境構築(EC2 インスタンス(Linux)の作成)
• AWS Elastic Beanstalk 概要
• ハンズオン
• EB CLI のインストールと EB CLI による環境構築
• EB CLI によるデプロイ
• 環境の削除
83
参考資料
• AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
• (動画) https://connect.awswebcasts.com/p2d2pb5oomd/
• (資料)https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-elastic-beanstalk
Tips, デプロイポリシーの詳細な動きなどはこちらで確認できます
84
オンラインセミナー資料の配置場所
• AWS クラウドサービス活用資料集
http://aws.amazon.com/jp/aws-jp-introduction/
• AWS Solutions Architect ブログ
最新の情報、セミナー中のQ&A等が掲載されています
http://aws.typepad.com/sajp/
85
公式 Twitter / FacebookAWS の最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!
もしくはhttp://on.fb.me/1vR8yWm
86
AWS の導入、お問い合わせのご相談
AWSクラウド導入に関するご質問、お見積り、資料請求をご希望のお客様は以下のリンクよりお気軽にご相談ください
https://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索してください