인스턴스에 IAM 역할 연결하기

인스턴스에 IAM 역할 연결하기 (Attach an IAM role to an instance)

IAM 역할을 만들어 시작 중 또는 시작 후에 인스턴스에 연결할 수 있어요. IAM 역할을 교체하거나 분리할 수도 있어요.

  • EC2 인스턴스 시작 중에 고급 세부 정보(Advanced details)를 확장하세요.
  • IAM 인스턴스 프로필(IAM instance profile) 섹션에서 새 IAM 역할 만들기(Create new IAM role)를 선택하세요.
  • 인라인 역할 생성 양식이 열리며 다음을 할 수 있어요:
    • 역할 이름(Role name)(예: EC2-S3-Access-Role) 지정
    • AWS 관리 정책을 선택하거나 인스턴스에 대한 사용자 지정 정책을 만들어 권한 정의. 예를 들어 S3 액세스를 부여하려면 AmazonS3ReadOnlyAccess 관리 정책을 선택하세요.
    • ec2.amazonaws.com이 역할을 수임하도록 허용하는 신뢰 정책 검토
    • 메타데이터용 선택적 태그 추가
  • 역할 만들기(Create role)를 선택하세요.
  • 새로 만든 역할이 자동으로 선택되며, 인스턴스가 시작될 때 인스턴스 프로필을 통해 인스턴스에 연결돼요.

참고 인스턴스 시작 중에 콘솔을 사용해 역할을 만들면 역할과 같은 이름의 인스턴스 프로필이 자동으로 만들어져요. 인스턴스 프로필은 시작 시 IAM 역할 정보를 인스턴스에 전달하는 컨테이너예요.

중요

  • 인스턴스에는 하나의 IAM 역할만 연결할 수 있지만, 같은 역할을 많은 인스턴스에 연결할 수 있어요.
  • 애플리케이션이 필요로 하는 특정 API 호출로 액세스를 제한하는 최소 권한(least privilege) IAM 정책을 연결하세요.

IAM 역할 생성 및 사용에 대한 자세한 내용은 IAM 사용 설명서의 역할(Roles)을 참고하세요.

인스턴스 시작 중 기존 IAM 역할 연결 (Attaching an existing IAM role during instance launch)

Amazon EC2 콘솔을 사용해 시작 시 인스턴스에 기존 IAM 역할을 연결하려면 고급 세부 정보(Advanced details)를 확장하고 IAM 인스턴스 프로필(IAM instance profile)에 대해 드롭다운 목록에서 IAM 역할을 선택하세요.

참고 IAM 콘솔을 사용해 IAM 역할을 만들었다면 인스턴스 프로필이 자동으로 만들어졌고 역할과 같은 이름이 주어졌어요. AWS CLI, API 또는 AWS SDK를 사용해 IAM 역할을 만들었다면 인스턴스 프로필에 역할과 다른 이름을 주었을 수 있어요.

실행 중이거나 중지된 인스턴스에 IAM 역할을 연결할 수 있어요. 인스턴스에 이미 IAM 역할이 연결되어 있다면 새 IAM 역할로 교체해야 해요.

콘솔 (Console)

인스턴스에 IAM 역할 연결:

  • Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
  • 탐색 창에서 인스턴스(Instances)를 선택하세요.
  • 인스턴스를 선택하세요.
  • 작업(Actions), 보안(Security), IAM 역할 수정(Modify IAM role)을 선택하세요.
  • IAM 역할(IAM role)에 대해 IAM 인스턴스 프로필을 선택하세요.
  • IAM 역할 업데이트(Update IAM role)를 선택하세요.

AWS CLI

인스턴스에 IAM 역할 연결:

인스턴스에 IAM 역할을 연결하려면 associate-iam-instance-profile 명령을 사용하세요. 인스턴스 프로필을 지정할 때 인스턴스 프로필의 Amazon 리소스 이름(ARN)이나 이름을 사용할 수 있어요.

aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"

PowerShell

인스턴스에 IAM 역할 연결:

