« 2015年7月のAWS初心者向けWebinarのご案内 | メイン | s2n: 新しいオープンソースTLS実装のご紹介 »

AWS Black Belt Tech Webinar 「Amazon EC2 Container Service (Amazon ECS)」資料公開

こんにちは。ソリューションアーキテクトの下佐粉(しもさこ)です。 先日(6/24)のAWS Black Belt Tech Webinar では、コンテナ管理サービスのAmazon ECS の解説を行いました。このスライド資料を以下に公開します。

docker, コンテナといった、最近非常にホットな領域の話だったという事もあってか、非常に沢山の方にご参加いただき、またご質問も沢山いただきました。時間の余裕もあまり無かったので3つぐらいしかご質問に回答できなかったのですが、出来る範囲でご質問への回答を作成しましたので、このエントリの下の方に付けてあります。こちらもぜひご覧ください。

さて、次回のBlackbeltはAmazon CloudWatch & CloudWatch Logsです。AWSのシステム監視、ログ収集といった管理の基本となる機能を提供するサービスについてディープに解説します!

前回もご案内しましたが、AWSのWEBセミナーは現在Adobe Connectという仕組みで配信されています。このAdobe ConnectはPCのブラウザで参加できるだけでなく、モバイルアプリにも対応しています。つまり、どこでもスマホさえあればセミナーに参加できるという事ですね。お手持ちのスマホのアプリストア等で"Adobe Connect"で検索してみてくだい。

7月1日(水)

  • Amazon CloudWatch & Amazon CloudWatch Logs - 山本 教仁 & 酒徳 知明
  • セミナー参加登録リンク: https://connect.awswebcasts.com/cloudwatch-2015/event/registration.html
  • セミナー内容:
    • システム監視はAWSに限らずシステム運用する上では欠かせない要素の一つです。AWSが提供するリソース監視サービスAmazon CloudWatchをご利用頂くことでAWS上で稼働するシステムの監視はもちろん、 ログ収集(CloudWatch Logs)も簡単に実装することができます。各機能だけではなく、サービスのユースケースや他のサービスとの連携についても紹介します。これを機にAWS 上での監視、ログ収集をマスターしましょう!

Q&Aは以下の通りです。

(ご質問内容は一部文言を変更したり、複数のご質問をまとめさせて頂いています。ご了承ください)

[Q] ECSの利用にはVPCは必須ですか?クラシックはNG?
[A] EC2クラシックでも稼働いたしますが、VPCでのご利用を強く推奨しております。出来る限りVPC環境でご利用ください。

[Q] Amazon Linux ECS Optimizedを使うメリットを教えてください。DockerとECSエージェントが動いている以外にもメリットがあれば。
[A] AgentのアップデートがコンソールやAPI経由でできるのもメリットです。また、Amazon Linuxベースなのでその他のAgent(例えばAWS CodeDeploy等)のインストールも容易です。

[Q]  1Task中のContainer間は相互に通信をすることは出来るのでしょうか?また、異なるContainerインスタンス上で動作している異なるTask上のContainer間は双方向に通信を行うことは出来るのでしょうか?

[A] 1Task中のContainer間については、DockerのLink機能を使った名前でのアクセスが可能です。異なるTask間では、Elastic Load Balancingや何かしらのService Discoveryを用いて通信を行うことになります。

[Q] essentialをfalseにしてある場合、死んでしまったコンテナはいつまでも放置されてしまうのでしょうか?再起動をかけようとする動きはないのでしょうか。
[A] essentialがfalseということは、コンテナが終了しても問題ないという意味ですので、放置されます。それが許されないコンテナはtrueを指定して頂けると、Serviceの場合にはTask全体をstopして再配置してくれます。essential falseの使いどころとしては、例えばTask開始時にちょっとだけ動かして終了したいジョブを組み込むことが考えられます。

[Q]  ELBの設定はECSをConsoleから操作する時に行えるのでしょうか?
[A] はい。Serviceを作成する際に作成済のElastic Load Balancingをひもづけることができます。

