Step Functions를 사용하여 Amazon EKS 클러스터를 생성하고 관리합니다. - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Step Functions를 사용하여 Amazon EKS 클러스터를 생성하고 관리합니다.

Step Functions를 Amazon과 EKS 통합하여 쿠버네티스 클러스터를 관리하는 방법을 알아보십시오. Step Functions는 아마존 Elastic Kubernetes Service와의 통합을 APIs 위한 두 가지 유형의 서비스 통합을 제공합니다. 하나를 사용하면 Amazon을 EKS APIs 사용하여 Amazon EKS 클러스터를 생성하고 관리할 수 있습니다. 다른 하나는 Kubernetes를 사용하여 클러스터와 상호 API 작용하고 애플리케이션 워크플로의 일부로 작업을 실행할 수 있도록 합니다.

Step Functions를 사용하여 만든 EKS Amazon 클러스터, eksctl 도구 또는 Amazon 콘솔로 만든 EKS Amazon 클러스터 또는 유사한 방법으로 쿠버네티스 API 통합을 사용할 수 있습니다. EKS 자세한 내용은 Amazon EKS 사용 설명서의 Amazon EKS 클러스터 생성을 참조하십시오.

통합에 대해 알아보려면 AWS Step Functions의 서비스에 대해서는 및 을 참조하십시오 서비스 통합. Step API Functions에서 서비스에 파라미터 전달하기

최적화된 Amazon EKS 통합의 주요 기능
참고

Step Functions EKS 통합은 퍼블릭 엔드포인트 액세스 권한이 APIs 있는 쿠버네티스만 지원합니다. 기본적으로 EKS 클러스터 API 서버 엔드포인트는 퍼블릭 액세스 권한을 가집니다. 자세한 내용은 Amazon EKS사용 설명서의 Amazon EKS 클러스터 엔드포인트 액세스 제어를 참조하십시오.

Step Functions는 실행이 중지된 경우 Amazon EKS 클러스터를 자동으로 종료하지 않습니다. Amazon EKS 클러스터가 종료되기 전에 상태 머신이 중지되는 경우 클러스터는 무기한 계속 실행될 수 있으며 추가 요금이 발생할 수 있습니다. 이를 방지하려면 생성한 모든 Amazon EKS 클러스터가 제대로 종료되었는지 확인하십시오. 자세한 내용은 다음을 참조하세요.

참고

Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이렇게 하면 다른 서비스로 데이터를 보내거나 다른 서비스로부터 데이터를 받을 때 UTF -8로 인코딩된 문자열로 데이터가 256KB로 제한됩니다. 상태 시스템 실행과 관련된 할당량을 참조하세요.

API쿠버네티스 통합

Step Functions는 다음과 같은 쿠버네티스를 APIs 지원합니다.

RunJob

eks:runJob서비스 통합을 통해 Amazon EKS 클러스터에서 작업을 실행할 수 있습니다. 이 eks:runJob.sync 변형을 사용하면 작업이 완료될 때까지 기다릴 수 있으며 선택적으로 로그를 검색할 수 있습니다.

Kubernetes API 서버는 상태 머신이 사용하는 IAM 역할에 권한을 부여해야 합니다. 자세한 내용은 권한 단원을 참조하십시오.

작업 실행(.sync) 패턴의 경우 작업 상태는 폴링을 통해 결정됩니다. Step Functions는 처음에 1분당 약 1회 속도로 폴링합니다. 결국 이 속도는 5분당 약 1회 폴링으로 느려집니다. 더 자주 폴링해야 하거나 폴링 전략을 더 세밀하게 제어해야 하는 경우 eks:call 통합을 사용하여 작업 상태를 쿼리하면 됩니다.

eks:runJob 통합은 batch/v1 Kubernetes 작업에만 해당됩니다. 자세한 내용은 Kubernetes 문서의 작업을 참조하세요. 사용자 지정 리소스를 포함하여 다른 Kubernetes 리소스를 관리하려면 eks:call 서비스 통합을 사용합니다. Lambda를 사용하여 작업 상태를 폴링하고 AWS Batch 샘플 프로젝트에 나와 있는 것처럼 Step Functions를 사용하여 폴링 루프를 빌드할 수 있습니다.

