Suche senden
Hochladen
サーバ構築・デプロイが簡単に!Elastic beanstalk
•
Als PPTX, PDF herunterladen
•
11 gefällt mir
•
7,026 views
Hirokazu Ouchi
Folgen
Melden
Teilen
Melden
Teilen
1 von 29
Jetzt herunterladen
Empfohlen
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
hiroki tanaka
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
Masahiko Jinno
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
Empfohlen
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
hiroki tanaka
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
Masahiko Jinno
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
絶望と最後の希望
絶望と最後の希望
Tatsuya Sato
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
nota-ja
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Shinya Nakajima
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
Amazon Web Services Japan
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
Hiroshi SHIBATA
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか
Yoshiki Hayama
本格的に始めるzsh
本格的に始めるzsh
Hideaki Miyake
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
Recruit Lifestyle Co., Ltd.
SharePoint で始める情報共有とそのアプローチ
SharePoint で始める情報共有とそのアプローチ
日本マイクロソフト株式会社
Windowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろう
keitasudo1
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
Shoji Shirotori
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
sugiyama koki
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
Weitere ähnliche Inhalte
Was ist angesagt?
絶望と最後の希望
絶望と最後の希望
Tatsuya Sato
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
nota-ja
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Shinya Nakajima
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
Amazon Web Services Japan
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
Hiroshi SHIBATA
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか
Yoshiki Hayama
本格的に始めるzsh
本格的に始めるzsh
Hideaki Miyake
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
mganeko
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
Recruit Lifestyle Co., Ltd.
SharePoint で始める情報共有とそのアプローチ
SharePoint で始める情報共有とそのアプローチ
日本マイクロソフト株式会社
Windowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろう
keitasudo1
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
Shoji Shirotori
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
Was ist angesagt?
(20)
絶望と最後の希望
絶望と最後の希望
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
Cloud Foundry にアプリケーションを push する際の典型的な10のエラー
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
はじめてのグラフデータベース 〜 Amazon Neptune と主なユースケース 〜
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
「顧客の声を聞かない」とはどういうことか
「顧客の声を聞かない」とはどういうことか
本格的に始めるzsh
本格的に始めるzsh
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
テストコードの DRY と DAMP
テストコードの DRY と DAMP
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
リクルートライフスタイル流!分析基盤との賢い付き合い方
リクルートライフスタイル流!分析基盤との賢い付き合い方
SharePoint で始める情報共有とそのアプローチ
SharePoint で始める情報共有とそのアプローチ
Windowsサービスも.NET Coreで作ろう
Windowsサービスも.NET Coreで作ろう
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Andere mochten auch
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
sugiyama koki
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
Gis tools for hadoopを用いたビッグデータ処理の検証
Gis tools for hadoopを用いたビッグデータ処理の検証
Kazutaka ishizaki
Hadoopによる空間ビッグデータ処理の試み
Hadoopによる空間ビッグデータ処理の試み
Kazutaka ishizaki
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
Andere mochten auch
(6)
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Gis tools for hadoopを用いたビッグデータ処理の検証
Gis tools for hadoopを用いたビッグデータ処理の検証
Hadoopによる空間ビッグデータ処理の試み
Hadoopによる空間ビッグデータ処理の試み
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Ähnlich wie サーバ構築・デプロイが簡単に!Elastic beanstalk
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
schoowebcampus
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
真吾 吉田
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
schoowebcampus
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
Koichiro Doi
20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paas
Shotaro Suzuki
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
Askusa on AWS
Askusa on AWS
Shingo Furuyama
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
真吾 吉田
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)
Amazon Web Services Japan
Azure 高速サイトソリューション
Azure 高速サイトソリューション
Hiromasa Oka
同じサービスをECSとOpsWorksで運用してみた
同じサービスをECSとOpsWorksで運用してみた
Jun Ichikawa
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例
Amazon Web Services Japan
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例
schoowebcampus
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
Amazon Web Services Japan
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
Amazon Web Services Japan
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
Amazon Web Services Japan
クラウドを積極活用したサービスの開発のために
クラウドを積極活用したサービスの開発のために
Yuichiro Saito
Ähnlich wie サーバ構築・デプロイが簡単に!Elastic beanstalk
(20)
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
Anchors Aweigh!! - re:Invent報告@re:Port 2016 大阪
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 2限目:基本構成とピーク対策編
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paas
AWS SAMで始めるサーバーレスアプリケーション開発
AWS SAMで始めるサーバーレスアプリケーション開発
Askusa on AWS
Askusa on AWS
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
実務で活かせる AWSアーキテクチャ設計 〜AWS re:Invent 2016アップデート最新版〜
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)
Azure 高速サイトソリューション
Azure 高速サイトソリューション
同じサービスをECSとOpsWorksで運用してみた
同じサービスをECSとOpsWorksで運用してみた
WebサービスStartUP向け AWSスケーラブルな構成例
WebサービスStartUP向け AWSスケーラブルな構成例
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
クラウドを積極活用したサービスの開発のために
クラウドを積極活用したサービスの開発のために
サーバ構築・デプロイが簡単に!Elastic beanstalk
1.
サーバ構築・デプロイが簡単に! AWS ElasticBeanstalk 株式会社データクラフト 大内 寛和
2.
自己紹介 大内 寛和 株式会社データクラフト ・ソフトウェアエンジニア ・写真素材販売サイトの開発・保守 ・社内インフラ担当 ・受託開発(AWSを利用)
3.
最近、よく耳にするキーワード ・DevOps ・Infrastructure as Code ・Blue-Green
Deployment ・Immutable Infrastructure
4.
http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk より抜粋
5.
よく使うサーバ構成 EC2 RDS Elastic Load Balancer EC2
6.
EB サポートするスタック ・Apache Tomcat
for Java ・Apache HTTP Server for PHP ・Apache HTTP Server for Python ・Passenger for Ruby アプリケーション ・Microsoft IIS 7.5 for .NET nginxはサポートしていない・・・
7.
http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk より抜粋
8.
http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk より抜粋
9.
デプロイをカスタマイズ ・DBサーバ起動 ・Webサーバ起動 ・ロードバランサ設定 EC2 ・セキュリティグループ設定 RDS Elastic Load Balancer ・コードデプロイ EC2 ・DBマイグレーション ・Apache停止 ・nginx起動 ・自動テスト
10.
全てコードで! AWS管理コンソールを使わずに アプリケーションをデプロイ
11.
準備 (winユーザ) ・AWS Elastic
Beanstalk Full Access 権を持つIAMユーザを 作成し、セキュリティクレデンシャルをダウンロード ・下記を作業PCにインストール - git - ruby - AWS Elastic Beanstalk Command Line Tool → zip解凍後、ebコマンドのパスを環境変数に設定
12.
準備 (winユーザ) ・AWSDevTools-OneTimeSetup.batを実行 ・ソースコードのディレクトリに移動して、git init
を実行 ・AWSDevTools-RepositorySetup.batをソースコードの ディレクトリにコピー ・AWSDevTools-RepositorySetup.bat を実行する。 → システムごとに実行すること。
13.
利用するコマンド ・eb init → アプリケーションのサーバ構成を設定ファイルに出力 ・eb
start → 設定ファイルに基づき環境構築、システム起動 ・eb stop → 環境削除(EC2インスタンス、RDSインスタンスの破棄) ・eb delete → アプリケーション削除 ・git aws.push → 環境にソースコードをデプロイ
14.
デプロイのカスタマイズ例
15.
ソースコードの構成 / .elasticbeanstalk/ コンフィグ:サーバ構成 .ebextensions/ コンフィグ:デプロイ css/ image/ js/ Webアプリケーション app/ index.php AWSDevTools-RepositorySetup.bat
16.
.elasticbeanstalk/ ・config [global] AwsAccessKeyId=[セキュリティクレデンシャルのアクセスキー] AwsSecretAccessKey=[セキュリティクレデンシャルのシークレットキー] Region=ap-northeast-1 ServiceEndpoint=https://elasticbeanstalk.ap-northeast-1.amazonaws.com DevToolsEndpoint=git.elasticbeanstalk.ap-northeast-1.amazonaws.com ApplicationName=[アプリケーション名] EnvironmentName=[環境名] EnvironmentTier=WebServer::Standard::1.0 EnvironmentType=[SingleInstance or ELB-bound
Environment ] SolutionStack=64bit Amazon Linux 2013.09 running PHP 5.4 RdsEnabled=[Yes or No] RdsSourceSnapshotName=[リストアするスナップショット名] RdsDeletionPolicy=[Delete or Snapshot] InstanceProfileName=[IAM Role] OptionSettingFile=[optionsettingsファイルのパス]
17.
.elasticbeanstalk/ ・optionsettings [aws:autoscaling:asg] Custom Availability Zones= MaxSize=1 MinSize=1 [aws:autoscaling:launchconfiguration] EC2KeyName=[key
name] InstanceType=[instance type: t1.micro等] [aws:autoscaling:updatepolicy:rollingupdate] RollingUpdateEnabled=false [aws:ec2:vpc] DBSubnets=[DBSubnets 2つ指定する] Subnets=[EC2 Subnet] VPCId=[vpc id] [aws:elasticbeanstalk:application] Application Healthcheck URL=/
18.
.elasticbeanstalk/ ・optionsettings [aws:elasticbeanstalk:application:environment] PARAM1=[環境変数に設定したい文字列] PARAM2= PARAM3= 独自の変数名は追加できないので注意 PARAM4= PARAM5= [aws:elasticbeanstalk:container:php:phpini] allow_url_fopen=On composer_options= display_errors=Off document_root= max_execution_time=60 memory_limit=256M zlib.output_compression=Off [aws:elasticbeanstalk:hostmanager] LogPublicationControl=false
19.
.elasticbeanstalk/ ・optionsettings [aws:elasticbeanstalk:monitoring] Automatically Terminate Unhealthy
Instances=[ヘルスチェックエラーでインスタンスを破棄する場合 :true] [aws:elasticbeanstalk:sns:topics] Notification Endpoint=[通知先のメールアドレス等] Notification Protocol=[email, http等] [aws:rds:dbinstance] DBDeletionPolicy=Snapshot DBEngine=mysql DBInstanceClass=[RDS instance tpye: t1.micro等] DBSnapshotIdentifier= DBUser=[DBユーザ名]
20.
.ebextensions/ カスタマイズの内容 ・nginx、php-fpmをインストール ・nginx、php-fpmの設定ファイルを出力 ・ElasticBeanstalkの環境変数をPHPから取得できるよう、 OSの環境変数、fastcgiのパラメータに設定 ・デプロイ後、apacheの停止、nginx、php-fpmを起動
21.
.ebextensions/ ・nginx、php-fpmのインストール、設定ファイル出力 packages: yum: nginx: [] php54-fpm: [] files: "/etc/nginx/nginx.conf"
: mode: "000644" owner: root group: root content: | [nginxの設定内容を記述]
22.
.ebextensions/ ・nginx、php-fpmのインストール、設定ファイル出力 "/etc/nginx/conf.d/webapp.conf" : mode: "000644" owner:
root group: root content: | [webサイトの設定内容を記述] "/etc/php-fpm.d/www.conf" : mode: "000644" owner: root group: root content: | [php-fpmの設定内容を記述] commands: 00-nginx-permission: command: "chown -R webapp:webapp /var/lib/nginx" 01-nginx-permission: command: "chown -R webapp:webapp /var/log/nginx"
23.
.ebextensions/ ・環境変数を設定するスクリプトファイル files: "/opt/elasticbeanstalk/support/set_php_nginx_env.php" : mode: "000644" owner:
root group: root content: | <?php // /opt/elasticbeanstalk/support/php_apache_env.phpを参考にnginx用にカスタマイズする $json = json_decode(file_get_contents('/opt/elasticbeanstalk/deploy/configuration/containerconfiguration'), true); /* /opt/elasticbeanstalk/support/envvars.d/appenv に $jsonの内容を選別して出力 /etc/php.d/environment.ini に $jsonの内容を選別して出力 /etc/nginx/fastcgi_aws_env に $jsonの内容を選別して出力 */ ?>
24.
.ebextensions/ ・環境変数を設定 アプリケーションのデプロイ前に実行 "/opt/elasticbeanstalk/hooks/appdeploy/pre/99_set_php_nginx_env.sh" : mode: "000744" owner:
root group: root content: | #!/usr/bin/env bash . /opt/elasticbeanstalk/support/envvars php /opt/elasticbeanstalk/support/set_php_nginx_env.php commands: 01-cp: EBの設定変更時に、環境変数を再読み込み command: "cp -f /opt/elasticbeanstalk/hooks/appdeploy/pre/99_set_php_nginx_env.sh /opt/elasticbeanstalk/hooks/configdeploy/pre/"
25.
.ebextensions/ ・デプロイ後の処理(DBマイグレーション、自動テスト) files: "/opt/elasticbeanstalk/hooks/appdeploy/enact/97_migrate.sh" : mode: "000744" owner:
root group: root content: | [DBマイグレーションを行う] "/opt/elasticbeanstalk/hooks/appdeploy/enact/98_test.sh" : mode: "000744" owner: root group: root content: | [自動テスト(PHPUnitによる単体テスト)を行う]
26.
.ebextensions/ ・デプロイ後の処理(apache停止→php-fpm、nginx起動) "/opt/elasticbeanstalk/hooks/appdeploy/enact/99_reload_app_server.sh" : mode: "000744" owner:
root group: root content: | #!/usr/bin/env bash . /opt/elasticbeanstalk/support/envvars /etc/init.d/httpd stop /etc/init.d/nginx stop /etc/init.d/php-fpm stop /etc/init.d/php-fpm start /etc/init.d/nginx start
27.
.ebextensions/ ・EBの設定変更時に、DBマイグレーション、自動テスト、 APサーバの再起動を行う commands: 01-cp: command: "cp -f
/opt/elasticbeanstalk/hooks/appdeploy/enact/97_migrate.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/" 02-cp: command: "cp -f /opt/elasticbeanstalk/hooks/appdeploy/enact/98_test.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/" 03-cp: command: "cp -f /opt/elasticbeanstalk/hooks/appdeploy/enact/99_reload_app_server.sh /opt/elasticbeanstalk/hooks/configdeploy/enact/"
28.
まとめ ・ElasticBeanstalkを使えば、サーバ構築、デプロイが非常に 簡単な作業となる。 → 一度、設定ファイルを作成してしまえば、類似の環境を 簡単に作成できる ・コンフィグレーションにより、お好みの環境を用意することができ る。 → 設定が細かくなる場合は、ChefやCloudFormation、 OpsWorksを利用したほうがよい → 今回の事例は、OpsWorksのほうがよいかもしれない・・・
29.
参考 ・ [AWSマイスターシリーズ] AWS
Elastic Beanstalk http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk ・華麗なるElastic Beanstalkでの環境構築 http://www.slideshare.net/dateofrock/net-cobol20130222 ・2秒で設定! AWS Elastic Beanstalk によるオートスケール アウトなサーバー構築 http://dx.24-7.co.jp/beanstalk/ ・AWSのElastic Beanstalkで「php5.4」「nginx」環境を作る http://lab.sonicmoov.com/development/elastic-beanstalk/
Jetzt herunterladen