[AWS] S3 버킷의 권한 정책과 객체 소유권(Object Ownership)AWS S3는 객체 기반의 스토리지 서비스로, 다양한 계정과 사용자들이 데이터를 저장하고 관리할 수 있도록 설계되었다.S3는 다중 계정 환경에서도 자주 쓰이는데, 이 때 ACL권한과 객체소유권이 중요한 역할을 한다. ACL은 이전 포스팅에서 간략하게 소개한 적이 있다. [AWS] S3의 ACL 구성[AWS] S3의 ACL 구성S3 버킷에 대한 액세스 권한을 관리할 때, ACL(액세스 제어 목록)을 사용할 수 있다.콘솔 ,aws cli, SDK를 사용하면 리소스에 대해 권한 부여를 추가할 수 있다. 버킷 및 객체 권한heywantodo.tistory.com이번 포스팅에서는 S3의 객체 소유권(Object Ownership)과 ..
[AWS] 생성형 AI : BedrockAWS Bedrock은 AWS가 제공하는 생성형 AI(Generative AI) 서비스로, 사용자가 사전 학습된 대규모 언어모델(LLM)을 쉽게 활용할 수 있도록 돕는 플랫폼이다.AWS Bedrock을 사용하면 LLM을 직접 관리하거나 학습 시키는 복잡한 작업 없이, 다양한 생성형 AI 모델을 통합하여 애플리케이션에 도입할 수있다. AWS Bedrock이란?AWS Bedrock은 생성형 AI 애플리케이션 개발을 지원하는 관리형 서비스다.사용자는 API를 통해 사전 학습된 여러 생성형 AI 모델을 활용할 수 있으며, AWS의 인프라와 통합되어 높은 확장성과 유연성을 제공한다. AWS Bedrock의 주요 특징들은 다음과 같다. 1. 다양한 LLM 제공: Bedrock..
[AWS] S3 CLI로 객체 수 확인하기S3 버킷에서 객체 수를 확인하기 위해선, S3 콘솔에서 확인하고 싶은 경로를 선택 후 총 크기 계산을 선택하면용량과 총 객체수를 확인할 수 있다. 확인해야 할 경로가 많을 경우 위 방법은 굉장히 번거로울 수가 있는데, 그럴 땐 aws s3 cli를 활용하면 된다. aws s3 ls 명령어로 객체 수 세기aws s3 ls s3:/// --recursive --summarize`--recursive`와 `--summarize` 옵션을 사용하면 `Total Objects`가 출력된다.aws s3 ls s3://test-bucket/test/ --recursive --summarize2025-01-15 12:00:00 12345 file1.txt2025-01-15 1..
[AWS] IAM Role for SeviceAccount (IRSA) IAM과 RBACEKS 환경에서 사용자가 kubectl 명령어를 실행하면, 클러스터는 IAM을 통해 권한을 확인한다.EKS에서의 인증, 인가 구조는 다음과 같다.💡 자세히 알아보기요청이 들어오면 IAM Client에 요청을해서 bearer 토큰을 받게 된다.그 이후 Pre-signed URL이 생성되고 API 서버에서 Id Token을 확인한다 (AWS-IAM-Authenticator Server)토큰 값이 일치하면 ConfigMap(AWS-Auth)와 K8s RBAC이 Rolebinding을 하여 Role을 확인한다. IAM Roles for Service Accounts (IRSA)AWS IRSA는 AWS EKS의 클러스터에서 ..
[AWS] S3의 ACL 구성S3 버킷에 대한 액세스 권한을 관리할 때, ACL(액세스 제어 목록)을 사용할 수 있다.콘솔 ,aws cli, SDK를 사용하면 리소스에 대해 권한 부여를 추가할 수 있다. 버킷 및 객체 권한은 서로 독립적이며, 객체는 해당 버킷으로부터 권한을 상속하지 않는다. 최신의 대부분은 더 이상 ACL을 사용 할 필요가 없으며. 각 객체에 대해 액세스를 개별적으로 제어할 필요가 있는 드문 상황을 제외하고는 ACL을 비활성화 한 채로 두는 것이 좋다. 다만 버킷의 설정에 따라 sync나 cp 작업을 할 때, 대상 버킷에 복제가 되더라도 객체의 권한이 없어 다운로드/읽기가 안되는 경우가 있었다. 그때 사용할 수 있는 명령어를 알아보자. ACL 옵션AWS CLI 버전 2 부터는 소스에서..
[AWS] S3 수명 주기 정책 (Life Cycle Rule) S3 버킷에 저장된 객체가 일정 시간이 지나서, 액세스 할 필요가 없거나 삭제가 필요할 때 S3 수명 주기를 구성하면 효율적인 비용 절감이 가능하다. 전환 작업 객체가 다른 스토리지 클래스로 전환되는 시기를 정의한다. 예를 들어 30일이 지나면 STANDARD-IA 스토리지 클래스로 전환하고, 1년이 지나면 Glacier 클래스로 전환이 가능하다. 만료 작업 객체가 만료되는 시기를 정의한다. S3에서 만료된 객체를 자동으로 삭제한다. 수명주기 구성하기 수명주기 설정은 aws 콘솔에서 설정이 가능하다. 수명주기를 구성하고 싶은 버킷의 관리탭에서 수명 주기 규칙 생성을 클릭한다. 누르면 규칙 이름과 필터를 걸 수 있는데, 접두사로 제한하는 필터..
[AWS] ECR 로그인 & 빌드 및 푸쉬 ECR(Elastic Container Registry)은 AWS의 관리형 컨테이너 이미지 레지스트리 서비스다. 도커 허브와 비슷한 개념으로 보면 된다. ECR은 S3로 이미지를 관리하기 때문에 고가용성을 보장하고 IAM 인증을 통해 권한 관리가 가능하다. Docker CLI 및 AWS CLI를 통해 컨테이너 이미지를 ECR에 빌드 및 푸쉬가 가능하다. ECR에 이미지를 빌드 및 푸쉬하는 과정을 알아보자. 로그인 aws ecr get-login-password 프라이빗 ECR에 대한 권한이 있는 IAM 사용자로 위 명령어를 사용하면, 로그인이 된다. aws ecr get-login-password --region --profile mfa | docker logi..
[AWS] Lambda Connection Handler 앞선 포스팅에서 Client VPN을 구성하고 연결하는 과정을 진행해봤다. (https://heywantodo.tistory.com/304) AWS Client VPN은 Client VPN Endpoint를 통해 접속한 Clinet들의 목록을 확인하고, 정책의 업데이트 혹은 의도하지 않은 사용자의 접속이 감지 된 경우 강제 연결 종료를 시킬 수 있는 등의 다양한 관리 기능을 제공한다. Lambda Connection Handler Lambda Connection Handler를 이용하여 추가적인 보안 정책 및 VPN 운영 정책을 관리하고 적용할 수 있다. Handler는 AWS 람다 기능을 통해 구현되며, 사전에 정책들을 검토하고 정책이 통과되었을..
[AWS] Transit Gateway AWS Transit Gateway는 중앙 허브를 통해 VPC와 온프레미스 네트워크를 연결한다. 복잡한 피어링 관계를 제거하여 네트워크를 간소화한다. 클라우드 라우터 역할을 하므로 새로운 연결을 한 번만 추가하면 된다. 글로벌 확장 시 리전 간 피어링을 사용하면 AWS 글로벌 네트워크에서 AWS Transit Gateway를 하나로 연결 할 수 있다. 데이터는 자동으로 암호화되고 퍼블릭 인터넷을 통하지 않는다. AWS TGW 사용 이점 1. 간편한 연결 : AWS TGW는 클라우드 라우터 역할을 하므로 네트워크 아키텍처가 간소화된다. 네트워크 확장 시 증가하는 연결 관리로 인한 복잡성이 발생하지 않는다. 2. 가시성 및 제어 향상 : 중앙 콘솔에서 VPC 및 엣지 ..
[AWS] Client VPN (2) aws workshop studio의 [PRD] 2024 ConntectX for Partners - Hybrid Network using AWS VPN의 lab을 정리한 내용이다 https://heywantodo.tistory.com/304 앞선 포스팅에서 Client VPN을 생성하고, 생성한 Endpoint에 대한 VPC 연결을 완료했다. 생성한 Client Endpoint에 접속하기 위해선, 관리자가 배포한 인증서와 접속 프로그램이 필요하다. 접속 프로그램은 AWS Client VPN을 사용하며, 아래 링크에서 운영체제에 맞는 프로그램을 다운 받을 수 있다. https://aws.amazon.com/ko/vpn/client-vpn-download/ AWS Cl..
[AWS] Client VPN (1) aws workshop studio의 [PRD] 2024 ConntectX for Partners - Hybrid Network using AWS VPN의 lab을 정리한 내용이다 Client VPN AWS 리소스 및 온프레미스 네트워크의 리소스에 안전하게 액세스할 수 있도록 하는 관리형 클라이언트 기반 VPN 서비스다. Client VPN에서는 OpenVPN 기반 VPN 클라이언트를 사용하여 어떤 위치에서든 리소스에 액세스할 수 있다. AWS Client VPN은 완전 관리형의 탄력적 VPN 서비스로, 사용자 요구 사항에 맞추어 자동으로 확장하거나 축소가 가능하다. 시나리오는 다음과 같다 AnyCompany는 현재 서울에 본사(headquater, HQ)를 두고있으..
[AWS] On-Premises와 AWS간의 Hybrid DNS aws workshop studio의 [PRD] 2024 ConntectX for Partners - Hybrid Network using AWS VPN의 lab을 정리한 내용이다. 시나리오는 다음과 같다. Anycompany는 On-Premises사용자들을 위해 DNS서버(Domain : anycompany.corp)가 구성되어 있습니다. AWS에는 Route53을 이용하여 DNS(awsanycompany.corp)이 구성되어 있습니다. 1) On-Premises 및 AWS 시스템간의 도메인을 통한 접속을 하고자 합니다. 2) AWS시스템에 접속할 때, IPv4주소를 기억하지 않고 Domain(awsanycompany.corp)정보를 이용..