지원되는 파라미터는 다음과 같습니다.

  • ClusterName: 호출하려는 Amazon EKS 클러스터의 이름입니다.

    • Type: String

    • 필수 항목 여부: 예

  • CertificateAuthority: 클러스터와 통신하는 데 필요한 Base64로 인코딩된 인증서 데이터입니다. 이 값은 Amazon EKS 콘솔에서 가져오거나 Amazon을 사용하여 얻을 수 EKS DescribeClusterAPI있습니다.

    • Type: String

    • 필수 항목 여부: 예

  • Endpoint: API 쿠버네티스 서버의 엔드포인트URL. 이 값은 Amazon EKS 콘솔에서 가져오거나 Amazon을 사용하여 얻을 수 EKS DescribeClusterAPI있습니다.

    • Type: String

    • 필수 항목 여부: 예

  • Namespace: 작업을 실행할 네임스페이스입니다. 제공되지 않으면 default 네임스페이스가 사용됩니다.

    • Type: String

    • 필수 항목 여부: 아니요

  • Job: Kubernetes 작업 정의입니다. Kubernets 문서의 작업을 참조하세요.

    • Type: JSON 또는 String

    • 필수 항목 여부: 예

  • LogOptions: 선택적 로그 검색을 제어하는 옵션 집합입니다. 실행 작업(.sync) 서비스 통합 패턴을 사용하여 작업 완료를 기다리는 경우에만 적용 가능합니다.

    • Type: JSON

    • 필수 항목 여부: 아니요

    • 로그는 logs 키 아래의 응답에 포함됩니다. 작업 내에 포드가 여러 개 있을 수 있으며 포드마다 컨테이너가 여러 개 있을 수 있습니다.

      { ... "logs": { "pods": { "pod1": { "containers": { "container1": { "log": <log> }, ... } }, ... } }
    • 로그 검색은 최선의 노력을 기반으로 수행됩니다. 로그를 검색하는 동안에 오류가 발생하는 경우 log 필드 대신 errorcause 필드가 표시됩니다.

  • LogOptions.RetrieveLogs: 작업 완료 후 로그 검색을 활성화합니다. 기본적으로 로그는 검색되지 않습니다.

    • Type: Boolean

    • 필수 항목 여부: 아니요

  • LogOptions.RawLogs: RawLogs 가 true로 설정된 경우 로그는 파싱을 시도하지 않고 원시 문자열로 반환됩니다. JSON 기본적으로 로그는 가능한 경우 역직렬화됩니다. JSON 경우에 따라 이러한 파싱으로 인해 많은 자릿수가 포함된 숫자의 정밀도 제한과 같은 원치 않는 변경 사항이 발생할 수 있습니다.

    • Type: Boolean

    • 필수 항목 여부: 아니요

  • LogOptions.LogParameters: API Kubernetes의 읽기 로그는 로그 검색을 제어하는 쿼리 매개변수를 API 지원합니다. 예를 들어 tailLines 또는 limitBytes를 사용하여 검색된 로그의 크기를 제한하고 Step Functions 데이터 크기 할당량 이내로 유지할 수 있습니다. 자세한 내용은 쿠버네티스 레퍼런스의 Read Log 섹션을 참조하십시오. API

    • Type: List of Strings에 대한 String

    • 필수 항목 여부: 아니요

    • 예시

      "LogParameters": { "tailLines": [ "6" ] }

다음 예제에는 작업을 실행하고 작업이 완료될 때까지 기다린 다음 작업 로그를 검색하는 Task 상태가 포함됩니다.

{ "StartAt": "Run a job on EKS", "States": { "Run a job on EKS": { "Type": "Task", "Resource": "arn:aws:states:::eks:runJob.sync", "Parameters": { "ClusterName": "MyCluster", "CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE", "Endpoint": "https://AKIAIOSFODNN7EXAMPLE.yl4.us-east-1.eks.amazonaws.com", "LogOptions": { "RetrieveLogs": true }, "Job": { "apiVersion": "batch/v1", "kind": "Job", "metadata": { "name": "example-job" }, "spec": { "backoffLimit": 0, "template": { "metadata": { "name": "example-job" }, "spec": { "containers": [ { "name": "pi-2000", "image": "perl", "command": [ "perl" ], "args": [ "-Mbignum=bpi", "-wle", "print bpi(2000)" ] } ], "restartPolicy": "Never" } } } } }, "End": true } } }

Call

eks:call서비스 통합을 통해 쿠버네티스를 사용하여 쿠버네티스 엔드포인트를 통해 쿠버네티스 API 리소스 오브젝트를 읽고 쓸 수 있습니다. API

쿠버네티스 API 서버는 스테이트 머신이 사용하는 역할에 권한을 부여해야 합니다. IAM 자세한 내용은 권한 단원을 참조하십시오.

사용 가능한 작업에 대한 자세한 내용은 쿠버네티스 레퍼런스를 참조하십시오. API

지원되는 Call 파라미터는 다음과 같습니다.

  • ClusterName: 호출하려는 Amazon EKS 클러스터의 이름입니다.

    • Type: 문자열 목록

    • 필수 여부: 예

  • CertificateAuthority: 클러스터와 통신하는 데 필요한 Base64로 인코딩된 인증서 데이터입니다. 이 값은 Amazon EKS 콘솔에서 가져오거나 Amazon을 사용하여 얻을 수 EKS DescribeClusterAPI있습니다.

    • Type: String

    • 필수 여부: 예

  • Endpoint: API 쿠버네티스 서버의 엔드포인트URL. Amazon EKS 콘솔에서 또는 Amazon EKS '을 사용하여 이 값을 찾을 수 DescribeCluster API 있습니다.

    • Type: String

    • 필수 여부: 예

  • Method: 요청 HTTP 방법. GET, POST, PUT, DELETE, HEAD 또는 PATCH 중 하나입니다.

    • Type: String

    • 필수 여부: 예

  • Path: 쿠버네티스 REST API 오퍼레이션의 HTTP 경로.

    • Type: String

    • 필수 여부: 예

  • QueryParameters: 쿠버네티스 오퍼레이션의 HTTP 쿼리 파라미터. REST API

    • Type: List of Strings에 대한 String

    • 필수 여부: 아니요

    • 예시

      "QueryParameters": { "labelSelector": [ "job-name=example-job" ] }
  • RequestBody: 쿠버네티스 오퍼레이션의 HTTP 메시지 본문. REST API

    • Type: JSON 또는 String

    • 필수 여부: 아니요

다음에는eks:call을 사용하여 example-job 작업에 속하는 포드를 나열하는 Task 상태가 포함됩니다.

{ "StartAt": "Call EKS", "States": { "Call EKS": { "Type": "Task", "Resource": "arn:aws:states:::eks:call", "Parameters": { "ClusterName": "MyCluster", "CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE", "Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com", "Method": "GET", "Path": "/api/v1/namespaces/default/pods", "QueryParameters": { "labelSelector": [ "job-name=example-job" ] } }, "End": true } } }

다음에는 eks:call을 사용하여 example-job 작업을 삭제하고 propagationPolicy를 설정하여 작업 포드도 삭제되었는지 확인하는 Task 상태가 포함됩니다.

{ "StartAt": "Call EKS", "States": { "Call EKS": { "Type": "Task", "Resource": "arn:aws:states:::eks:call", "Parameters": { "ClusterName": "MyCluster", "CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE", "Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com", "Method": "DELETE", "Path": "/apis/batch/v1/namespaces/default/jobs/example-job", "QueryParameters": { "propagationPolicy": [ "Foreground" ] } }, "End": true } } }

아마존 지원 EKS APIs

지원되는 Amazon EKS APIs 및 구문은 다음과 같습니다.

  • CreateCluster

    • 요청 구문

    • 응답 구문

      eks:createCluster서비스 통합을 사용하여 Amazon EKS 클러스터를 생성하면 IAM 역할이 Kubernetes RBAC 권한 부여 테이블에 관리자 (system:masters 권한 포함) 로 추가됩니다. 처음에는 해당 IAM 엔티티만 Kubernetes 서버를 호출할 수 있습니다. API 자세한 내용은 다음을 참조하세요.

      EKSAmazon은 Amazon이 사용자를 대신하여 다른 서비스를 호출하는 데 EKS 필요한 권한이 포함된 서비스 연결 역할을 사용합니다. 이러한 서비스 연결 역할이 계정에 아직 없는 경우 Step Functions에서 사용하는 IAM 역할에 iam:CreateServiceLinkedRole 권한을 추가해야 합니다. 자세한 내용은 Amazon 사용 EKS 설명서의 서비스 연결 역할 사용을 참조하십시오.

      Step Functions에서 사용하는 IAM IAM 역할에는 클러스터 역할을 Amazon에 전달할 iam:PassRole 권한이 있어야 EKS 합니다. 자세한 내용은 Amazon EKS 사용 설명서의 Amazon EKS 클러스터 IAM 역할을 참조하십시오.

  • DeleteCluster

    • 요청 구문

    • 응답 구문

      클러스터를 삭제하기 전에 Fargate 프로필이나 노드 그룹을 삭제해야 합니다.

  • CreateFargateProfile

    • 요청 구문

    • 응답 구문

      EKSAmazon은 Amazon이 사용자를 대신하여 다른 서비스를 호출하는 데 EKS 필요한 권한이 포함된 서비스 연결 역할을 사용합니다. 이러한 서비스 연결 역할이 계정에 아직 없는 경우 Step Functions에서 사용하는 IAM 역할에 iam:CreateServiceLinkedRole 권한을 추가해야 합니다. 자세한 내용은 Amazon 사용 EKS 설명서의 서비스 연결 역할 사용을 참조하십시오.

      EKS아마존 Fargate 서비스를 이용할 수 없는 지역도 있습니다. 지역 가용성에 대한 자세한 내용은 Amazon 사용 EKS 설명서의 Fargate 섹션을 참조하십시오.

      Step Functions에서 사용하는 IAM 역할에는 포드 실행 IAM 역할을 Amazon에 전달할 iam:PassRole 권한이 있어야 EKS 합니다. 자세한 내용은 Amazon EKS 사용 설명서의 포드 실행 역할을 참조하십시오.

  • DeleteFargateProfile

  • CreateNodegroup

    • 요청 구문

    • 응답 구문

      EKSAmazon은 Amazon이 사용자를 대신하여 다른 서비스를 호출하는 데 EKS 필요한 권한이 포함된 서비스 연결 역할을 사용합니다. 이러한 서비스 연결 역할이 계정에 아직 없는 경우 Step Functions에서 사용하는 IAM 역할에 iam:CreateServiceLinkedRole 권한을 추가해야 합니다. 자세한 내용은 Amazon 사용 EKS 설명서의 서비스 연결 역할 사용을 참조하십시오.

      Step Functions에서 사용하는 IAM 역할에는 Amazon에 노드 IAM 역할을 전달할 iam:PassRole 권한이 있어야 EKS 합니다. 자세한 내용은 Amazon 사용 EKS 설명서의 서비스 연결 역할 사용을 참조하십시오.

  • DeleteNodegroup

다음은 Amazon EKS 클러스터를 Task 생성하는 a를 포함합니다.

{ "StartAt": "CreateCluster.sync", "States": { "CreateCluster.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:createCluster.sync", "Parameters": { "Name": "MyCluster", "ResourcesVpcConfig": { "SubnetIds": [ "subnet-053e7c47012341234", "subnet-027cfea4b12341234" ] }, "RoleArn": "arn:aws:iam::123456789012:role/MyEKSClusterRole" }, "End": true } } }

