在AWS Glue中,当您使用自定义Docker映像时,需要配置映像证书以进行身份验证。但有时会发生证书验证失败的问题,导致无法使用自定义映像。解决方法如下:
- 首先,通过AWS CLI获取存储自定义映像的Amazon ECR存储库的图像令牌。
aws ecr get-login-password --region | docker login --username AWS --password-stdin
- 由于获取到的令牌过期时间较短,可能会导致证书验证失败。为此,需要将密钥令牌保存到本地文件以备日后使用。
aws ecr get-login-password --region > ~/ecr.txt
- 安装所需的加密算法以对获取的令牌进行加密。您可以选择使用特定的openssl版本进行加密,也可以使用其他程序进行处理。
sudo yum install openssl -y
echo $(openssl enc -aes-256-cbc -in ~/ecr.txt -pass pass: ) | base64
- 将输出复制到启用了加密的映像证书的“容器定义”部分中。确保您指定了包括加密密码在内的所有必要选项。
...
"containerDefinitions": [
{
...
"image": ".dkr.ecr..amazonaws.com/:",
"name": "",
"memoryReservation": 512,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "",
"awslogs-region": "",
"awslogs-stream-prefix": ""
}
},
"secrets": [
{
"name": "",
"valueFrom": "arn:aws:ssm:::parameter/