AWS

·Infra/AWS
프로젝트를 배포하던 중 AWS EC2에서 메모리 부족 현상으로 ssh 접속이 안되는 상황이 발생했다...(프리티어 사용중)  프리티어로 사용하게 되는 t2.micro 인스턴스 유형은 램이 1GB이기 때문에 메모리 부족현상이 일어날 수 있다! => swap file을 이용하여 swap memory 할당을 해보자!(현재 생성한 EC2는 ubuntu 환경임)  EC2 램이 가득 찼기 때문에 실제 디스크의 용량을 이용하여 부족한 메모리를 대체할 공간을 swap memory 라고 함! => 보통 swap memory는 할당된 메모리의 2배를 추천하고 있다고 함! 스왑 메모리는 RAM을 대신하는 것이 아니라, RAM이 부족할 때 임시로 사용하는 비상 메커니즘으로 생각하는게 좋음=> 디스크에 저장된 스왑 메모리는 R..
·Backend/Spring
EC2 인스턴스 생성 방법은 이전 포스팅을 참고해주세요!로컬에서 Docker 설정 Jar 파일 빌드하기 보통 빌드를 할 때 ./graldew clean build 를 많이 봤을텐데  이번에는 ./gradlew clean bootJar를 통해 Spring Boot 애플리케이션을 위한 실행 가능한 JAR파일만 생성했음  ./gradlew build는 bootJar를 포함하여 내부 동작이 더 길다반면, bootJar의 경우 단순히 프로젝트의 jar파일을 만드는 목적으로 빌드 속도가 빠르다(clean 작업은 build/ 와 같은 빌드 산출물 디렉토리를 삭제하여 이전 빌드 결과물을 모두 제거함) Dockerfile 생성하기# Dockerfile# jdk17 Image StartFROM openjdk:17# jar..
·Backend/Node
최근에 Co-Code라는 코딩 교육 플랫폼 프로젝트를 시작하면서 백엔드를 맡게 되었습니다!! 가장 먼저 하게된건 서버 배포하기... 바로 시작하겠습니다  가장 먼저 EC2부터 생성해보았다!(제 블로그 AWS에 인스턴스 생성 실습이 있으니 참고하시면 될 것 같습니다) => Ubuntu를 사용했음!! (+ 프리티어)  키페어도 만들어서 잘 보관해주고!! ssh -i "pem 파일 이름" ubuntu@ec2-"퍼블릭 ip 주소".ap-northeast-2.compute.amazonaws.com 이제 작업중인 환경에서 (저는 vscode를 사용하기 때문에 vscode 터미널을 이용했음) pem 파일 위치로 이동 후 위의 명령어를 입력하여 EC2 서버로 접속한다   그런데Permissions for 'key.pe..
'AWS 교과서' 책이 끝이 보이기 시작하네요.. 워드프레스 소개 지금까지 개별적인 AWS 서비스들을 학습해왔고 10장에서는 AWS 서비스를 활용하여 워드프레스(wordpress) 블로그를 구성하는데 여기서 워드프레스는 손쉽게 블로그, 웹 사이트, 쇼핑몰 등 웹 사이트를 제작할 수 있는 오픈 소스 플랫폼이다 웹 시스템 구성 요소 일반적으로 웹 시스템을 구성하려면 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버가 필요하다 웹 서버는 클라이언트 요청에 대해 정적, 동적 콘텐츠를 제공하며, 웹 애플리케이션 서버는 클라이언트 요청에 따라 동적 콘텐츠를 제공한다 그리고 데이터베이스 서버에서 데이터를 가져오거나 저장해서 활용한다 웹 사용자가 얼마 되지 않고 소규모일 때 웹 시스템을 하나의 서버에서 구성하여 서비..
이 장의 주제인 AWS 오토 스케일링 서비스를 살펴보기에 앞서, 먼저 스케일링은 무엇이고 어떤 종류로 분류되는지 이해해야 한다! 스케일링 스케일링이란 IT 측면에서 스케일링(scaling)이란 IT 자원을 확장하거나 축소하는 기능을 의미한다 IT 자원의 사용 요구는 항상 고정적이지 않고 특정 상황이나 이벤트에 따라 가변적이다 => 이렇게 IT 자원의 사용 요구가 가변적일수록 자원의 성능 및 수량을 확장하거나 축소하는 개념인 스케일링은 필수이다 (스케일링으로 IT 자원의 고가용성과 내결함성을 확보할 수 있음) 스케일링의 종류 스케일링 기법은 확장 및 축소 방향에 따라 수직 스케일링과 수평 스케일링으로 구분된다 수직 스케일링 수직 스케일링은 IT 자원의 용량을 확장, 축소하는 것으로 스케일 업(scale-u..
사용자 인증과 권한 통제는 온프레미스 환경과 더불어 클라우드 환경에서도 가장 중요한 보안 요소이다 이 때문에 AWS는 더욱 안전하게 사용할 수 있도록 AWS IAM 기능을 제공한다 AWS IAM을 살펴보기 전에 먼저 AWS IAM 위에서 AWS 리소스가 어떻게 생성되고 관리되는지 알아보자! AWS 리소스 생성하고 관리하기 AWS 리소스를 다루는 방법을 살펴보자! AWS 관리 콘솔 AWS 관리 콘솔에서는 AWS 리소스를 생성하고 관리하는 데 사용할 수 있는 '웹' 기반 사용자 인터페이스를 제공한다 => 직관적이기 때문에 AWS 입문 단계에서 사용하기에 굉장히 편리 (앞선 실습들은 AWS 관리 콘솔초럼 웹 기반 GUI 방식으로 진행했음) AWS 명령줄 인터페이스 AWS 명령줄 인터페이스(AWS CLI)는 A..
이번 실습은 AWS의 관계형 데이터베이스인 Amazon RDS를 배포하고 웹 서버와 연동하는 것으로, 고가용성 확보를 위한 Multi-AZ 기능과 성능 확장을 위한 Read Replica 기능을 알아보자 웹 서버와 Amazon RDS 연동하기 CloudFormation으로 기본 인프라 배포하 실습에 필요한 기본 인프라 자원은 AWS CloudFormation으로 자동 배포한다 AWS 관리 콘솔에서 서비스 > 관리 및 거버너스 > CloudFormation으로 들어가 스택 생성을 누른고 Amazon S3 URL에 https://cloudneta-aws-book.s3.ap-northeast-2.amazonaws.com/chapter6/dblab.yaml 을 입력한다! 스택 세부 정보 지정 페이지에서 다음과 ..
다양한 AWS 스토리지 서비스 구성하기 실습목표는 AWS의 다양한 스토리지 서비스를 직접 구성해서 사용하고, 각 스토리지 기능과 활용법을 확인해보는 것이다! 1. 실습에 필요한 기본 인프라 배포하기 실습에 필요한 인프라 자원은 AWS CloudFormation을 이용하여 자동으로 배포하면 된다! (과거 실습에서 진행했었음) AWS 관리 콘솔에서 서비스 > 관리 및 거버너스 > CloudFormation 메뉴로 들어간 후 스택 생성을 누름 Amazon S3 URL에 아래 URL을 입력하고 다음을 누름 https://cloudneta-aws-book.s3.ap-northeast-2.amazonaws.com/chapter5/storagelab.yaml 스택 이름에 storagelab 입력하고 KeyName은 ..
스토리지 개요 스토리지(storage)란 데이터를 보관하는 장소로, 우리가 사용하는 모든 저장 장치를 스토리지라고 할 수 있다! => 데이터 보관 방식과 데이터 사용 용도에 따라 여러 형태가 있다 (USB, 외장하드 등) 스토리지 서비스 및 주요 기능 AWS에서 제공하는 스토리지 서비스 종류에는 블록, 파일, 객체 스토리지가 있는데, 각 목적에 따른 사용을 권장한다 블록 스토리지 (Amazon EBS) 블록 스토리지는 그 이름에서 알 수 있듯이, 단일 스토리지 볼륨(volume)을 '블록'이라는 개별 단위로 분할해서 저장한다 각 블록은 저장된 위치에 고유한 주소가 있기 때문에 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달한다 => 클라우드 환경에서 블록 스토리지의 각 블록은 가..
저번 ALB 관련 실습에 이어서 NLB 관련 실습을 진행하겠습니다! NLB를 생성하고 교차 영역 로드 밸런싱 동작 확인하기 NLB 생성하기 저번 실습과 비슷해서 설명 없이 텍스트 형식으로 호다닥 넘어가보겠습니다! EC2 > 대상 그룹에서 대상 그룹 생성을 누른다 이렇게 설정한 후에 다음을 누르고 대상 등록에서 실습에 사용할 모든 인스턴스를 설정한 후 아래에 보류 중인 것으로 포함을 누른다 대상 그룹 생성을 누르면 대상 그룹이 생성된 것을 확인할 수 있음 대상 그룹을 만들었으니 이번에는 로드 밸런서를 만들어보자! EC2 > 로드밸런서에서 로드 밸런서 생성을 누르고 로드 밸런서 유형 선택 페이지에서 Network Load Balancer의 생성을 누른다 생성 페이지에서는 이렇게 설정하고 아래쪽에 있는 로드 ..
ALB 와 NLB를 이용한 로드 밸런싱 구성하기 이번 실습은 Amazon ELB의 ALB와 NLB로 로드 밸런싱 환경을 구성하여 다수의 인스턴스를 이용한 ELB의 동작 및 활용을 확인해본다! CloudFormation 소개 앞선 실습에서 다양한 AWS 인프라를 하나씩 수동으로 생성해서 사용했다 => 실습 환경 구성에 많은 시간이 소요된다 이런 문제를 해결하기 위해 실습 환경을 코드 기반으로 생성하는 기술인 CloudFormation을 사용하여 더 빠르고 정확한 실습환경을 구성할 수 있다 CloudFormation은 IaC(Infrastructure as Code) 기반으로 AWS 인프라 리소스를 자동으로 생성하는 서비스이다! => VPC, EC2 등 리소스를 수동으로 생성할 필요 없이 리소스들을 템플릿(..
오늘은 많이 들어봤을 로드 밸런싱에 관련된 공부를 해보겠습니다 Amazon ELB 기능 소개 부하분산이란 부하분산은 서버-클라이언트 환경에서 서버가 클라이언트 요청을 받아 처리하는 과정에서 발생하는 부하(연산 작업)에 대해 동일한 목적을 수행하는 다수의 서버에 분산 처리하는 기능입니다 => 고가용성 및 내결함성이 향상되어 장애가 발생할 때 유연하게 대처할 수 있고, 서비스를 안정적으로 유지할 수 있음 더보기 고가용성 : 시스템이나 서비스가 지속적으로 작동 가능하도록 하는 기능 내결함성 : 시스템의 일부 구성 요소가 작동하지 않더라도 계속 작동할 수 있는 기능 이런 부하분산을 로드 밸런싱(load balancing)이라고 하며, 부하분산을 수행하는 대상을 로드 밸런서(load balancer)라고 한다. ..
JJunGyo
'AWS' 태그의 글 목록