분류 전체보기


그리스 신화에 등장하는 아테나는 지혜와 전략, 전쟁, 기술, 예술을 관장하는 신으로 알려져 있으며, 지식과 분석 능력을 상징한다.이름에서 유래되었듯 Amazone Athena는 S3, DynamoDB 등의 데이터 소스에 대해서 SQL Query를 실행하여 데이터를 질의하고 분석할 수 있는 서비스이다. Amazone Athena Amazon Athena는 S3 등에 저장된 데이터 소스를 SQL을 사용해 간편하게 분석할 수 있는 대화식 쿼리 서비스이다.서버리스 서비스로 인프라를 관리할 필요가 없으며, 실행한 쿼리에 대해서만 비용이 청구된다.Athena는 Glue에서 생성한 스키마를 사용하여 데이터를 효율적으로 조회할 수 있다.주요 사용 사례로 로그 필터링, 이벤트 데이터 분석 및 정보 추출 등이 있다..


S3 Static Hosting은 AWS의 S3를 이용하여 정적인 웹사이트를 호스팅하는 기능이다. 즉, 서버 없이도 HTML, CSS, JavaScript와 같은 정적 파일을 업로드하고 웹사이트를 제공할 수 있다. S3 Static Hosting 정적 웹사이트 호스팅 : HTML, CSS, JavaScript, 이미지, 동영상 등 정적 콘텐츠를 배포할 수 있음.서버리스(Serverless) 환경 : EC2 같은 서버를 직접 관리할 필요 없이 파일을 업로드하면 AWS가 자동으로 호스팅.확장성(Scalability) : S3의 기본적인 특성 덕분에 자동 확장이 가능하고, 많은 요청을 처리할 수 있음.비용 효율성 : 요청한 만큼만 비용을 지불하는 사용량 기반 과금(Pay-as-you-go) 방식 적용. 트..


