AWS CLI를 사용한 Amazon EMR on EKS 예제
다음 코드 예제에서는 Amazon EMR on EKS에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시는 create-role-associations의 사용 방법을 보여줍니다.
- AWS CLI
-
Amazon EMR on EKS와 함께 사용할 EMR 서비스 계정과 IAM 역할의 역할 연결 생성
다음
create-role-associations예제 명령은 example_iam_role이라는 역할의 EKS Pod Identity 연결을 EMR 서비스 계정과 생성하여, example_cluster라는 EKS 클러스터의 example_namespace 네임스페이스를 사용하는 Amazon EMR on EKS와 함께 사용할 수 있도록 합니다.aws emr-containers create-role-associations \ --cluster-nameexample_cluster\ --namespaceexample_namespace\ --role-nameexample_iam_role출력:
[ { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-client-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/a-bgyr1umgdmrk1kdtq", "associationId": "a-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-driver-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/b-bgyr1umgdmrk1kdtq", "associationId": "b-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-executor-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/c-bgyr1umgdmrk1kdtq", "associationId": "c-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" } ]-
API 세부 정보는 AWS CLI 명령 참조의 CreateRoleAssociations
섹션을 참조하세요.
-
다음 코드 예시는 delete-role-associations의 사용 방법을 보여줍니다.
- AWS CLI
-
IAM 역할과 EMR 서비스 계정의 역할 연결 삭제
EKS는 존재하지 않는 리소스(네임스페이스, 서비스 계정)와의 연결을 허용하므로 EMR on EKS는 네임스페이스가 삭제되거나 역할이 사용되지 않는 경우 다른 연결을 위한 스페이스를 확보하기 위해 연결을 삭제할 것을 권장합니다.
다음
delete-role-associations예제 명령은 example_iam_role이라는 역할의 EKS Pod Identity 연결을 EMR 서비스 계정에서 삭제하여, example_cluster라는 EKS 클러스터의 example_namespace 네임스페이스를 사용하는 Amazon EMR on EKS에서 제거할 수 있도록 합니다.aws emr-containers delete-role-associations \ --cluster-nameexample_cluster\ --namespaceexample_namespace\ --role-nameexample_iam_role출력:
[ { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-client-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/a-bgyr1umgdmrk1kdtq", "associationId": "a-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-driver-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/b-bgyr1umgdmrk1kdtq", "associationId": "b-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" }, { "clusterName": "example_cluster", "namespace": "example_namespace", "serviceAccount": "emr-spark-executor-service-account-example", "roleArn": "arn:aws:iam::111111111111:role/example_iam_role", "associationArn": "arn:aws:eks:us-east-1:111111111111:podidentityassociation/example_cluster/c-bgyr1umgdmrk1kdtq", "associationId": "c-bgyr1umgdmrk1kdtq", "tags": {}, "createdAt": "2022-11-15T10:49:00+00:00", "modifiedAt": "2022-11-15T10:49:00+00:00" } ]-
API 세부 정보는 AWS CLI 명령 참조의 DeleteRoleAssociations
섹션을 참조하세요.
-
다음 코드 예시는 update-role-trust-policy의 사용 방법을 보여줍니다.
- AWS CLI
-
Amazon EMR on EKS와 함께 사용할 IAM 역할의 신뢰 정책을 업데이트하는 방법
이 예제 명령은 example_iam_role이라는 역할의 신뢰 정책을 example_cluster라는 EKS 클러스터의 example_namespace 네임스페이스가 있는 Amazon EMR on EKS에서 사용할 수 있도록 업데이트합니다.
명령:
aws emr-containers update-role-trust-policy \ --cluster example_cluster \ --namespace example_namespace \ --role-name example_iam_role출력:
If the trust policy has already been updated, then the output will be: Trust policy statement already exists for role example_iam_role. No changes were made! If the trust policy has not been updated yet, then the output will be: Successfully updated trust policy of role example_iam_role.-
API 세부 정보는 AWS CLI 명령 참조의 UpdateRoleTrustPolicy
를 참조하세요.
-