Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
週末趣味のAWS
Elastic Beanstalk 編 Health Check Type
免責事項
本資料並びにセッションでの発言は私個人の調査や情報
収集および実践に基づいて構成したものです
したがって所属企業やAWS等、私個人以外の如何なるも
のの意見を代表するものではありません
本セッションでの内容に起因して損害が生じた場合に...
自己紹介
氏名:難波 和生
株式会社リゾーム 所属
Twitter:@kazu_0
職業:ネットワークオペレータ
:サーバ・NWのインフラ担当
:レイヤー4までの人です
趣味:車の運転
:映画鑑賞・音楽鑑賞
:「週末趣味のAWS」「週末趣味のA...
Elastic Beanstalk
• 本日のアジェンダ
• Elastic Beanstalk のご紹介
• Elastic Beanstalk 利用時に気を付けた方が良い事
• 時間があればデモ環境のご紹介
Elastic Beanstalk
• 本日のアジェンダ
• Elastic Beanstalk のご紹介
Elastic Beanstalk
• 使うようになったキッカケ
• 新しい案件でコンテナを使ってみることに
• そういえば Beanstalk が ECS を使った
マルチコンテナ構成が可能になったらしいよ
• じゃ、Beanstalk 使っ...
Elastic Beanstalkって?
• AWSが提供するクラウド環境作成・構成管理ツール
• Beanstalkを使うと色々なAWSサービスを
組み合わせて環境を構築してくれます
Elastic Beanstalkって?
• Beanstalkで作成された個々の環境を確認することで、
AWSサービスの学習することもできます
• EC2、Security Group、ELB、ECS、Cloudformation
Elastic Beanstalkって?
• ドキュメントも豊富
• AWS Elastic Beanstalk 開発者ガイド
• pdf版は1037ページのボリューム感
• チュートリアル や サンプルアプリケーションも豊富
• お手軽にため...
Elastic Beanstalkって?
• 大きな枠 Application
• Beanstalkで作成するアプリケーション
• 小さな枠 Enviroment (環境)
• Application 内の「環境」というパーツを
組み合わせて...
Elastic Beanstalkって?
• Application 内で異なるバージョンの Enviroment(環境)
Elastic
Beanstalk
Application 01
Environment 01
Application ...
Elastic Beanstalkって?
• Application 内で異なる機能の Enviroment(環境)
Elastic
Beanstalk
Application 01
Environment 01
Application 02
...
複数コンテナ 環境(multi-container docker)
• ECS(EC2 Container Service)で
コンテナが稼働します
• 「Dockerrun.aws.json」が設計図
• containerDefinitio...
複数コンテナ 環境(multi-container docker)
• 細かい設定をするときには少しコツがある
• 「ebextentions」 というファイルで項目を設定
• ELB 、 AutoScaling 、Security Group...
複数コンテナ 環境(multi-container docker)
• 負荷に合わせてスケールする Enviroment (環境)は
• 起動したときに完成した状態になっていることが必要
• コンテナホストやコンテナには状態を持たせない
Elastic Beanstalkって?
• Beanstalk の構成は CodeCommit などで管理できる
Elastic Beanstalk
• 本日のアジェンダ
• Elastic Beanstalk のご紹介
• Elastic Beanstalk 利用時に気を付けた方が良い事
Beanstalk利用時に気を付けたほうが良い事
• とても便利な Beanstalk なのですが
multi-container docker 環境を利用するときに
気を付けたほうが良いかなと思ったことをお話します
Beanstalk利用時に気を付けたほうが良い事
Beanstalk multi-container docker 環境の
オートスケーリング グループ ヘルスチェックタイプは
標準の「EC2」より「ELB」の方がよいのではないか 説
こんな事がありました
• あれ? Beanstalk アプリケーションが止まってる。。。
• ヘルスチェックのステータスは「Severe(赤色)」
• ブラウザでサイト表示すると「 502 Bad Gateway 」
こんな事がありました
• どうやら OOM Killer の発動でコンテナホストの
Dockerプロセスが影響をうけたみたいだ
• EC2のサイズは「m4.xlarge」のmulti AZ 構成
• WEBに公開されたサービス運用の怖さ。。
こんな事がありました
• そこでこんな疑問が
• ヘルスチェックのステータスが「Severe(赤色)」なのに
Auto Scaling グループから外れないの?
動作検証してみよう
• 動作検証した環境
• platform: 64bit amazon linux 2017.03 v2.7.1
running multi-container docker 17.03.1-ce
(generic)
動作検証してみよう
• コンテナホストの Docker プロセスを再起動させてみる
• Docker プロセス再起動後のコンテナ稼働状況を確認
• 「eb health」コマンドで稼働状況をウォッチ
動作検証で分かったこと
• dockerプロセスがOOM killerなどによって停止された
場合、dockerプロセスは自動復旧しない
• Systemd Unit の「Restart = always」的な設定なし
• dockerプロセス...
動作検証で分かったこと
• ecs タスクを再開するには 「start ecs」でecs-agentコ
ンテナを起動する必要がある
• ecs-agentコンテナに --restart=always など自動復旧
の仕組みは設定されていない
動作検証で分かったこと
• オートスケーリング グループにアタッチされたコンテナ
ホスト(EC2)全ての ヘルスエージェント ステータスが
「Severe」になっていても、「Health Check Type」が標準
の「EC2」になっている環...
動作検証で分かったこと
• この時、サービスの状態は
「502 Bad Gateway」のままとなる。
Beanstalk利用時に気を付けたほうが良い事
• デモ してみます。
Beanstalk利用時に気を付けたほうが良い事
• 「Health Check Type」がELBの場合
• 障害が発生したEC2はオートスケーリンググループから外れる
• 新しいEC2がローンチされてグループに参加する
• グループから外れ...
Beanstalk利用時に気を付けたほうが良い事
Beanstalk Multi
Docker環境では
ECSエージェントの
コンテナがとっても
重要なのさ
Elastic Beanstalk
• 本日のアジェンダ
• Elastic Beanstalk のご紹介
• Elastic Beanstalk 利用時に気を付けた方が良い事
• 時間があればデモ環境のご紹介
デモ環境(ghost:1.14-alpine)
Elastic Beanstalk container
application
Application
Load Balancer
Amazon
Aurora
Amazon EFS
/var/li...
IPv4/IPv6 Dual Stack
• 今回の環境は「IPv4/IPv6デュアルスタック」
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• VPCの設定
• VPCで「Edit CIDRs」
• 「Add Ipv6 CIDR」
• /56のIPv6プレフィックス
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• /56のIPv6プレフィックスって?
• 「2の64乗(=1844京6744兆0737億0955万1616)個のアドレスを
持つサブネット」を256個作れるグロ...
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• Subnets の設定
• 「Edit IPv6 CIDRs」
• Add IPv6 CIDR
• /64のIPv6プレフィックス
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• Route Tables の設定
• 「::/0」 Ipv6 デフォルトルート設定
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• ELB の設定
• 「Edit IP address type」
• 「dualstack」を選択
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• ELB の設定 の設定
「Security Group」
HTTP(80) ::/0
HTTPS(443) ::/0
SGでは
Permit ip any an...
IPv4/IPv6 Dual Stack
• AWSでのIPv6はとっても簡単
• R53 の設定
• 「Type:AAAA」
• Aliasレコードをターゲット
ELBに設定
週末趣味のAWS Elastic Beanstalk編
• まとめ
• Elastic Beanstalk は便利なシステム構成管理ツール
• オートスケーリング ヘルスチェックタイプ は
「EC2」 か 「ELB」 どちらにするか検討しよう
...
週末趣味のAWS Elastic Beanstalk編
ご清聴ありがとうございました
Upcoming SlideShare
Loading in …5
×