Register-EC2IamInstanceProfile cmdlet을 사용하세요.

Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1

IAM 역할 교체 (Replace the IAM role for an instance)

이미 IAM 역할이 연결된 인스턴스의 IAM 역할을 교체하려면 인스턴스가 실행 중이어야 해요. 기존 역할을 먼저 분리하지 않고 인스턴스의 IAM 역할을 변경하려면 이렇게 할 수 있어요. 예를 들어 인스턴스에서 실행 중인 애플리케이션이 수행하는 API 작업이 중단되지 않도록 하려면 이렇게 할 수 있어요.

콘솔 (Console)

인스턴스의 IAM 역할 교체:

  • Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
  • 탐색 창에서 인스턴스(Instances)를 선택하세요.
  • 인스턴스를 선택하세요.
  • 작업(Actions), 보안(Security), IAM 역할 수정(Modify IAM role)을 선택하세요.
  • IAM 역할(IAM role)에 대해 IAM 인스턴스 프로필을 선택하세요.
  • IAM 역할 업데이트(Update IAM role)를 선택하세요.

AWS CLI

인스턴스의 IAM 역할 교체:

  • 필요한 경우 describe-iam-instance-profile-associations 명령을 사용해 연결 ID를 가져오세요.
aws ec2 describe-iam-instance-profile-associations \
    --filters Name=instance-id,Values=i-1234567890abcdef0 \
    --query IamInstanceProfileAssociations.AssociationId
  • replace-iam-instance-profile-association 명령을 사용하세요. 기존 인스턴스 프로필의 연결 ID와 새 인스턴스 프로필의 ARN 또는 이름을 지정하세요.
aws ec2 replace-iam-instance-profile-association \
    --association-id iip-assoc-0044d817db6c0a4ba \
    --iam-instance-profile Name="TestRole-2"

PowerShell

인스턴스의 IAM 역할 교체:

  • 필요한 경우 Get-EC2IamInstanceProfileAssociation cmdlet을 사용해 연결 ID를 가져오세요.
(Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
  • Set-EC2IamInstanceProfileAssociation cmdlet을 사용하세요. 기존 인스턴스 프로필의 연결 ID와 새 인스턴스 프로필의 ARN 또는 이름을 지정하세요.
Set-EC2IamInstanceProfileAssociation `
    -AssociationId iip-assoc-0044d817db6c0a4ba `
    -IamInstanceProfile_Name TestRole-2

IAM 역할 분리 (Detach an IAM role from an instance)

실행 중이거나 중지된 인스턴스에서 IAM 역할을 분리할 수 있어요.

콘솔 (Console)

인스턴스에서 IAM 역할 분리:

  • Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
  • 탐색 창에서 인스턴스(Instances)를 선택하세요.
  • 인스턴스를 선택하세요.
  • 작업(Actions), 보안(Security), IAM 역할 수정(Modify IAM role)을 선택하세요.
  • IAM 역할(IAM role)에 대해 IAM 역할 없음(No IAM Role)을 선택하세요.
  • IAM 역할 업데이트(Update IAM role)를 선택하세요.
  • 확인 메시지가 표시되면 Detach를 입력하고 분리(Detach)를 선택하세요.

AWS CLI

인스턴스에서 IAM 역할 분리:

  • 필요한 경우 describe-iam-instance-profile-associations를 사용해 분리할 IAM 인스턴스 프로필의 연결 ID를 가져오세요.
aws ec2 describe-iam-instance-profile-associations \
    --filters Name=instance-id,Values=i-1234567890abcdef0 \
    --query IamInstanceProfileAssociations.AssociationId
  • disassociate-iam-instance-profile 명령을 사용하세요.
aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba

PowerShell

인스턴스에서 IAM 역할 분리:

  • 필요한 경우 Get-EC2IamInstanceProfileAssociation을 사용해 분리할 IAM 인스턴스 프로필의 연결 ID를 가져오세요.
(Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
  • Unregister-EC2IamInstanceProfile cmdlet을 사용하세요.
Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba

더 알아보기 (Learn more)