본문 바로가기
클라우드

EKS에서 IRSA를 대체하는 새로운 기능: EKS Pod Identity 심층 분석 🚀

by gasbugs 2025. 9. 9.

안녕하세요! 👋 오늘은 Amazon EKS(Elastic Kubernetes Service)에서 애플리케이션의 AWS 서비스 접근 권한을 관리하는 방식을 획기적으로 개선한 EKS Pod Identity에 대해 자세히 알아보겠습니다. 기존에 널리 사용되던 IRSA(IAM Roles for Service Accounts)의 복잡성을 해결하고 더 간편하고 효율적인 방법을 제공하는 EKS Pod Identity의 세계로 함께 떠나볼까요? 😃

 

 

IRSA의 시대: 강력했지만 번거로웠던 지난 날들

쿠버네티스 환경에서 파드(Pod)가 S3 버킷이나 다이나모DB 테이블 같은 AWS 리소스에 접근하려면 AWS 자격 증명이 필요합니다. 초기에는 IAM 사용자의 액세스 키를 직접 파드에 주입하는 방식을 사용했지만, 이는 보안에 매우 취약했습니다. 😥

이러한 문제를 해결하기 위해 등장한 것이 바로 IRSA (IAM Roles for Service Accounts) 입니다. IRSA는 쿠버네티스 서비스 어카운트에 IAM 역할을 연결하여, 파드가 임시 AWS 자격 증명을 얻어 안전하게 AWS 서비스에 접근할 수 있도록 했습니다. OIDC(OpenID Connect) 자격 증명 공급자를 사용하여 EKS 클러스터와 IAM 간의 신뢰 관계를 설정하는 방식이었죠.

IRSA는 분명 훌륭한 해결책이었지만, 몇 가지 고질적인 문제점을 안고 있었습니다.

  • 복잡한 설정 과정: OIDC 공급자를 생성하고, IAM 역할의 신뢰 정책을 정확하게 설정해야 하는 등 초기 설정이 다소 복잡했습니다. 😫
  • OIDC 공급자 제한: AWS 계정당 OIDC 공급자 생성 개수가 제한되어 있어, 여러 클러스터를 운영할 경우 제약이 따랐습니다.
  • 클러스터 의존적인 IAM 역할: IAM 역할의 신뢰 정책에 특정 OIDC 공급자(즉, 특정 EKS 클러스터) 정보가 포함되어, 동일한 IAM 역할을 여러 클러스터에서 재사용하기 어려웠습니다.

새로운 대안의 등장: EKS Pod Identity ✨

이러한 IRSA의 단점들을 보완하기 위해 AWS는 EKS Pod Identity라는 새로운 기능을 선보였습니다! EKS Pod Identity는 EKS 클러스터에서 실행되는 애플리케이션이 AWS 서비스에 더 쉽고 안전하게 접근할 수 있도록 설계된 새로운 인증 및 권한 부여 시스템입니다.

가장 큰 변화는 더 이상 OIDC 자격 증명 공급자를 직접 관리할 필요가 없다는 점입니다. EKS Pod Identity는 EKS 서비스 자체를 신뢰할 수 있는 주체로 활용하여 IAM 역할과 쿠버네티스 서비스 어카운트를 연결합니다.

EKS Pod Identity는 어떻게 작동할까요? 🧐

  1. IAM 역할 생성: 먼저 파드에 부여할 권한을 가진 IAM 역할을 생성합니다. 이때 신뢰 정책에는 EKS 서비스 주체(pods.eks.amazonaws.com)를 지정합니다.
  2. EKS Pod Identity 연동 생성: EKS API를 사용하여 특정 클러스터, 네임스페이스, 서비스 어카운트와 위에서 생성한 IAM 역할을 연결하는 'Pod Identity Association'을 생성합니다.
  3. 파드 실행: 해당 서비스 어카운트를 사용하는 파드가 실행되면, EKS Pod Identity 웹훅이 자동으로 필요한 AWS 자격 증명 관련 환경 변수와 볼륨을 파드에 주입합니다.
  4. AWS 서비스 접근: 파드 내의 애플리케이션은 주입된 자격 증명을 사용하여 IAM 역할에 부여된 권한으로 안전하게 AWS 서비스에 접근할 수 있습니다.

EKS Pod Identity, IRSA보다 무엇이 더 좋을까요? 👍

기능 IRSA (IAM Roles for Service Accounts) EKS Pod Identity
설정 복잡성 OIDC 공급자 설정 등 복잡한 과정 필요 간소화된 설정 (EKS API로 연동)
IAM 역할 재사용 클러스터별 신뢰 정책 설정으로 재사용 어려움 여러 클러스터에서 동일한 IAM 역할 재사용 용이
관리 주체 IAM과 쿠버네티스 설정이 혼재 IAM과 EKS 관리 역할 분리 명확
확장성 계정당 OIDC 공급자 개수 제한 공급자 제한 없음, 대규모 환경에 유리
 

핵심 장점 요약:

  • 단순화된 설정: 더 이상 OIDC 공급자를 수동으로 관리할 필요가 없어 설정이 매우 간편해졌습니다.
  • 향상된 재사용성: IAM 역할을 특정 클러스터에 종속시키지 않고 여러 클러스터에서 재사용할 수 있어 IAM 관리가 효율적입니다.
  • 명확한 역할 분리: IAM 관리자와 EKS 클러스터 관리자의 역할을 명확하게 분리할 수 있어 대규모 조직에 적합합니다.
  • 뛰어난 확장성: OIDC 공급자 제한이 없어 많은 수의 클러스터를 운영하는 환경에서도 유연하게 적용할 수 있습니다.

EKS Pod Identity는 IRSA의 강력한 보안 기능을 그대로 유지하면서도, 운영의 복잡성을 크게 줄여 개발자와 운영자 모두의 생산성을 높여주는 훌륭한 기능입니다. EKS를 사용하고 계신다면, 지금 바로 EKS Pod Identity를 도입하여 더욱 효율적이고 안전한 클러스터 환경을 구축해 보시는 건 어떨까요? 😊

 

태그: EKS, AWS, Kubernetes, Pod Identity, IRSA, IAM, Security, Container