Your SlideShare is downloading. ×
  • Like
Elastic beanstalk docker_support
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Elastic beanstalk docker_support

  • 1,272 views
Published

AWS ElasticBeanstalk􏰀Docker対応

AWS ElasticBeanstalk􏰀Docker対応

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,272
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
26
Comments
0
Likes
19

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. AWS  ElasticBeanstalk Docker対応 アマゾン  データサービス  ジャパン株式会社
  • 2. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 2 AWS  ElasticBeanstalk:   構築・デプロイの⾃自動化サービス Instance Amazon  RDSElastic  Load Balancer Instance Auto  scaling  GroupCloudWatch deploy! WAR ZIP Java Python PHP .NET Ruby nodeJS Docker
  • 3. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 3 ElasticBeanstalkの論論理理構成 Application   Environment Version RespositoryURL Environment  Configuration Configuration  Template   Environment URL Environment  Configuration WAR/ZIP WAR/ZIP WAR/ZIP WAR/ZIP   Environment URL Environment  Configuration
  • 4. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 4 ElasticBeanstalkのDockerサポート ! ElasticBeanstalkで任意のDockerコンテナを実⾏行行可能に •  Dockerコンテナとして構築できれば任意のDistribution・任意の ⾔言語で構築した実⾏行行環境をElasticBeanstalkにデプロイ出来る !   さらに、下記のような運⽤用が可能 •  ローカルのコンテナ上でコードを開発&テスト •  同じコンテナをElasticBeanstalk上の本番環境にデプロイ meets
  • 5. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 5 各環境の中には !   ⾃自動で構築されたDocker環境 •  Load-‐‑‒balanced  /  Single  Instance •  各インスタンスに1つの管理理された コンテナ  Application  Environment URL Environment Configuration AWS Management Console Admin SSHUsers Developer ZIP Instance Amazon  RDSElastic  Load Balancer Instance Auto  Scaling  GroupCloudWatch AMI Dockerfile
  • 6. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 6  Environment 各インスタンスの中には EC2 HM AutoScaling Nginx (tcp:80) Docker (tcp: xxxx) コンテナの上げ下げ コンテナとの 接続ポートの更新 コマンド 各インスタンス ・マネージされたコンテナ が1つ ・Host Manager (HM)が コマンドを実行
  • 7. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 7 コンテナの設定記述の仕⽅方 !   次の2種類の記述⽅方式を利利⽤用可能 •  Dockerfile •  ⼀一般的なコンテナの構築に使われるDockerfile •  AWS特有ではないため、どこでも作成・編集・構築が可能 •  コンテナの構築⽅方法を指⽰示するファイルなのでコンテナ起動オプ ションを指定したい場合は不不⼗十分 •  Dockerrun.aws.json •  ElasticBeanstalk独⾃自の形式 •  使⽤用するコンテナイメージ、コンテナから参照するボリュームなど を指定 •  コンテナの構築⽅方法⾃自体は指定できない(要Dockerfileと併⽤用)
  • 8. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 8 Dockerfileの例例 !   いわゆる普通のDockerfile •  EXPOSEで指定したポートがnginxとの接続に使われる 注:nginx経由で外部に開けるポートは1つだけ !   その他注意点 •  FROMとEXPOSEは必須 •  CMDとENTRYPOINTのどちらかは必須
  • 9. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 9 Dockerrun.aws.jsonの例例    プライベートレポジトリを使用する際に必要 S3バケット上に置いた認証情報ファイルを指定 使用すべきイメージ コンテナがEXPOSEするポートを指定 (ElasticBeanstalkが使用するのはContainerPortのみ) コンテナにマウントすべき EC2インスタンスのディレクトリを指定 コンテナ内のログディレクトリを指定
  • 10. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 10 デプロイの仕⽅方 !   デプロイ時のファイル形式も2種類 •  単⼀一ファイル •  Dockerfile  /  Dockerrun.aws.jsonのみのデプロイの場合 •  Pros:  アーカイブを作る必要がなく簡便便 •  Cons:  ElasticBeanstalkの環境カスタマイズやリソースファイルの デプロイ等は出来ない •  ZIPアーカイブ  /  gitでデプロイ •  Dockerfile  /  Dockerrun.aws.jsonあるいは両⽅方を含むアーカイブ •  Pros:  Dockerfileでイメージを構築して起動オプションを指定して 起動したり、環境カスタマイズを⾏行行ったりすることが可能 •  Cons:  アーカイブを作らないといけない 柔軟性とコンテナ記述ファイルのバージョン管理も考慮すると gitで管理してgit aws.pushでデプロイがおすすめ
  • 11. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 11 デプロイ時の動作  (1/4) EC2 HM AutoScaling Nginx (tcp:80) Docker (current, ver 1) 1. Deploy指示 Version Respository Version  1 Version  2
  • 12. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 12 デプロイ時の動作  (2/4) EC2 HM AutoScaling Nginx (tcp:80) Docker (current, ver 1) 1. Deploy指示 Docker (staging, ver 2) 3. Staging コンテナ作成 Version Respository Version  1 Version  2
  • 13. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 13 デプロイ時の動作  (3/4) EC2 HM AutoScaling Nginx (tcp:80) Docker (old, ver 1) 1. Deploy指示 Docker (current, ver 2) 3. Staging コンテナ作成 4. Nginx設定変更 Version Respository Version  1 Version  2
  • 14. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 14 デプロイ時の動作  (4/4) EC2 HM AutoScaling Nginx (tcp:80) Docker (current, ver 2) Version Respository Version  1 Version  2
  • 15. © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 15 S3をプライベートレポジトリとして利利⽤用 Developer 1. docker push4. docker pull 2. deploy registry registry registry registry Docker registry container with AWS credentials Region app app app registry app 3. docker run registry 5. docker stop registry 詳細: http://aws.typepad.com/sajp/2014/06/eb-docker-private-repo.html