AWS 14

[AWS] S3 폴더 구조 생성

문제의식 처음 s3를 접한 뒤, 블로그를 통해 단순 구현을 하다 보면 s3에 불규칙하게 파일들이 저장되어 가는 것을 본 적이 있을 것이다.S3에 이미지를 업로드하는 예제를 제공하는 여러 코드들에서 대부분 amazonS3.putObjcet 메서드의 부분의 fileName를 랜덤 UUID로 작성하는 경우가 많다. 물론 여러 장의 사진이 아니고, 단순하게 s3에 이미지를 업로드하는 코드를 알려주는 것이기 때문에 큰 문제는 안 될 수 있다. 하지만 실제 코드를 작성하고, 유지보수를 하는 관점에서 살펴보았을 때 여러 가지 문제가 발생할 수 있다. 1. 하나의 서비스 로직을 작성해 두고 모두 동일하게 사용한다.-> 장점이 될 수도 있으나, 단점이 될 수도 있다. 여러 API가 동일한 하나의 서비스 로직을 바라보고 ..

지식 정리/AWS 2025.03.11

[Git] Github Actions CI/CD

이전까지의 단계를 잘 마쳤다면 이제부턴 어렵지 않은 단계에 들어왔다.자동 배포가 어렵게 다가올 수 있지만 천천히 따라오며 단계를 밟으면 쉽게 끝마칠 수 있을 것이다!1. 도커 파일 설정폴더의 바로 하단 디렉토리에 두 개의 파일을 만들 것이다. 1. Dokcerfile, 2. docker-compose.yml 이다.DockerfileDockerfile은 이미지를 빌드하기 위한 설정 파일이다.Docker 이미지를 생성하는 데 필요한 명령어와 설정을 정의한다. 역할이미지 생성: 애플리케이션 실행 환경(예: 운영 체제, 라이브러리, 종속성 등)을 정의하고 이를 기반으로 Docker 이미지를 생성한다.자동화된 빌드: 수동으로 환경을 구성할 필요 없이 파일에 정의된 대로 이미지를 생성한다.재사용 가능: 동일한 Do..

지식 정리/git 2025.01.23

[AWS] EC2 + Docker 을 이용한 Spring Boot 배포(2)

3. Route53 도메인 구매4. ALB 구성5. ALB & Route53 연결나머지 과정을 이어서 진행해보자. 3. Route53 도메인 구매검색 창에 Route53을 검색한 뒤 좌측 하단의 도메인 등록을 눌러주자. 본인이 원하는 domain name을 설정해주자. www.test.com이 아닌 test.com으로만 하면 된다.  중복은 불가능하니 잘 피해서 만들자.Select를 한 뒤 구매를 진행하면 된다. 최소 12달러에서 그 이상의 가격을 지불해야한다.30분 ~ 1시간 정도가 지나면 구매가 완료된다. 메뉴 탭의 Hosted zones로 이동하여 Create hosted zone을 해주자. 도메인 이름만 등록한 것으로 하고 생성해주면 된다. Hosted zones에서 본인의 도메인을 누르고 cre..

지식 정리/AWS 2025.01.21

[AWS] EC2 + Docker 을 이용한 Spring Boot 배포(1)

프로젝트를 진행하며 서버를 배포해야 하는 경우가 많다. 이때, Docker와 같은 컨테이너를 사용해도 되고, 사용하지 않아도 되지만 이 전에 배포를 했었을 때는 Docker을 사용하지 않아 사용해 보기로 했다. 진행 순서는 다음과 같다.1. EC2 인스턴스 생성2. EC2 인스턴스 구성3. Route53 도메인 구매4. ALB 구성5. ALB & Route53 연결6. 배포 완료 및 CI/CD 구성 6번 작업의 경우 별도 포스트를 통해 따로 설명하도록 하고, 오늘은 5번까지 어떤 순서로 진행되었는지 천천히 알아보자!! (너무나도 당연하게 AWS 계정은 본인이 만들도록 하자.) 1. EC2 인스턴스 생성먼저 ec2 인스턴스를 어떤 Region에 생성할지를 선택해야 한다. aws 콘솔 화면의 우측 상단부에 ..

지식 정리/AWS 2025.01.21

[AWS] CI/CD 배포 전략

배포 전략이란?이 전엔 배포를 하는 것이 수 개월 혹은 수 년에 한 번씩 이루어지는 작업이었다.최근에는 서비스를 더욱 작게 만들고 빈번히 배포하는 방식으로 변화하고 있다.→ 변경 사항이 생겼을 때 더 빠르게 반영이 가능하지만 리스크가 존재한다.→ 그렇기에 배포 전략을 구성해야한다!배포 전략 종류인플레이스 배포(In-place Deployment)롤링 배포(Rolling Update Deployment)블루/그린 배포(Blue/Green Deployment)카나리 배포(Canary Deployment)각 배포 전략마다 장점과 단점이 모두 존재하기 때문에 상황에 따라 전략을 선택해야 한다.인플레이스 배포(In-place Deployment)인플레이스 배포는 사용중인 환경에 새로운 변경 사항이 포함된 어플리케..