다음은 Amazon EKS 클러스터를 삭제하는 Task 상태를 포함합니다.

{ "StartAt": "DeleteCluster.sync", "States": { "DeleteCluster.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:deleteCluster.sync", "Parameters": { "Name": "MyCluster" }, "End": true } } }

다음에는 Fargate 프로필을 만드는 Task 상태가 포함됩니다.

{ "StartAt": "CreateFargateProfile.sync", "States": { "CreateFargateProfile.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:createFargateProfile.sync", "Parameters": { "ClusterName": "MyCluster", "FargateProfileName": "MyFargateProfile", "PodExecutionRoleArn": "arn:aws:iam::123456789012:role/MyFargatePodExecutionRole", "Selectors": [{ "Namespace": "my-namespace", "Labels": { "my-label": "my-value" } }] }, "End": true } } }

다음에는 Fargate 프로필을 삭제하는 Task 상태가 포함됩니다.

{ "StartAt": "DeleteFargateProfile.sync", "States": { "DeleteFargateProfile.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:deleteFargateProfile.sync", "Parameters": { "ClusterName": "MyCluster", "FargateProfileName": "MyFargateProfile" }, "End": true } } }

다음에는 노드 그룹을 만드는 Task 상태가 포함됩니다.

{ "StartAt": "CreateNodegroup.sync", "States": { "CreateNodegroup.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:createNodegroup.sync", "Parameters": { "ClusterName": "MyCluster", "NodegroupName": "MyNodegroup", "NodeRole": "arn:aws:iam::123456789012:role/MyNodeInstanceRole", "Subnets": ["subnet-09fb51df01234", "subnet-027cfea4b1234"] }, "End": true } } }