이전 포스팅에서는 Spring 프로젝트에서 로컬 개발 환경과, EC2 프로덕션 환경에 따른 S3 연동 방법 및 기본적인 업로드와 다운로드를 구현해 보았었다. 이번 포스팅에서는 S3 업로드와 다운로드 방식을 고도화하여 Presigned URL을 사용하는 방법에 대해서 살펴보고, 업로드 시 여러개의 Chunk 단위로 분할 업로드하는 방식인 S3 Multipart Upload에 대해서도 함께 살펴보려고 한다. 1. Presigned URL - 업로드 및 다운로드 구현 (Spring + 바닐라 JS)2. Multipart 업로드 - 업로드 및 다운로드 구현 (Spring + 바닐라 JS) [AWS + Spring] S3 활용 : 파일 업로드와 다운로드 (1) (개발 환경 및 프로덕션 환경에서의 기본..


이번 포스팅에서는 기존 Local Stroage를 이용하여 파일 업로드 및 다운로드 API를 제공하던 Spring Application에 S3를 연동하는 작업을 해보도록 하겠다. 개발 환경에서의 S3 연동, EC2 프로덕션 환경에서의 S3 연동 두 가지로 나누어 비즈니스 로직을 작성해보자. 1. 로컬 스토리지 기반의 Spring 파일 업로드 및 다운로드 로직2. AWS S3 준비 3. 개발 환경 및 프로덕션 환경에 따른 AWS 서비스 연동 방법 및 자격 증명 방식4. S3 연동 : 로컬 개발 환경 4-1. IAM 사용자 생성 4-2. AWS CLI 설치 및 AWS Profile 설정 4-3. Spring 프로젝트에 SDK 의존성 추가 4-4. Spring 프로젝트의 환경변수 프로파일 설정 4-..


S3는 AWS에서 제공하는 스토리지 서비스이다. 높은 가용성 및 내구성을 제공하여 데이터를 안전하게 저장하고 어디에서나 접근할 수 있도록 서비스를 제공한다.이번 포스팅에서는 S3의 기본적인 개념 및 저장소 단위인 버킷에 대해서 살펴보려고 한다. 1. AWS S3 소개 2. S3 기능 - 주요 기능 : 업로드 및 다운로드, 버킷 정책, 스토리지 클래스, 버전 관리와 객체 잠금, 수명주기 제어, 암호화- 기타 기능 : 복제, S3 엑세스 로깅, 이벤트 기반 호출, AWS Athena, Transfer Acceleration3. 버킷 명명 규칙4. 버킷 정책 (Bucket Policy)5. S3 Object의 구성6. 스토리지 클래스 (Storage Class)7. 암호화8. 버킷 버전 관리9. 객체 잠금10..


AWS에서 VPC를 구성할 때, 서로 다른 VPC 간의 통신, 혹은 외부 네트워크와 VPC간에 통신을 해야 할 때 사용할 수 있는 방법들이 있다. 서로 다른 VPC의 인스턴스 간의 통신을 지원하는 VPC Peering과, 온프레미스와 VPC 간의 통신을 지원하는 기술들인 AWS VPC와 Direct Connect의 개념에 대해서 간단하게 살펴보자. VPC Peering 서로 다른 VPC의 구성 요소 간에 Public Network를 통해서 통신이 가능하지만, 보안 그룹 설정을 비롯하여 외부 인터넷에 노출되어 있는 서비스(인스턴스) 간의 통신만이 가능하다. 그렇지만 DB와 같은 인터넷에 노출되어서는 안되는 서비스들의 경우 Private Network 상에서 통신할 수 있는 방법이 필요하다.VPC P..


Private Subnet에 위치한 EC2는 인터넷 게이트웨이(IGW)와 퍼블릭 IP가 없기 때문에 외부에서 직접 접근할 수 없다. 따라서 인스턴스에 접속하거나 접근하려면 우회적인 방식을 사용해야 한다. 이번 포스팅에서는 Private EC2에 접근할 수 있는 3가지 방식을 소개하려고 한다. 1. Bastion Host 2. SSM (Systems Manager Session Manager)3. EC2 Instance Connect Endpoint4. Bastion Host로 Private EC2 접속5. SSM으로 Private EC2 접속6. Instance Connect Endpoint로 Private EC2 접속 Bastion Host Public EC2 인스턴스를 Bastion Host..


AWS에서 S3, DynamoDB 등의 대부분의 서비스에 접근할 때, 기본적으로 퍼블릭 인터넷을 거쳐야 한다.하지만 VPC Endpoint를 사용하면 퍼블릭 IP 없이 AWS 내부망을 통해 통신이 가능하므로 보안성과 성능을 높일 수 있다.이번 포스팅에서는 VPC Endpoint의 개념과 활용 방법을 정리해 보려고 한다. VPC Endpoint 외부 인터넷과 통신이 차단된 Private Subnet에서 AWS 서비스에 접근하려면 두 가지 방식을 사용할 수 있다.첫번째로 우회적으로 NAT Gateway를 경유하여 외부 퍼블릿 인터넷을 통해서 접근하는 방식이다.두번째로는 VPC Endpoint를 활용하여 내부망을 통해서 접근하는 방식이다. VPC Endpoint는 외부 Public 인터넷을 거치지 않..


AWS의 가상 네트워크인 VPC에서 네트워크 보안을 제공하기 위한 두 가지 중요한 구성 요소로서 보안 그룹과 NACL가 있다. 이번 포스팅에서는 해당 두 종류 방식의 사용 목적과 차이점에 대해서 살펴보려고 한다. 보안 그룹 (Security Group) 보안 그룹(Security Group)은 VPC의 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 하는 서비스이다. 즉 클라우드에서 내 서버를 지켜주는 문지기 같은 존재이다. 어떤 요청을 들여보낼지, 내보낼지를 미리 정해두고 그 규칙에 맞춰 움직인다. 쉽게 말해, A번 방에 "이 친구는 들어와도 돼" 또는 "너는 못 들어와"를 결정하는 역할을 한다. NACL과 함께 방화벽 역할을 하는 서비스Port 허용 : 기본적으로 모든 포트 비활성화,..