Как избежать зависимостей IAM, препятствующих удалению CFT, когда на роль ссылается профиль IAM и политика EC2 - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть CFT, который имеет эти 5 ресурсов:

MasterAsg:
  Type: AWS::AutoScaling::AutoScalingGroup
  Properties:
    ...
    LaunchConfigurationName:
      Ref: MasterLaunchConfig
MasterLaunchConfig:
  Type: AWS::AutoScaling::LaunchConfiguration
  Properties:
    ...
    IamInstanceProfile:
      Ref: MasterIntanceProfile
MasterIntanceProfile:
  Type: AWS::IAM::InstanceProfile
  Properties:
    Roles:
      - Ref: MasterIamRole
MasterIamRole:
  Type: AWS::IAM::Role
  Properties:
    ...
MasterIamPolicy:
  Type: AWS::IAM::Policy
  Properties:
    Roles:
      - Ref: MasterIamRole
    ...

Ниже приведен чертеж того, как они зависят друг от друга.

Dependency graph of CFT resources

У меня были случаи, когда другая часть этого CFT выходит из строя и вызывает откат стека.Ниже приведена ошибка, которую я получаю:

[MasterIamRole] Cannot delete entity, must detach all policies first. (Service: AmazonIdentityManagement; Status Code: 409; Error Code: DeleteConflict

Как я могу либо изменить способ создания этих ресурсов, либо добавить в этот стек правильный атрибут DependsOn, чтобы предотвратить запуск в будущем?

1 Ответ

0 голосов
/ 20 сентября 2018

Я подключил политику к роли напрямую, как показано в этом примере:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role-example1.yaml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...