[Q] 適用したいイメージがかわっていくことを考えると、TaskのUpdateのほうが推奨なのでしょうか。Dockerのタグ管理よりも。(:latestタグにdocker pushし続ける運用)
[A] 推奨というよりは、タグを変えておかないとTaskが起動したタイミングによって適応されるイメージが変わってしまう可能性があり、それが許容されるかどうかによります。なお、image名を変えなくても新しいTask Definitionは作成可能なので、latestでUpdateし続けることも可能です。

[Q] ポートの設定の仕方などを見た感じ、1つのホスト内に同一タスクの複数のコンテナが無いという認識で合ってますか?
[A] hostPortを固定した場合には、1ホストにそのPortが1つしかないので結果的にそうなります。hostPortを指定しないもしくは0と指定した場合、Dynamic Port Mappingがなされるので、cpu/memory/portに余裕があれば1ホストに同一タスクが稼働することもあります。

[Q] 1coreとは1vCPUですか?
[A] はい。Amazon EC2インスタンスのOSから見えるcpuの数になります。

[Q] Volumesにおいて、Hostのファイルシステムをマウント出来るとありますが、ContainerインスタンスにEBSをマウントしておけばEBSもマウント可能という理解でよろしいでしょうか。
[A] はい、その通りです。Amazon EBSをマウントしたポイントをsourcePathで指定すればできます。

[Q] ダイナミックポートの場合どうやってサービスに使うのですか?
[A] Service Discoveryを行います(資料のp70で紹介した方法が一例です)。もしくはそれをラップしたProxy(例えばHAProxy)を立ててエンドポイントとする方法が考えられます。
http://www.slideshare.net/AmazonWebServicesJapan/aws-blackbelt-2015-ecs/70

[Q] 自分で作成したDockerfileを指定して、コンテナをECSで動かすことができますか?
[A] Amazon ECSでは事前にpushされたimageをpullして起動する部分しか現状はサポートしていないので、Dockerfileをbuildしてpushする部分は別途CI等で行う必要があります。

[Q] Beanstalkで複数インスタンスにそれぞれ異なる数のサービスをデプロイするには、どうすればよいでしょうか。複数の異なるDockerrun.aws.jsonを用意して、インスタンスを作成する形になるのでしょうか。
[A] AWS Beanstalkではそういった構成には対応しておらず、あくまで1Container Instanceに1Taskのみが配置されます。別Environmentを用意しても配置先は別のClusterになります。

[Q]  Beanstalkで、Dockerrun.aws.jsonでマルチコンテナを定義してデプロイした際に、ECSタスクが起動しない時があります。ログ情報が少なくて何がダメだったのか判断することが難しい時があるのですが、どうすれば良いでしょうか
[A] 具体的な現象についてはAWSサポートやフォーラムにお問い合わせ頂くのがよいかと思いますが、一般的なログの確認方法などはこちらも合わせてご確認下さい。
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html

[Q] Service中のTaskの数が増加した際に、「既存のTask」に対して何かしらのイベントを発行するような機構は存在するのでしょうか。または、そのあたりは全て自前で作りこむ必要があるのでしょうか(既存のTaskと新規Taskを相互通信させたい)
[A] 現状はイベント自体はありませんので、何らかの作り込みが必要になるかと思います。

[Q] t2.microのような小さなインスタンスをたくさん並べる事と、大きいインスタンスを稼働させること、それぞれの利点はなんでしょう?
[A] インスタンスが大きくなるとリソースの集約率が向上しやすいメリットがある一方で、1インスタンスが落ちた時の被害も大きくなるというデメリットもあるため、ユースケース次第ということになります。

Q&Aは以上です。

なお、7月以降のBlackbeltの開催予定は以下のエントリで紹介しています。7月は「運用月間」として、運用系に必要な技術の解説を行います。こちらもぜひご覧ください。

http://aws.typepad.com/sajp/2015/06/2015-july-aws-black-belt-tech-webinar.html

コメント

Twitter, Facebook

このブログの最新情報はTwitterFacebookでもお知らせしています。お気軽にフォローください。

2018年4 月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30