AWS 서비스를 직접 호출하는 애플리케이션에 IAM 역할 사용
클러스터의 EC2 인스턴스에서 실행 중인 애플리케이션은 AWS 서비스 호출 시 EC2 인스턴스 프로필을 사용하여 임시 보안 자격 증명을 얻을 수 있습니다.
Amazon EMR 릴리스 2.3.0 이상에서 사용할 수 있는 Hadoop의 버전은 IAM 역할을 사용하도록 이미 업데이트되었습니다. 애플리케이션이 Hadoop 아키텍처에 기초하여 엄격하게 실행되며 AWS에서 어떤 서비스도 직접 호출하지 않는 경우 아무것도 수정하지 않은 상태로 IAM 역할을 사용해야 합니다.
애플리케이션이 AWS에서 서비스를 직접 호출하는 경우에는 IAM 역할을 활용하도록 업데이트해야 합니다. 즉, 클러스터의 EC2 인스턴스에서 /etc/hadoop/conf/core-site.xml
의 계정 보안 인증을 얻는 대신에 애플리케이션이 SDK를 사용하여 IAM 역할로 리소스에 액세스하거나 EC2 인스턴스 메타데이터를 직접 호출하여 임시 보안 인증을 얻습니다.
SDK를 사용하여 IAM 역할로 AWS 리소스에 액세스하는 방법
-
다음 주제에서는 여러 AWS SDK를 사용하여 IAM 역할로 임시 보안 인증에 액세스하는 방법을 보여줍니다. 각 주제는 IAM 역할을 사용하지 않는 애플리케이션 버전으로 시작한 다음 IAM 역할을 사용하도록 해당 애플리케이션을 변환하는 프로세스를 안내합니다.
-
AWS SDK for Java 개발자 안내서의 SDK for Java를 포함하는 Amazon EC2인스턴스에서 IAM 역할 사용
-
AWS SDK for .NET 개발자 안내서의 SDK for .NET을 포함하는 Amazon EC2인스턴스에서 IAM 역할 사용
-
AWS SDK for PHP 개발자 안내서의 SDK for PHP를 포함하는 Amazon EC2인스턴스에서 IAM 역할 사용
-
AWS SDK for Ruby 개발자 안내서의 SDK for Ruby를 포함하는 Amazon EC2인스턴스에서 IAM 역할 사용
-
EC2 인스턴스 메타데이터에서 임시 자격 증명을 가져오려면
-
지정된 IAM 역할로 실행 중인 EC2 인스턴스에서 다음 URL을 직접 호출합니다. 그러면 연결된 임시 보안 인증(AccessKeyId, SecretAccessKey, SessionToken 및 Expiration)이 반환됩니다. 다음 예제에서는 Amazon EMR에 대한 기본 인스턴스 프로파일(
EMR_EC2_DefaultRole
)을 사용합니다.GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
IAM 역할을 사용하는 애플리케이션 작성에 대한 자세한 내용은 Amazon EC2 인스턴스에서 실행하는 애플리케이션에 AWS 리소스에 대한 액세스 권한 부여를 참조하세요.
임시 보안 인증 생성에 대한 자세한 내용은 임시 보안 인증 사용에서 임시 보안 인증 사용을 참조하세요.