如何解决无法注册内部部署实例,因为该请求包含一个已经用于注册实例的IAM用户ARN
在调试this question的同时,我继续进行
-
在https://console.aws.amazon.com/iam/的IAM控制台中
1.1。删除了一个角色(CodeDeployServiceRole)。
1.2。创建了服务角色。
-
在https://console.aws.amazon.com/s3/的S3控制台中
2.1。清空并删除一个存储桶(tiagocodedeploylightsailbucket)。
2.2。在欧盟伦敦(eu-west-2)中创建了一个新存储桶。
-
返回到https://console.aws.amazon.com/iam/的IAM控制台
3.1。删除了一个策略(CodeDeployS3BucketPolicy)。
3.2。创建了新政策。
-
留在https://console.aws.amazon.com/iam/的IAM控制台中
4.1。删除一个用户(LightSailCodeDeployUser)
4.2。创建了一个新用户(具有相同的名称)。
-
导航至https://lightsail.aws.amazon.com/上的Lightsail主页
5.1。删除以前的实例(codedeploy)。
5.2。使用Amazon Linux(Amazon_Linux_1)创建了一个新实例(请注意,如果我使用Amazon Linux 2,它将达到this problem),
使用脚本
mkdir /etc/codedeploy-agent/
mkdir /etc/codedeploy-agent/conf
cat <<EOT >> /etc/codedeploy-agent/conf/codedeploy.onpremises.yml
---
aws_access_key_id: ACCESS_KEY
aws_secret_access_key: SECRET_KEY
iam_user_arn: arn:aws:iam::525221857828:user/LightSailCodeDeployUser
region: eu-west-2
EOT
wget https://aws-codedeploy-us-west-2.s3.us-west-2.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
检查是否正在运行CodeDeploy代理,然后在AWS CLI中运行以下命令时
aws deploy register-on-premises-instance --instance-name Amazon_Linux_1 --iam-user-arn arn:aws:iam::525221857828:user/LightSailCodeDeployUser --region eu-west-2
我明白了
调用时发生错误(IamUserArnAlreadyRegisteredException) RegisterOnPremisesInstance操作:内部实例 无法注册,因为请求包含IAM用户ARN 已经用于注册实例的文件。包括一个 请求中使用其他IAM用户ARN或IAM会话ARN,然后尝试 再次。
解决方法
即使我删除了用户,创建了一个具有相同名称的用户,然后删除了另一个现有实例,IAM用户ARN仍然相同
arn:aws:iam::525221857828:user/LightSailCodeDeployUser
要修复此问题,我回到了第4步并创建了一个具有不同名称的用户;然后,更新了用于创建实例的脚本,检查CodeDeploy代理是否正在运行以及现在是否在AWS CLI中运行
aws deploy register-on-premises-instance --instance-name Amazon_Linux_1 --iam-user-arn arn:aws:iam::525221857828:user/GeneralUser --region eu-west-2
我得到了预期的结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。