InstanceProfile
1 AWS EC2 인스턴스 프로파일 소개
- AWS EC2 인스턴스 프로파일은 EC2 인스턴스에 IAM 역할을 연결하는 컨테이너입니다.
- 이를 통해 EC2 인스턴스가 다른 AWS 서비스에 안전하게 액세스할 수 있도록 합니다.
- 인스턴스 프로파일을 사용하면 액세스 키를 EC2 인스턴스에 직접 저장하지 않고도 필요한 권한을 부여할 수 있습니다.
2 EC2 인스턴스 프로파일의 필요성
- EC2 인스턴스에서 실행되는 애플리케이션이 S3, DynamoDB 등 다른 AWS 서비스에 액세스해야 하는 경우가 많습니다.
- 이때 AWS 액세스 키를 인스턴스에 직접 저장하는 것은 보안상 위험합니다.
- 인스턴스 프로파일을 사용하면 다음과 같은 이점이 있습니다:
- 보안 강화: 액세스 키를 직접 관리할 필요가 없어 보안 위험이 줄어듭니다.
- 자동 교체: IAM 역할의 임시 자격 증명이 자동으로 교체되어 보안이 향상됩니다.
- 권한 관리 용이: IAM 역할의 권한을 변경하면 즉시 인스턴스에 반영됩니다.
3 EC2 인스턴스 프로파일 작동 원리
- EC2 인스턴스 프로파일은 다음과 같이 작동합니다:
- IAM 역할을 생성하고 필요한 권한을 부여합니다.
- 이 IAM 역할을 사용하여 인스턴스 프로파일을 생성합니다.
- EC2 인스턴스를 시작할 때 이 인스턴스 프로파일을 연결합니다.
- AWS SDK나 CLI는 인스턴스 메타데이터를 통해 임시 자격 증명을 자동으로 가져와 사용합니다.
4 EC2 인스턴스 프로파일 생성하기
- EC2 인스턴스 프로파일을 생성하는 과정은 다음과 같습니다:
4.1 IAM 역할 생성
- AWS Management Console에서 IAM 서비스로 이동합니다.
- 왼쪽 메뉴에서 "역할"을 선택하고 "역할 만들기"를 클릭합니다.
- "AWS 서비스"를 선택하고, 사용 사례에 서 "EC2"를 선택합니다.
- 필요한 권한 정책을 연결합니다. (예: S3FullAccess)
- 역할 이름을 지정하고 역할을 생성합니다.
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 인스턴스 시작 시 연결
- EC2 인스턴스 시작 마법사에서 "고급 세부 정보" 섹션으로 이동합니다.
- "IAM 인스턴스 프로파일" 드롭다운에서 생성한 인스턴스 프로파일을 선택합니다.
5.2 실행 중인 인스턴스에 연결
- EC2 대시보드에서 인스턴스를 선택합니다.
- "작업" > "보안" > "IAM 역할 수정"을 선택합니다.
- 드롭다운에서 원하는 IAM 역할(인스턴스 프로파일)을 선택하고 저장합니다.
AWS CLI를 사용하여 실행 중인 인스턴스에 프로파일을 연결할 수도 있습니다:
인스턴스에 프로파일 연결 명령어
aws ec2 associate-iam-instance-profile --instance-id i-1234567890abcdef0 --iam-instance-profile Name=MyInstanceProfile
6 인스턴스 프로파일 사용 확인
- 인스턴스 프로파일이 올바르게 연결되었는지 확인하려면 다음 단계를 따릅니다:
- EC2 인스턴스에 SSH로 접속합니다.
- AWS CLI가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 설치합니다.
- 다음 명령어를 실행하여 현재 자격 증명을 확인합니다:
현재 자격 증명 확인 명령어
aws sts get-caller-identity
- 이 명령어가 성공적으로 실행되고 연결된 IAM 역할의 정보가 표시되면, 인스턴스 프로파일이 올바르게 작동하고 있는 것입니다.
7 모범 사례
- EC2 인스턴스 프로파일을 사용할 때 다음 모범 사례를 따르는 것이 좋습니다:
- 최소 권한 원칙: 필요한 최소한의 권한만 IAM 역할에 부여합니다.
- 역할 분리: 다른 목적을 가진 인스턴스에는 서로 다른 IAM 역할을 사용합니다.
- 정기적인 검토: 주기적으로 IAM 역할의 권한을 검토하고 필요 없는 권한은 제거합니다.
- 버전 관리: IAM 정책에 버전 관리를 사용하여 변경 사항을 추적합니다.
8 결론
- EC2 인스턴스 프로파일은 EC2 인스턴스에서 다른 AWS 서비스에 안전하게 접근할 수 있게 해주는 중요한 보안 기능입니다.
- 액세스 키를 직접 관리하는 대신 인스턴스 프로파일을 사용함으로써 보안을 강화하고 관리를 간소화할 수 있습니다.
- 올바른 설정과 모범 사례를 따르면 EC2 인스턴스와 다른 AWS 서비스 간의 안전하고 효율적인 통신을 구현할 수 있습니다.