다음에는 노드 그룹을 삭제하는 Task 상태가 포함됩니다.

{ "StartAt": "DeleteNodegroup.sync", "States": { "DeleteNodegroup.sync": { "Type": "Task", "Resource": "arn:aws:states:::eks:deleteNodegroup.sync", "Parameters": { "ClusterName": "MyCluster", "NodegroupName": "MyNodegroup" }, "End": true } } }

권한

eks:createCluster서비스 통합을 사용하여 Amazon EKS 클러스터를 생성하면 권한이 있는 관리자로 IAM 역할이 Kubernetes RBAC 권한 부여 테이블에 추가됩니다. system:masters 처음에는 해당 IAM 엔티티만 Kubernetes 서버를 호출할 수 있습니다. API 예를 들어, Step Functions 스테이트 머신과 동일한 역할을 맡거나 추가 엔티티에 권한을 부여하도록 Kubernetes를 구성하지 않는 한 kubectl을 사용하여 Kubernetes API 서버와 상호 작용할 수 없습니다. IAM 자세한 내용은 Amazon EKS 사용 설명서의 클러스터 사용자 또는 IAM 역할 관리를 참조하십시오.

kube-system 네임스페이스에 사용자 또는 역할과 같은 추가 IAM 엔티티를 추가하여 해당 aws-auth ConfigMap 엔티티에 대한 권한을 추가할 수 있습니다. Step Functions에서 클러스터를 만드는 경우 eks:call 서비스 통합을 사용합니다.

