2017-07-07 10 views
0

私の目標は、Terraform経由でCloudWatchにドッカーコンテナログを送信することです。 これは私がIAMのために使用していECSの役割です:ドッキングウィンドウコンテナのための私のタスク定義でAWSにドッカーログを送信するTerraform経由でCloudWatch

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "elasticloadbalancing:Describe*", 
     "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", 
     "elasticloadbalancing:RegisterInstancesWithLoadBalancer", 
     "ec2:Describe*", 
     "ec2:AuthorizeSecurityGroupIngress", 
     "logs:CreateLogStream", 
     "logs:PutLogEvents" 
     ], 
     "Resource": [ 
     "*" 
     ] 
    } 
    ] 
} 

、私はこれを持っている他のものの間:

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
    { 
     "Action": "sts:AssumeRole", 
     "Principal": { 
     "Service": ["ecs.amazonaws.com", "ec2.amazonaws.com"] 
     }, 
     "Effect": "Allow" 
    } 
    ] 
} 

そしてここでは、ECSサービスの役割のポリシーです

"logConfiguration": { 
    "logDriver": "awslogs", 
    "options": { 
     "awslogs-group": "awslog-mylogs", 
     "awslogs-region": "eu-west-1", 
     "awslogs-stream-prefix": "awslogs-mylogs-stream" 
    } 
    } 

(私はAWSコンソールを介して、事前に作成したawslog-mylogsログ・グループを持っている):CloudWatchのロギングのために。

問題は、上記のロギング設定を使わずにAWSインスタンスを(Terraformを適用して)スピンアップすれば問題なく動作しますが、すべて正常に動作し、コンテナが稼働しています(もちろん、ログはCloudwatch )。このロギング設定情報があるとすぐに、EC2インスタンスが回転しますが、コンテナは正しく起動しません。 EC2のインスタンスにssh - ingした後、私はドッカーのコンテナが救済されたことに気付きました。

ここで何が問題になるのでしょうか? terraform経由でCloudwatchにログを送信するように設定する限り、何が失われる可能性がありますか?

答えて

3

すべての権限を設定し、CloudwatchもECSサービスロールポリシーに含めてください。

policy = <<EOF 
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "cloudwatch:GetMetricStatistics", 
     "cloudwatch:ListMetrics", 
     "cloudwatch:PutMetricData", 
     "ec2:DescribeTags", 
     "logs:CreateLogGroup", 
     "logs:CreateLogStream", 
     "logs:DescribeLogStreams", 
     "logs:PutSubscriptionFilter", 
     "logs:PutLogEvents" 
     ], 
     "Resource": [ 
     "arn:aws:logs:*:*:*" 
     ] 
    } 
    ] 
} 
EOF 
+0

ありがとうございました。 ECSサービスにCloudWatchを含めるにはどうすればよいですか? –

+1

既存のECSサービスポリシー(コードの2番目の部分)にコピー&ペーストする – BMW

関連する問題