본문 바로가기

AWS10

AWS S3 스프링에 적용하기 - 1 AWS S3란?- Amazon Simple Storage Service로 객체 스토리지 서비스이다.- 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공한다.- 사용자가 원하는 만큼의 데이터를 저장할 수 있기에, 다양한 타입의 데이터를 저장할 수 있다. AWS S3를 프로젝트에서 사용데이터를 S3에 저장할 때에, 해당 데이터에 대한 S3 URI를 제공한다.예시) s3://master-car-application/de8265e3b2984913bbe01cd53733317f_1607146775.jpg위의 뒷부분은 객체의 key라고 볼 수 있다.해당 key를 통해 프로젝트에서 S3에 저장된 이미지를 찾을 수 있다.기본 로직 (DB에 저장)클라이언트에서 MultipartFile을 통해 파일을 가지고 온다해.. 2024. 5. 27.
AWS S3 스프링에 적용하기 - 2 AWS S3란?- Amazon Simple Storage Service로 객체 스토리지 서비스이다.- 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공한다.- 사용자가 원하는 만큼의 데이터를 저장할 수 있기에, 다양한 타입의 데이터를 저장할 수 있다. AWS S3를 프로젝트에서 사용데이터를 S3에 저장할 때에, 해당 데이터에 대한 S3 URI를 제공한다.예시) s3://master-car-application/de8265e3b2984913bbe01cd53733317f_1607146775.jpg위의 뒷부분은 객체의 key라고 볼 수 있다.해당 key를 통해 프로젝트에서 S3에 저장된 이미지를 찾을 수 있다.기본 로직 (DB에 저장)클라이언트에서 MultipartFile을 통해 파일을 가지고 온다해.. 2024. 5. 27.
[USports] HTTPS [USports] HTTPS 백엔드는 HTTP 프로토콜을 사용하고, 프론트는 HTTPS를 사용하여 배포했을 때에 웹소켓이 잘 안 먹혔다 웹소켓 같은 경우 HTTP는 ws 그리고 HTTPS는 wss 프로토콜을 사용하게 된다 그래서 배포를 했을 때에, 실시간 채팅을 제대로 구현하기 위해서는 백엔드에서 HTTPS 프로토콜을 사용해야 겠다고 생각했다 여기서 HTTPS를 사용하면 자동으로 wss 프로토콜로 바뀌다고 한다 대부분이 도메인을 구매해서, HTTPS로 바꿨다 하지만 개인적으로, 백엔드는 Rest API만 구축했지, 굳이 도메인까지 구매를 해야할까? 라는 의문점이 들기 시작했다 다행히, 도메인 구매 없이 HTTPS로 바꾸는 방법이 존재했다 Caddy와 nip.io를 사용하는 것이었다 nip.io : 무료 .. 2024. 1. 14.
[USports] Spring AWS 배포 [USports] Spring AWS 배포 배포란? 프로젝트를 하다 보면, 프로젝트 테스트를 위해 localhost, 즉 로컬 서버로 어플리케이션을 띄운다 localhost는 '내 컴퓨터'의 서버를 사용하는 것이라서, 다른 사람들이 내 어플리케이션을 사용하기 위해서는, '내' 컴퓨터의 IP 주소, 그리고 컴퓨터의 주소까지 알아야 할 것이다 근데 이렇게 하면, 내가 컴퓨터를 끄게 되면, 내 어플리케이션을 사용하는 사람도 어플리케이션을 사용하지 못 할 것이다 그래서 그 localhost를 클라우드 서버에 넣어두는 것이다 여기서 클라우드 서버는, 클라우드 컴퓨터로, 해당 컴퓨터에 내 어플리케이션을 올려두는 것이다 이렇게 하면, 클라우드가 없어지지 않는 이상, 어플리케이션은 24시간 돌아가게되고, 다른 유저가 .. 2024. 1. 14.
6. AWS ASG 6. AWS ASG AWS Auto Scaling Group 실제로, 상황에 따라 로드, 트래픽의 흐름은 일정하지 않다 갑자기 트래픽이 많아질 수 있고, 줄어들 수 있다 ASG의 목적 로드, 트래픽이 증가하면 Scale Out (인스턴스를 추가) 한다 로드, 트래픽이 감소하면 Scale In (인스턴스를 제거) 한다 최소, 또는 최대의 EC2 인스턴스가 작동하도록 도와준다 전의 인스턴스가 문제가 생겨, 연결을 중단했을 때, 새로운 EC2 인스턴스를 생성한다 이 모든 것을 자동화한다 ASG는 무료지만, EC2 인스턴스에 따라 비용이 들 수 있다 Load Balancer 없이도 가능하지만, Load Balancer를 통해 인스턴스의 상태를 확인하면서 자동으로 인스턴스 추가/삭제를 할 수 있다 ASG을 만들기.. 2023. 3. 17.
5. AWS ELB 5. AWS ELB AWS Scalability & High Availability 확장성과 가용성 수직 확장성 (Vertical Scalability)와 수평 확장성 (Horizontal Scalability) 수직 확장성은 인스턴스의 크기를 증가시키는 것이다 예를 들어 t2.micro를 통해 어플리케이션을 작동 시키다가, t2.large로 바꾸는 것이다 주로 데이터 베이스와 같이 비분산 시스템에 수직 확장을 한다 수평 확장성은 인스턴스의 개수를 증가시키는 것이다 분산 시스템에 주로 사용이 된다 가용성 (Availability) 높은 가용성 (High Availability)는 수평 확장과 비슷하다 높은 가용성이 있다는 것은 어플리케이션 또는 시스템을 2개 이상의 데이터 센터 (AZ)에서 작동을 시키는.. 2023. 3. 17.
4. AWS EC2 인스턴스 저장소 4. AWS EC2 인스턴스 저장소 AWS EBS Volume EBS (Elastic Block Store) Volume EBS Volume은 인스턴스에 첨부할 수 있는 네트워크 드라이브다 네트워크의 USB라고 생각하면 된다 네트워크를 사용하여, 인스턴스와 연결을 할 때에 살짝의 지연시간이 발생할 수 있다 Free Tier은 30GB의 General Purpose (SSD) 또는 Magnetic EBS 저장소를 사용할 수 있다 인스턴스가 없어지더라도, 인스턴스에서 생성했던 데이터를 유지시켜줄 수 있다 EBS Volume은 헌번에 하나의 인스턴스에 붙을 수 있다 USB처럼 하나의 인스턴스에서 분리되고, 다른 인스턴스에 붙을 수 있다 기본적으로, 특정 Availability Zone에 제한되어 있다 us-e.. 2023. 3. 10.
3. AWS EC2 기초 3. AWS EC2 기초 AWS EC2 (Elastic Compute Cloud) 서비스로 인프라를 작업하는 방법 인스턴스 컴퓨터 한 대라고 생각을 하면 된다 인스턴스의 갯수에 따라 컴퓨터 갯수가 정해진다 EC2는 해당 기능들을 포함하고 있다 EC2 : 가상으로 기기를 빌려주는 것 EBS (Elastic Block Storage) : 데이터를 가상 드라이브에 저장하는 것 ELB (Elastic Load Balancer) : 어플리케이션 트래픽을 자동으로 분산해준다 ASG (Auto-Scaling Group) : 사용자 정의 정책, 상태 확인 및 일정에 따라 EC2 인스턴스를 자동으로 시작하거나 종료한다 EC2 사이징과 환경 설정 옵션 어플리케이션에 적합한 EC2 인스턴스를 선택할 수 있다 / 주문형 클라.. 2023. 3. 9.
2. AWS IAM / CLI 2. AWS IAM / CLI AWS IAM Identity and Access Management 글로벌 서비스로, 모든 Region에서 사용을 할 수 있다 Root Account, Users, Groups Root Account 최고 관리자라고 생각하면 된다 모든 권한은 Root Account에 있고, Root Account에서 Users 또는 Groups를 만들 수 있다 Users 단체 내에 속한 사람들이다 유저들은 그룹으로 나뉠 수 있거나, 안 그래도 된다 유저들이 복수 그룹 안에 들어가는 것은 가능하다 Groups 유저들이 포함되어 있다 그룹 안에 그룹이 존재하는 것은 불가능 하다 IAM : Permissions 사용자 또는 그룹의 권한을 정의하는 것이다 유저나 그룹은 policies (정책)이.. 2023. 3. 8.