강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박성우님의 프로필 이미지
박성우

작성한 질문수

eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)

프로메테우스,그라파나-개요

S3 업로드 역할 부여 질문 드려요

작성

·

12

0

안녕하세요, 강의 잘 듣고 있습니다.

강의를 듣는 중 궁금한 점이 있어 문의드립니다.

 

현재까지는 EC2에 Spring Boot를 배포하고, EC2 인스턴스에 S3 접근 권한을 가진 IAM 역할을 부여해 S3 업로드 기능을 구현해 왔습니다.

이번에 처음으로 EKS를 사용해보려고 하는데요,

EKS에서도 EC2 워커 노드에 IAM 역할을 부여해 S3 접근 권한을 줄 수 있는지 궁금합니다.

또는 일반적으로는 어떤 방식으로 S3 접근 권한을 설정하는지 알고 싶습니다.

답변 2

0

bradkim님의 프로필 이미지
bradkim
지식공유자

안녕하세요~!

 

EC2에 S3 접근 권한을 부여했다고 하셨는데, 혹시 application.yml이나 환경 변수에서 S3 접근 키를 설정하지 않고, EC2 인스턴스 자체에 IAM Role을 부여하신 것인가요?

 

일반적으로는 Spring Boot 애플리케이션이 직접 S3 접근 권한을 가진 IAM 사용자의 자격 증명(accessKey, secretKey) 을 가지고 S3에 접근하게 됩니다.

그래서 EKS를 통해 배포된 Pod 환경에서도, Pod나 EC2 차원에 IAM Role을 직접 부여하는 것이 아니라, Spring Boot 애플리케이션이 자체적으로 해당 자격 증명을 이용해 S3에 접근하는 방식을 사용하는 것이 일반적입니다.

그렇게 하게 되면 EC2든, EKS의 POD이든 따로 고민하실것 없이 동일하게 springboot에 iam설정만 해주면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. 박성우님.

EKS에서는 EC2와 약간 다른 방식으로 S3 접근 권한을 관리할 수 있습니다. 대신 IAM 역할을 파드(pod) 단위로 부여할 수 있어 좀 더 세밀한 권한 관리를 할 수 있습니다. 이를 위해 AWS에서는 IAM Roles for Service Accounts (IRSA) 기능을 제공합니다.

IRSA를 사용하면 Kubernetes에서 서비스 계정(Service Account)에 AWS IAM 역할을 연결할 수 있습니다. 이를 통해 각 파드가 EKS API 서버를 통해 AWS 리소스에 액세스할 수 있도록 하는 것이 일반적입니다.

아래는 관련이 있을 수 있는 도움될만한 답변들입니다:

IRSA를 통해 S3에 접근하는 설정은 EKS의 권한 관리에서 일반적으로 사용되며, 보안적으로도 더 유리할 수 있습니다. 이를 활용하여 조금 더 안전하고 유연한 AWS 리소스 관리가 가능하게 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박성우님의 프로필 이미지
박성우

작성한 질문수

질문하기