국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 구동중인 서버에 문제 발생 시 해결 방안 =. 가능한 모든 곳에서 자원의 시작, 종료, 설정을 자동화를 하는 것을 권장 수동으로 관리되는 자원들을 줄임으로 시스템의 안정성, 일관성, 효율성을 높이도록 해야함 DevOps Development : 서비스 개발 Operations : 서비스 운용 클라우드 서비스의 등장 및 웹 서비스 보편화에 따른 Development와 Operations의 경계 모호 웹 서비스의 빠른 개선 주기로 인한 간단한 릴리즈 사이클 필요=> 코드를 활용한 서비스 배포 보편화 (IaC) Infrastructure-as-a-Code (코드를 이용한 자원 관리) ..
AWS
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 AWS High Availability (고가용성) Fault-tolerance와 Scalability 관점에서 살펴보자 고가용성 (High Availability)란? 서비스를 운용하는 사람이 관리를 하지 않아도 서비스가 동작하지 않는 시간을 최소화해서 사용자에게 예측된 성능을 제공해줄 수 있는 척도 고가용성의 구현 요소들 Fault tolerance 응용예제 자체에서 문제가 발생시에도 사용자에게 영향을 전파하지 않는 능력=> fault가 failure가 되지 않게백업 서버의 구동 등 Scalability 시스템의 디자인을 바꾸지 않고도 증가하는 요청을 처리할 수 있는 능력 사용자 ..
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Cloud Infrastructure 하나의 데이터센터에는 일반적으로 수천대의 서버가 장착되어 있음 데이터 센터 내에 서버는 랙으로 구성됨 => 같은 랙에서는 싱글 네트워크 스위치를 통해서 연결 => 여러 랙은 고성능 네트워크 스위치로 연결 AWS Infrastructure - Region & Availability Zone (AZ) Region 물리적 지리적 위치를 기준으로 구성된 자원 세트(미국 서부, 미국 동부, 아시아 서울, 아시아 일본 지경 등..) 하나의 Region은 최소 2개 이상의 Availability Zone으로 구성됨 Availability Zone 하나 또는 ..
프로젝트를 배포하던 중 AWS EC2에서 메모리 부족 현상으로 ssh 접속이 안되는 상황이 발생했다...(프리티어 사용중) 프리티어로 사용하게 되는 t2.micro 인스턴스 유형은 램이 1GB이기 때문에 메모리 부족현상이 일어날 수 있다! => swap file을 이용하여 swap memory 할당을 해보자!(현재 생성한 EC2는 ubuntu 환경임) EC2 램이 가득 찼기 때문에 실제 디스크의 용량을 이용하여 부족한 메모리를 대체할 공간을 swap memory 라고 함! => 보통 swap memory는 할당된 메모리의 2배를 추천하고 있다고 함! 스왑 메모리는 RAM을 대신하는 것이 아니라, RAM이 부족할 때 임시로 사용하는 비상 메커니즘으로 생각하는게 좋음=> 디스크에 저장된 스왑 메모리는 R..
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..
최근에 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)을 '블록'이라는 개별 단위로 분할해서 저장한다 각 블록은 저장된 위치에 고유한 주소가 있기 때문에 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달한다 => 클라우드 환경에서 블록 스토리지의 각 블록은 가..