다음은 사용자와 역할을 aws-auth ConfigMap 생성하고 system:masters 권한을 부여하는 Task 상태를 포함합니다. arn:aws:iam::123456789012:user/my-user IAM arn:aws:iam::123456789012:role/my-role

{ "StartAt": "Add authorized user", "States": { "Add authorized user": { "Type": "Task", "Resource": "arn:aws:states:::eks:call", "Parameters": { "ClusterName": "MyCluster", "CertificateAuthority": "LS0tLS1CRUd...UtLS0tLQo=", "Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com", "Method": "POST", "Path": "/api/v1/namespaces/kube-system/configmaps", "RequestBody": { "apiVersion": "v1", "kind": "ConfigMap", "metadata": { "name": "aws-auth", "namespace": "kube-system" }, "data": { "mapUsers": "[{ \"userarn\": \"arn:aws:iam::123456789012:user/my-user\", \"username\": \"my-user\", \"groups\": [ \"system:masters\" ] } ]", "mapRoles": "[{ \"rolearn\": \"arn:aws:iam::123456789012:role/my-role\", \"username\": \"my-role\", \"groups\": [ \"system:masters\" ] } ]" } } }, "End": true } }
참고

IAM역할의 경우 /service-role/ 경로가 포함된 형식 (ARN예:) 으로 표시되는 것을 볼 수 있습니다. arn:aws:iam::123456789012:role/service-role/my-role aws-auth에 역할을 나열할 때 이 service-role 경로 토큰을 포함해서는 안 됩니다.

클러스터를 처음 만들 때는 aws-auth ConfigMap이 존재하지 않지만 Fargate 프로필을 만들면 자동으로 추가됩니다. aws-auth의 현재 값을 검색하고 추가 권한을 추가하고, 새 버전을 PUT할 수 있습니다. 일반적으로 Fargate 프로필 전에 aws-auth를 만드는 것이 더 쉽습니다.

Step Functions 외부에서 클러스터를 생성한 경우, 쿠버네티스 서버와 통신하도록 kubectl을 구성할 수 있다. API 그런 다음 kubectl apply -f aws-auth.yaml을 사용하여 새 aws-auth ConfigMap을 만들거나 kubectl edit -n kube-system configmap/aws-auth를 사용하여 이미 있는 서버를 편집합니다. 자세한 내용은 다음을 참조하세요.

Kubernetes에서 IAM 역할에 충분한 권한이 없는 경우, eks:call 또는 eks:runJob 서비스 통합이 실패하고 다음 오류가 발생합니다.

Error: EKS.401 Cause: { "ResponseBody": { "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Failure", "message": "Unauthorized", "reason": "Unauthorized", "code": 401 }, "StatusCode": 401, "StatusText": "Unauthorized" }

IAM아마존 통화 정책 EKS

다음 예제 템플릿은 방법을 보여줍니다. AWS Step Functions 스테이트 머신 정의의 리소스를 기반으로 IAM 정책을 생성합니다. 자세한 내용은 Step Functions가 통합 서비스를 위한 IAM 정책을 생성하는 방법Step Functions에서 서비스 통합 패턴을 살펴보세요 단원을 참조하세요.

CreateCluster

리소스

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:CreateCluster" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:DeleteCluster" ], "Resource": "arn:aws:eks:sa-east-1:444455556666:cluster/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::444455556666:role/StepFunctionsSample-EKSClusterManag-EKSServiceRole-ANPAJ2UCCR6DPCEXAMPLE" ], "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }

CreateNodeGroup

리소스

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "eks:CreateNodegroup" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "eks:DescribeNodegroup", "eks:DeleteNodegroup" ], "Resource": "arn:aws:eks:sa-east-1:444455556666:nodegroup/*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListAttachedRolePolicies" ], "Resource": "arn:aws:iam::444455556666:role/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::444455556666:role/StepFunctionsSample-EKSClusterMan-NodeInstanceRole-ANPAJ2UCCR6DPCEXAMPLE" ], "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }

DeleteCluster

리소스

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DeleteCluster", "eks:DescribeCluster" ], "Resource": [ "arn:aws:eks:sa-east-1:444455556666:cluster/ExampleCluster" ] } ] }

DeleteNodegroup

리소스

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DeleteNodegroup", "eks:DescribeNodegroup" ], "Resource": [ "arn:aws:eks:sa-east-1:444455556666:nodegroup/ExampleCluster/ExampleNodegroup/*" ] } ] }

Amazon을 Step EKS Functions와 함께 사용하는 방법에 대한 자세한 내용은 을 참조하십시오Step Functions를 사용하여 Amazon EKS 클러스터를 생성하고 관리합니다..