아래와 같이 ECR(Elastic Container Registry), S3 또는 다른 Docker registry에서 이미지를 가져와서 Component를 생성할 수 있습니다.
Greengrass V1.x에서는 Docker connector를 이용하였고 V2.0에서는 Component의 Recipe의 environment variable에 정의된 registry에서 Docker Component를 생성하게 됩니다.
Greengrass에서 Docker Container를 Component이용하기 위해서는 아래와 같은 설정이 필요합니다.
Greengrass 디바이스에 접속하여 아래와 같이 사용자를 docker user group에 추가하여야 합니다.
sudo usermod -aG docker ggc_user
ECR을 사용하기 위해서는 device role을 참조하여, IAM Console에서 GreengrassV2TokenExchangeRole에 아래의 permission을 추가합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ecr:GetAuthorizationToken",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}