1

AWS EC2インスタンス上でドッキング用のコンテナをいくつか実行しています。ログをAWS CloudWatchに送信することを検討しています。 AmazonのAMIを実行しているEC2インスタンスに移動したので、DockerコンテナからSierraを実行しているMacからAWS CloudWatchへログを取得する際に問題が発生しました。AWSへのログDockerコンテナからのCloudwatch

マイドッキングウィンドウ-コンファイル:私はドッキングウィンドウ-構成を実行すると

version: '2' 
services: 
    scraper: 
    build: ./Scraper/ 
    logging: 
    driver: "awslogs" 
    options: 
     awslogs-region: "eu-west-1" 
     awslogs-group: "permission-logs" 
     awslogs-stream: "stream" 
    volumes: 
    - ./Scraper/spiders:/spiders 

私は次のエラーを取得する:

scraper_1 | WARNING: no logs are available with the 'awslogs' log driver

が、コンテナが実行されています。 AWS CloudWatchストリームにログは表示されません。ドッカーコンテナが動作するEC2コンテナにIAMロールを割り当てました。

私は今何をしなければならなくて、何かアドバイスをいただきたいと思います。

+0

あなたはECSクラスタ上またはプレーンEC2上でこれを実行していますか? – talentedmrjones

+0

プレーンEC2で動作しています。 – user7692855

答えて

-1

使用しているAWSログドライバawslogsは、EC2コンテナサービス(ECS)で使用するためのものです。プレーンEC2では動作しません。 See documentation

単一のノードECS clusterを作成することをお勧めします。そのクラスタ内のEC2インスタンスがロールを持ち、そのロールがCloudwatchログに書き込む権限を持っていることを確認してください。

stdoutにログするコンテナの中には、awslogsドライバでキャプチャされ、Cloudwatchログにストリーム配信されます。

+0

https://docs.docker.com/engine/admin/logging/awslogs/#tagにはECSでのみ動作することが示されているものはありません。 Amazon EC2インスタンスプロファイルでは、「または(Amazon EC2インスタンスでDockerデーモンを実行している場合)」と表示されます。それが他の場所で働いていると信じさせるでしょう。 – user7692855

+0

私はDockerのドキュメントに依存してAWSの動作について信頼できません。誤っていないImがEC2上で動作するECSクライアントに依存しているのであれば、問題のログドライバ。あなたは*潜在的*クライアントをインストールし、それが役立つかどうかを確認することができます – talentedmrjones

+0

私は通常のEC2インスタンスでECSを使用していますが、ECSは必要ありません。 – user2707671

関連する問題