본문으로 건너뛰기

InstanceProfile

1 AWS EC2 인스턴스 프로파일 소개

  • AWS EC2 인스턴스 프로파일은 EC2 인스턴스에 IAM 역할을 연결하는 컨테이너입니다.
  • 이를 통해 EC2 인스턴스가 다른 AWS 서비스에 안전하게 액세스할 수 있도록 합니다.
  • 인스턴스 프로파일을 사용하면 액세스 키를 EC2 인스턴스에 직접 저장하지 않고도 필요한 권한을 부여할 수 있습니다.

2 EC2 인스턴스 프로파일의 필요성

  • EC2 인스턴스에서 실행되는 애플리케이션이 S3, DynamoDB 등 다른 AWS 서비스에 액세스해야 하는 경우가 많습니다.
  • 이때 AWS 액세스 키를 인스턴스에 직접 저장하는 것은 보안상 위험합니다.
  • 인스턴스 프로파일을 사용하면 다음과 같은 이점이 있습니다:
    • 보안 강화: 액세스 키를 직접 관리할 필요가 없어 보안 위험이 줄어듭니다.
    • 자동 교체: IAM 역할의 임시 자격 증명이 자동으로 교체되어 보안이 향상됩니다.
    • 권한 관리 용이: IAM 역할의 권한을 변경하면 즉시 인스턴스에 반영됩니다.

3 EC2 인스턴스 프로파일 작동 원리

  • EC2 인스턴스 프로파일은 다음과 같이 작동합니다:
    1. IAM 역할을 생성하고 필요한 권한을 부여합니다.
    2. 이 IAM 역할을 사용하여 인스턴스 프로파일을 생성합니다.
    3. EC2 인스턴스를 시작할 때 이 인스턴스 프로파일을 연결합니다.
    4. AWS SDK나 CLI는 인스턴스 메타데이터를 통해 임시 자격 증명을 자동으로 가져와 사용합니다.

4 EC2 인스턴스 프로파일 생성하기

  • EC2 인스턴스 프로파일을 생성하는 과정은 다음과 같습니다:

4.1 IAM 역할 생성

  1. AWS Management Console에서 IAM 서비스로 이동합니다.
  2. 왼쪽 메뉴에서 "역할"을 선택하고 "역할 만들기"를 클릭합니다.
  3. "AWS 서비스"를 선택하고, 사용 사례에서 "EC2"를 선택합니다.
  4. 필요한 권한 정책을 연결합니다. (예: S3FullAccess)
  5. 역할 이름을 지정하고 역할을 생성합니다.

4.2 인스턴스 프로파일 생성

  • AWS Management Console에서는 IAM 역할을 생성하면 자동으로 동일한 이름의 인스턴스 프로파일이 생성됩니다.
  • AWS CLI를 사용하여 수동으로 생성할 수도 있습니다:

인스턴스 프로파일 생성 명령어

aws iam create-instance-profile --instance-profile-name MyInstanceProfile

생성된 인스턴스 프로파일에 IAM 역할 연결

aws iam add-role-to-instance-profile --instance-profile-name MyInstanceProfile --role-name MyIAMRole

5 EC2 인스턴스에 프로파일 연결하기

  • 인스턴스 프로파일은 EC2 인스턴스 시작 시 또는 실행 중인 인스턴스에 연결할 수 있습니다.

5.1 인스턴스 시작 시 연결

  1. EC2 인스턴스 시작 마법사에서 "고급 세부 정보" 섹션으로 이동합니다.
  2. "IAM 인스턴스 프로파일" 드롭다운에서 생성한 인스턴스 프로파일을 선택합니다.

5.2 실행 중인 인스턴스에 연결

  1. EC2 대시보드에서 인스턴스를 선택합니다.
  2. "작업" > "보안" > "IAM 역할 수정"을 선택합니다.
  3. 드롭다운에서 원하는 IAM 역할(인스턴스 프로파일)을 선택하고 저장합니다.

AWS CLI를 사용하여 실행 중인 인스턴스에 프로파일을 연결할 수도 있습니다:

인스턴스에 프로파일 연결 명령어

aws ec2 associate-iam-instance-profile --instance-id i-1234567890abcdef0 --iam-instance-profile Name=MyInstanceProfile

6 인스턴스 프로파일 사용 확인

  • 인스턴스 프로파일이 올바르게 연결되었는지 확인하려면 다음 단계를 따릅니다:
  1. EC2 인스턴스에 SSH로 접속합니다.
  2. AWS CLI가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 설치합니다.
  3. 다음 명령어를 실행하여 현재 자격 증명을 확인합니다:

현재 자격 증명 확인 명령어

aws sts get-caller-identity
  • 이 명령어가 성공적으로 실행되고 연결된 IAM 역할의 정보가 표시되면, 인스턴스 프로파일이 올바르게 작동하고 있는 것입니다.

7 모범 사례

  • EC2 인스턴스 프로파일을 사용할 때 다음 모범 사례를 따르는 것이 좋습니다:
    • 최소 권한 원칙: 필요한 최소한의 권한만 IAM 역할에 부여합니다.
    • 역할 분리: 다른 목적을 가진 인스턴스에는 서로 다른 IAM 역할을 사용합니다.
    • 정기적인 검토: 주기적으로 IAM 역할의 권한을 검토하고 필요 없는 권한은 제거합니다.
    • 버전 관리: IAM 정책에 버전 관리를 사용하여 변경 사항을 추적합니다.

8 결론

  • EC2 인스턴스 프로파일은 EC2 인스턴스에서 다른 AWS 서비스에 안전하게 접근할 수 있게 해주는 중요한 보안 기능입니다.
  • 액세스 키를 직접 관리하는 대신 인스턴스 프로파일을 사용함으로써 보안을 강화하고 관리를 간소화할 수 있습니다.
  • 올바른 설정과 모범 사례를 따르면 EC2 인스턴스와 다른 AWS 서비스 간의 안전하고 효율적인 통신을 구현할 수 있습니다.