of

ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 1 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 2 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 3 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 4 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 5 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 6 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 7 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 8 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 9 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 10 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 11 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 12 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 13 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 14 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 15 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 16 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 17 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 18 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 19 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 20 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 21 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 22 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 23 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 24 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 25 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 26 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 27 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 28 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 29

YouTube videos are no longer supported on SlideShare

View original on YouTube

ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 31 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 32 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 33 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 34 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 35 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 36 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 37 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 38 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 39 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 40 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 41 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 42 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 43 ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type Slide 44
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type

Download to read offline

JAWS FESTA 中四国 2017 in 愛媛松山

登壇したときの資料です

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type

  1. 1. 週末趣味のAWS Elastic Beanstalk 編 Health Check Type
  2. 2. 免責事項 本資料並びにセッションでの発言は私個人の調査や情報 収集および実践に基づいて構成したものです したがって所属企業やAWS等、私個人以外の如何なるも のの意見を代表するものではありません 本セッションでの内容に起因して損害が生じた場合におい ても、発表者はその責任を負うことができません
  3. 3. 自己紹介 氏名:難波 和生 株式会社リゾーム 所属 Twitter:@kazu_0 職業:ネットワークオペレータ :サーバ・NWのインフラ担当 :レイヤー4までの人です 趣味:車の運転 :映画鑑賞・音楽鑑賞 :「週末趣味のAWS」「週末趣味のAzure」など 週末趣味シリーズ
  4. 4. Elastic Beanstalk • 本日のアジェンダ • Elastic Beanstalk のご紹介 • Elastic Beanstalk 利用時に気を付けた方が良い事 • 時間があればデモ環境のご紹介
  5. 5. Elastic Beanstalk • 本日のアジェンダ • Elastic Beanstalk のご紹介
  6. 6. Elastic Beanstalk • 使うようになったキッカケ • 新しい案件でコンテナを使ってみることに • そういえば Beanstalk が ECS を使った マルチコンテナ構成が可能になったらしいよ • じゃ、Beanstalk 使ってみよっか
  7. 7. Elastic Beanstalkって? • AWSが提供するクラウド環境作成・構成管理ツール • Beanstalkを使うと色々なAWSサービスを 組み合わせて環境を構築してくれます
  8. 8. Elastic Beanstalkって? • Beanstalkで作成された個々の環境を確認することで、 AWSサービスの学習することもできます • EC2、Security Group、ELB、ECS、Cloudformation
  9. 9. Elastic Beanstalkって? • ドキュメントも豊富 • AWS Elastic Beanstalk 開発者ガイド • pdf版は1037ページのボリューム感 • チュートリアル や サンプルアプリケーションも豊富 • お手軽にためしてみることができます
  10. 10. Elastic Beanstalkって? • 大きな枠 Application • Beanstalkで作成するアプリケーション • 小さな枠 Enviroment (環境) • Application 内の「環境」というパーツを 組み合わせて個々の機能を構成する
  11. 11. Elastic Beanstalkって? • Application 内で異なるバージョンの Enviroment(環境) Elastic Beanstalk Application 01 Environment 01 Application 02 Environment 02 Environment 03 Environment 01 Environment 02 Environment 03 Environment 02 Nginx Proxy PHP-fpm (Version 8.2) Nginx Proxy PHP-fpm (Version 9.1) Environment 03
  12. 12. Elastic Beanstalkって? • Application 内で異なる機能の Enviroment(環境) Elastic Beanstalk Application 01 Environment 01 Application 02 Environment 02 Environment 03 Environment 01 Environment 02 Environment 03 Environment 01 Nginx Proxy PHP-fpm (nextcloud) Private registry (docker private registry) Environment 02
  13. 13. 複数コンテナ 環境(multi-container docker) • ECS(EC2 Container Service)で コンテナが稼働します • 「Dockerrun.aws.json」が設計図 • containerDefinitionsでコンテナの環境を定義 • メモリ割当、ポート番号、マウントポイント などなど
  14. 14. 複数コンテナ 環境(multi-container docker) • 細かい設定をするときには少しコツがある • 「ebextentions」 というファイルで項目を設定 • ELB 、 AutoScaling 、Security Group などなど
  15. 15. 複数コンテナ 環境(multi-container docker) • 負荷に合わせてスケールする Enviroment (環境)は • 起動したときに完成した状態になっていることが必要 • コンテナホストやコンテナには状態を持たせない
  16. 16. Elastic Beanstalkって? • Beanstalk の構成は CodeCommit などで管理できる
  17. 17. Elastic Beanstalk • 本日のアジェンダ • Elastic Beanstalk のご紹介 • Elastic Beanstalk 利用時に気を付けた方が良い事
  18. 18. Beanstalk利用時に気を付けたほうが良い事 • とても便利な Beanstalk なのですが multi-container docker 環境を利用するときに 気を付けたほうが良いかなと思ったことをお話します
  19. 19. Beanstalk利用時に気を付けたほうが良い事 Beanstalk multi-container docker 環境の オートスケーリング グループ ヘルスチェックタイプは 標準の「EC2」より「ELB」の方がよいのではないか 説
  20. 20. こんな事がありました • あれ? Beanstalk アプリケーションが止まってる。。。 • ヘルスチェックのステータスは「Severe(赤色)」 • ブラウザでサイト表示すると「 502 Bad Gateway 」
  21. 21. こんな事がありました • どうやら OOM Killer の発動でコンテナホストの Dockerプロセスが影響をうけたみたいだ • EC2のサイズは「m4.xlarge」のmulti AZ 構成 • WEBに公開されたサービス運用の怖さ。。
  22. 22. こんな事がありました • そこでこんな疑問が • ヘルスチェックのステータスが「Severe(赤色)」なのに Auto Scaling グループから外れないの?
  23. 23. 動作検証してみよう • 動作検証した環境 • platform: 64bit amazon linux 2017.03 v2.7.1 running multi-container docker 17.03.1-ce (generic)
  24. 24. 動作検証してみよう • コンテナホストの Docker プロセスを再起動させてみる • Docker プロセス再起動後のコンテナ稼働状況を確認 • 「eb health」コマンドで稼働状況をウォッチ
  25. 25. 動作検証で分かったこと • dockerプロセスがOOM killerなどによって停止された 場合、dockerプロセスは自動復旧しない • Systemd Unit の「Restart = always」的な設定なし • dockerプロセスが何らかの原因で再起動された場合、 ecs-agent コンテナは自動復旧しない
  26. 26. 動作検証で分かったこと • ecs タスクを再開するには 「start ecs」でecs-agentコ ンテナを起動する必要がある • ecs-agentコンテナに --restart=always など自動復旧 の仕組みは設定されていない
  27. 27. 動作検証で分かったこと • オートスケーリング グループにアタッチされたコンテナ ホスト(EC2)全ての ヘルスエージェント ステータスが 「Severe」になっていても、「Health Check Type」が標準 の「EC2」になっている環境では、ELB の health ステー タスは「Healthy」 状態のままとなり、そのまま稼働し続 ける。
  28. 28. 動作検証で分かったこと • この時、サービスの状態は 「502 Bad Gateway」のままとなる。
  29. 29. Beanstalk利用時に気を付けたほうが良い事 • デモ してみます。
  30. 30. Beanstalk利用時に気を付けたほうが良い事 • 「Health Check Type」がELBの場合 • 障害が発生したEC2はオートスケーリンググループから外れる • 新しいEC2がローンチされてグループに参加する • グループから外れたEC2はターミネートされる
  31. 31. Beanstalk利用時に気を付けたほうが良い事 Beanstalk Multi Docker環境では ECSエージェントの コンテナがとっても 重要なのさ
  32. 32. Elastic Beanstalk • 本日のアジェンダ • Elastic Beanstalk のご紹介 • Elastic Beanstalk 利用時に気を付けた方が良い事 • 時間があればデモ環境のご紹介
  33. 33. デモ環境(ghost:1.14-alpine) Elastic Beanstalk container application Application Load Balancer Amazon Aurora Amazon EFS /var/lib/ghost/content AWS WAF AWS CodeCommit deployment deployment EC2 compute container certificate manager EC2 compute container Amazon Route 53 festa-ghost.us-west-2.elasticbeanstalk.com ↓ festa2017.std-adhocracy.net Amazon ECR ECR registry
  34. 34. IPv4/IPv6 Dual Stack • 今回の環境は「IPv4/IPv6デュアルスタック」
  35. 35. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • VPCの設定 • VPCで「Edit CIDRs」 • 「Add Ipv6 CIDR」 • /56のIPv6プレフィックス
  36. 36. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • /56のIPv6プレフィックスって? • 「2の64乗(=1844京6744兆0737億0955万1616)個のアドレスを 持つサブネット」を256個作れるグローバルアドレス
  37. 37. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • Subnets の設定 • 「Edit IPv6 CIDRs」 • Add IPv6 CIDR • /64のIPv6プレフィックス
  38. 38. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • Route Tables の設定 • 「::/0」 Ipv6 デフォルトルート設定
  39. 39. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • ELB の設定 • 「Edit IP address type」 • 「dualstack」を選択
  40. 40. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • ELB の設定 の設定 「Security Group」 HTTP(80) ::/0 HTTPS(443) ::/0 SGでは Permit ip any any 接続制限はWAFの IP match conditions
  41. 41. IPv4/IPv6 Dual Stack • AWSでのIPv6はとっても簡単 • R53 の設定 • 「Type:AAAA」 • Aliasレコードをターゲット ELBに設定
  42. 42. 週末趣味のAWS Elastic Beanstalk編 • まとめ • Elastic Beanstalk は便利なシステム構成管理ツール • オートスケーリング ヘルスチェックタイプ は 「EC2」 か 「ELB」 どちらにするか検討しよう • IPv4/IPv6 Dual Stack 対応も簡単
  43. 43. 週末趣味のAWS Elastic Beanstalk編 ご清聴ありがとうございました

JAWS FESTA 中四国 2017 in 愛媛松山 登壇したときの資料です

Views

Total views

903

On Slideshare

0

From embeds

0

Number of embeds

96

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×