지식 정리/AWS 2025.01.20

[AWS] AWS ELB

Scalability & High AvailabilityELB에 들어가기 전에 먼저 정리해야 할 부분이다. 간단하게 짚고 넘어가자.Scalability확장성이다. 애플리케이션 시스템이 조정을 통해 더 많은 양을 처리할 수 있도록 하는 것이다.수직 확장성인스턴스의 성능을 변경하는 것.ex)콜센터를 생각해보자. 1분에 5건의 전화를 처리할 수 있는 신입 사원이 있지만, 더 많은 처리량을 필요로 하는 경우 1분에 20건의 전화를 처리할 수 있는 경력 사원으로 대체하는 것이다.데이터베이스와 같이 분산되지 않은 시스템에서 흔히 사용된다.수평 확장성(탄력성)애플리케이션에서 인스턴스의 수를 늘리는 것ex)콜센터를 생각해보자. 1분에 5건의 전화를 처리할 수 있는 신입 사원을 여러 명 더 뽑아서 문제를 해결할 수 있다..

지식 정리/AWS 2025.01.15

[AWS] Amazon EFS

Amazon EFS(Elastic File System)EFS는 관리형 NFS(네트워크 파일 시스템)이다.→ 많은 EC2 인스턴스에 마운트 될 수 있다.→ EC2 인스턴스는 서로 다른 가용성 영역에 있을 수도 있다.즉! 가용성이 높고, 확장성이 뛰어나며 비싸다..EFS 파일 시스템이 있으며 이를 보안 그룹으로 둘러싼다.다양한 AZ에 있는 EC2 인스턴스들을 하나의 EFS에 동시에 연결할 수 있다.콘텐츠 관리, 웹 서빙, 데이터 공유, Wordpress 등에 사용한다.내부적으로 NFS 프로토콜을 사용하며, EFS에 대한 액세스를 제어하려면 보안 그룹을 설정해야 한다.중요한 점은 윈도우가 아닌 Linux 기반 AMI와만 호환된다는 점이다.따라서 Posix 시스템을 사용한다. 또한, 표준 파일 API가 존재한..

지식 정리/AWS 2025.01.03

[AWS] EBS 다중 연결 & EBS 암호화

EBS 다중 연결이름에서 알 수 있듯 다중 연결 기능은 하나의 EBS 볼륨을 같은 가용 영역(AZ)에 있는 여러 EC2 인스턴스에 연결하게 해주는 것이다.→ 여러 EC2 인스턴스가 있고, 다중 연결 기능이 활성화된 io2 볼륨이 있을 때 이 볼륨을 여러 개의 EC2 인스턴스에 동시 연결할 수 있다는 뜻이다.→ io1, io2 제품군에서만 사용할 수 있는 기능이다.각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 갖는다.사용 사례어플리케이션 가용성을 높이기 위해 Teradata처럼 클러스터링 된 Linux 애플리케이션에서 사용한다.애플리케이션이 동시 쓰기 작업을 관리해야 할 때 사용.다중 연결 기능은 해당 가용 영역 내에서만 사용할 수 있다.한 AZ에서 다른 AZ로 EBS 볼륨을 연결할 수 없다..

지식 정리/AWS 2025.01.03

[AWS] EBS

EBS VolumeEBS(Elastic Block Store) Volume로 인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브이다. EBS볼륨을 사용하면 인스턴스를 중지한 후에도 데이터를 유지할 수 있다.CCP level : 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능Associate level: 일부 EBS 다중 연결위의 사진을 보면 알 수 있는 것처럼 1개의 EC2는 여러 EBS에 연결될 수 있지만. 하나의 EBS는 하나의 EC2와만 연결될 수 있다.(CCP level)특정 AZ에 종속되어 가능하다.→ us-east-1a에서 생성된 경우 us-east-1b에는 연결이 불가능하다.→ snapshot를 이용하면 다른 AZ로도 볼륨을 옮길 수 있다. 용량을 미리 결정해야 한다.(원하는 양..

지식 정리/AWS 2024.12.04

[AWS] IP와 배치 전략

Private vs Public IP (IPv4)Networking은 두 종류의 IP가 있다. IPv4, IPv6IPv4 : 1.160.10.240IPv6 : 3ffe:1900:4545:3:200:f8ff:fe21:67cfIpv4는 여전히 가장 많이 사용되는 방식이다.IPv6는 사물 인터넷에서 많이 쓰인다.IPv4[0-255].[0-255].[0-255].[0-255] 로 구성되며 약 3.7억개의 서로 다른 주소를 가진다.인터넷이 발달하며 이 주소가 고갈되는 현상이 발생했다.Public IPPublic IP란 인터넷 상에서 식별될 수 있음을 의미한다.전체 웹 상에서 고유한 IP를 가진다.IP가 있다면 지리적 위치가 특정될 수 있다.Private IP오직 사설 네트워크 안에서만 식별될 수 있다.두개의 다른..

지식 정리/AWS 2024.12.03