Amazon EKS 사용 설정 - Amazon EKS

Amazon EKS 사용 설정

일반적으로 AWS 리소스에는 리소스를 생성한 AWS 엔터티에 대한 액세스를 제한하는 액세스 제한이 있습니다. 따라서 처음부터 AWS Command Line Interface에서 적절한 사용자 구성을 설정하는 것이 중요합니다. 또한 Amazon EKS 클러스터의 효율적인 명령줄 관리를 위한 필수 도구를 로컬 시스템에 갖추어야 합니다. 이 주제는 클러스터의 명령줄 관리를 준비하는 데 도움이 됩니다.

1단계: AWS CLI 설정

AWS CLI는 Amazon EKS를 비롯한 AWS 서비스를 사용한 작업을 위한 명령줄 도구입니다. 로컬 시스템에서 Amazon EKS 클러스터 및 기타 AWS 리소스에 액세스할 수 있도록 IAM 사용자 또는 역할을 인증하는 데에도 사용됩니다. 명령줄에서 AWS의 리소스를 프로비저닝하려면 명령줄에서 사용할 AWS 액세스 키 ID와 비밀 키를 확보해야 합니다. 그런 다음, AWS CLI에서 이러한 보안 인증 정보를 구성해야 합니다. 아직 AWS CLI를 설치하지 않은 경우 AWS Command Line Interface 사용 설명서에서 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.

액세스 키 생성

  1. AWS Management Console에 로그인합니다.

  2. 오른쪽 상단에서 AWS 사용자 이름을 선택하여 탐색 메뉴를 엽니다. 예를 들어 webadmin를 선택합니다. 그런 다음, 보안 인증 정보를 선택합니다.

  3. 액세스 키에서 액세스 키 생성을 선택합니다.

  4. 명령줄 인터페이스(CLI)를 선택하고 다음을 선택합니다.

  5. 액세스 키 생성을 선택합니다.

  6. .csv 파일 다운로드를 선택합니다.

AWS CLI를 구성하려면

AWS CLI 다운로드 후 다음 단계에 따라 구성합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS CLI 구성을 참조하세요.

  1. 터미널 창에 다음 명령을 입력합니다.

    aws configure

    선택적으로 명명된 프로파일(예: --profile cluster-admin)을 구성할 수 있습니다. AWS CLI에서 명명된 프로파일을 구성하는 경우 후속 명령에서 항상 이 플래그를 전달해야 합니다.

  2. AWS 보안 인증을 입력합니다. 예:

    AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: region-code Default output format [None]: json

보안 토큰을 받는 방법

필요한 경우 다음 명령을 실행하여 AWS CLI에 대한 새 보안 토큰을 가져옵니다. 자세한 내용은 AWS CLI 명령 레퍼런스get-session-token 섹션을 참조하십시오.

기본적으로 토큰은 15분 동안 유효합니다. 기본 세션 제한 시간을 변경하려면 --duration-seconds 플래그를 전달합니다. 예:

aws sts get-session-token --duration-seconds 3600

이 명령은 AWS CLI 세션의 임시 보안 인증 정보를 반환합니다. 다음과 같은 응답 출력이 표시되어야 합니다.

{
    "Credentials": {
        "AccessKeyId": "ASIA5FTRU3LOEXAMPLE",
        "SecretAccessKey": "JnKgvwfqUD9mNsPoi9IbxAYEXAMPLE",
        "SessionToken": "VERYLONGSESSIONTOKENSTRING",
        "Expiration": "2023-02-17T03:14:24+00:00"
    }
}

사용자 ID를 확인하는 방법

필요한 경우 다음 명령을 실행하여 터미널 세션에 대한 IAM 사용자 ID(예:ClusterAdmin)의 AWS 보안 인증 정보를 확인합니다.

aws sts get-caller-identity

이 명령은 AWS CLI에 대해 구성된 IAM 엔터티의 Amazon 리소스 이름(ARN)을 반환합니다. 다음 예제 응답 출력이 표시됩니다.

{
    "UserId": "AKIAIOSFODNN7EXAMPLE",
    "Account": "01234567890",
    "Arn": "arn:aws:iam::01234567890:user/ClusterAdmin"
}

2단계: Kubernetes 도구 설치

Kubernetes 클러스터와 통신하려면 Kubernetes API와 상호 작용하는 도구가 필요합니다. 또한 몇 가지 다른 도구(예: 로컬 컴퓨터의 Kubernetes 환경을 관리하는 도구)가 필요합니다.

AWS 리소스를 생성하려면

  • Amazon EKS 클러스터 리소스 - AWS를 처음 사용하는 경우 eksctl 설치를 권장합니다. eksctl은 AWS CloudFormation을 사용하여 Amazon EKS 클러스터를 쉽게 생성하는 코드형 인프라(IaC) 유틸리티입니다. 또한 서비스 계정과 같은 추가 Kubernetes 리소스를 생성합니다. eksctl 설치에 대한 지침은 eksctl 설명서에서 Installation을 참조하세요.

  • AWS 리소스 - AWS 인프라 프로비저닝 및 배포를 자동화하는 데 익숙하다면 Terraform 설치를 권장합니다. Terraform은 HashiCorp에서 개발한 오픈 소스 코드형 인프라(IaC) 도구입니다. HashiCorp Configuration Language(HCL) 또는 JSON과 같은 고급 구성 언어를 사용하여 인프라를 정의하고 프로비저닝할 수 있습니다. Terraform 설치에 대한 지침은 Terraform 설명서에서 Install Terraform을 참조하세요.

kubectl을(를) 설치하려면

kubectl은 Amazon EKS 클러스터의 Kubernetes API 서버와 통신하는 데 사용되는 오픈 소스 명령줄 도구입니다. 로컬 컴퓨터에 아직 설치하지 않은 경우 다음 옵션 중에서 선택합니다.

  • AWS 버전 - Amazon EKS 지원 kubectl 버전을 설치하려면 kubectl 설치 또는 업데이트 섹션을 참조하세요.

  • 커뮤니티 버전 - kubectl의 최신 커뮤니티 버전을 설치하려면 Kubernetes 설명서에서 Install tools 페이지를 참조하세요.

개발 환경을 설정하는 방법

  • 로컬 배포 도구 - Kubernetes를 처음 사용하는 경우 minikube 또는 kind 같은 로컬 배포 도구를 설치해 보세요. 이러한 도구를 통해 로컬 시스템에서 Amazon EKS 클러스터를 관리할 수 있습니다.

  • 패키지 관리자 - Helm은 복잡한 패키지의 설치 및 관리를 단순화하는 데 널리 사용되는 Kubernetes용 패키지 관리자입니다. Helm을 사용하면 Amazon EKS 클러스터에서 AWS 로드 밸런서 컨트롤러와 같은 패키지를 더 쉽게 설치하고 관리할 수 있습니다.

다음 단계