본문으로 건너뛰기

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 서비스 간의 안전하고 효율적인 통신을 구현할 수 있습니다.