2

내 고정 표시기-작성 파일 :AWS CloudWatch에서 로그 - NoCredentialProviders : 체인의 유효한 제공

나는 AWS 명령을 구성하여 나의 Mac으로 내 AWS 자격 증명을 추가하고 자격 증명이 올바르게 저장됩니다
version: '2' 
services: 
    scraper: 
    build: ./Scraper/ 
    logging: 
     driver: "awslogs" 
     options: 
     awslogs-region: "eu-west-1" 
     awslogs-group: "doctors-logs" 
     awslogs-stream: "scrapers-stream" 
    volumes: 
     - ./Scraper/spiders:/spiders 

에 ~/.aws/자격 증명

내가 도망 고정 표시기-구성 나는 다음과 같은 오류 얻을까지 : 나는 내가 AWS 자격 증명을 설정해야하기 때문입니다 생각

ERROR: for scraper Cannot start service scraper: Failed to initialize logging driver: NoCredentialProviders: no valid providers in chain.

Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors

ERROR: Encountered errors while bringing up the project.

을 Docker Daemon에서는 macOs Sierra에서이 작업이 어떻게 수행되는지 확인할 수 없습니다.

답변

0

나는 알아 냈다. Beanstalk과 같은 자동화 된 솔루션을 사용하지 않고 자체 EC2 인스턴스를 롤링 할 때 다른 AWS 서비스와 통신 할 수 있도록 EC2 인스턴스에 역할을 할당해야합니다.

Policy

정책은 부두 노동자의 문서는 다음 역할이있는 역할

EC2 Role

에이 정책을 연결해야 https://docs.docker.com/engine/admin/logging/awslogs/

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": [ 
     "logs:CreateLogStream", 
     "logs:PutLogEvents" 
     ], 
     "Effect": "Allow", 
     "Resource": "*" 
    } 
    ] 
} 

에서 제공 한 것입니다 첫 번째 항목은 "Amazon EC2"로 "EC2 인스턴스가 사용자를 대신하여 AWS 서비스를 호출 할 수 있습니다. . "

CloudWatch에 대한 액세스를 제한하고 있으므로 잘하겠습니다. 그런 다음 EC2 목록에 "/ 부착 IAM 역할 바꾸기"사용하여 인스턴스에 역할을 첨부 :

IAM Role

Attach IAM Role

당신은 갈 수 있어야한다!