連載
» 2015年12月18日 05時00分 公開

開発者も知っておきたいDocker管理ツールとしてのAWS Elastic Beanstalkの使い方Docker運用管理製品/サービス大全(6)(3/3 ページ)

[長妻賢, 澤井健,株式会社NTTデータ]
前のページへ 1|2|3       

Dockerコンテナーの障害の自動復旧

 EC2上のDockerコンテナーのプロセスを停止させるには、下記コマンドを使います。

docker stop {コンテナーのID}
kill {コンテナーのプロセスID)

 両方ともコンテナーを停止した直後にコンテナーが再生成されます。

BeanstalkでDockerコンテナーのログを収集するには

 Dockerコンテナー内のログをBeanstalkで収集するには、Dockerrun.aws.jsonにLoggingオプションを追加します。

 下記のDockerrun.aws.jsonをBeanstalkでアップロードします。

{
  "AWSEBDockerrunVersion": "1",
  "Image": {
    "Name": "ishiguroj/docker-repo",
    "Update": "true"
  },
  "Ports": [
    {
      "hostPort": 80,
      "ContainerPort": "80"
    }
  ],
   "Logging": "/var/log/httpd"
}

 コンテナーが起動したら80ポートに何度かアクセスを行います。

 Beanstalkの「Logs」の「Request Logs」から「Last 100 Lines」を選択します。

 出力されたログのDownloadボタンを押してログを表示させます。

 ログの中の「/var/log/eb-docker/containers/eb-current-app/access_log」にコンテナーのhttpdのaccess.logが表示されます。先ほど何回かアクセスしたログが表示されます。

 上記の手順でコンテナー内のログをBeanstalkで確認することが可能です。また、上記のログは、Amazon S3の下記のアドレスに15分間保存されます。

{Beanstalk-region-account ID/resources/environments/logs/publish/{environment ID}/{instance ID}/

BeanstalkでカスタムAMIを使用するには

 BeanstalkでカスタムのAMI(Amazon マシンイメージ)を使用する場合は、一度デフォルトで環境を作成し、その後にカスタムのAMIでEC2を作成し直す必要があります。

 「Beanstalkを使ったDockerのクラスター環境を構築」に従いDockerの環境を作成します(参考)。

 作成されたEC2インスタンスをAMI化し、新しいEC2インスタンスを作成します。

 作成された新しいEC2インスタンスをカスタマイズし、カスタマイズされた内容をAMIで保存します。

 保存されたAMIを作成したDocker環境に設定します。

 環境のナビゲーションペインの「Configuration」をクリックします。次に、「Instances」の横にある「編集」をクリックします。「Custom AMI ID」ボックスの値に作成したAMIを設定します。「Apply」ボタンを押すと、EC2インスタンス、AutoScalingの設定が自動的に変更されます。

Amazon EC2 Container Serviceとの比較

 今回は、BeanstalkのDocker管理ツールとしての側面について解説しましたが、いかがでしたでしょうか。最後に、ECSとの機能の違いをまとめておきます。これらの違いを意識して、使い分けてみてはいかがでしょうか。

 BeanstalkはECSと比べると下記の機能があります。

  • コンテナーのダッシュボード
  • AutoScalingの設定機能
  • インスタンスの設定機能
  • CPU、ディスク、ネットワークのモニタリング機能
  • CPU、ディスク、ネットワークのしきい値監視の通知機能
  • Dockerコンテナーのログ取得機能
  • Dockerコンテナー内のログ取得機能
  • 上記ログのAmazon S3への出力機能
  • Beanstalkのイベント履歴取得機能

 一方で、ECSと比べると下記の機能がありません。

  • Dockerコンテナーの多重化機能
  • 複数のTaskを1インスタンス上で動かす機能

 次回も、Docker管理サービスを紹介しますので、お楽しみに。

特集:Docker運用管理製品/サービス大全

数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。



筆者紹介

長妻賢

NTTデータで基盤系技術者として各種開発に従事。運用管理製品Hinemosをクラウドに対応させるべく開発をしつつ、AWSにおける運用を議論するコミュニティ「OpsJAWS」の立ち上げに携わるなどしている。

澤井健

富山県出身。NTTデータに入社後、PostgresForestやHinemosの開発、保守、導入支援に携わり、今はHinemosのクラウドへの普及展開を進めている。休日は仕事を離れ、宝塚観劇のため日比谷や兵庫に訪れるなど趣味を満喫している。

  • 執筆履歴

Software Design plusシリーズ『Hinemos 統合管理[実践]入門』(共著:技術評論社)


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。