일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- graph
- 그래프
- 웹서버
- 자료구조
- Tomcat
- 리스트
- 큐
- Recursion
- ADT
- 트리
- 이진탐색트리
- datastructure
- spring
- web
- BinaryTree
- heap
- 버블정렬
- MariaDB
- aws
- 알고리즘
- bubblesort
- C언어
- java
- data structure
- algorithm
- Stack
- Queue
- ec2
- BinarySearchTree
- C
- Today
- Total
Min'sLog
(AWS) EC2를 활용한 API 서버 배포하기 본문
● EC를 활용하여 서버를 배포 및 운영하는 이유?
서버는 Client 의 요청에 반응하여, 리소스를 리턴해주어야 한다.
어떠한 웹 애플리케이션 혹은 서비스는 이러한 요청(Request)에 따른 반응(Response)를 해주어야 하기 때문에,
하루 24시간 켜져있어야 하며, 인터넷상에 서버 컴퓨터를 열어두어야 하니, 보안상으로도 취약할 수 있다.
따라서, AWS에서 제공하는 EC2 서비스를 활용하여 Server 를 빌린다면, 보안상으로나 비용상으로 유리한 이점을 갖을 수 있다.
○ TMI
AWS 와 같은 Cloud 기반의 인프라 서비스는 서버 하드웨어를 직접 구축하여 가지는 On-premise 방식과 차이가 있다.
On-premise 방식은 초기 구축 비용이 비싸다.
중소 규모의 서비스를 배포하기 위해, 컴퓨터 및 전기사용료 등의 부대비용은 부담스러울 수 있다.
● 1. AWS 회원가입 하기.
https://signin.aws.amazon.com/signup?request_type=register
AWS Console - Signup
Explore Free Tier products with a new AWS account. To learn more, visit aws.amazon.com/free.
signin.aws.amazon.com
AWS 서비를 이용하기 위해서는 회원가입이 필요하다.
회원가입이 완료 후, 콘솔로 접속한다.
● 2. 리전(Region) 선택하기
AWS EC2를 시작하기 전에 우선적으로 리전(Region)을 먼저 선택해야 한다.
※ 리전(Region)이란? 리전은 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다.
AWS는 전세계의 여러 위치에 데이터 센터를 두고 있다.
사람들은 애플리케이션을 사용할 때, 네트워크를 활용해 통신하므로 내가 클라이언트에게 서비스하고자 하는
Region의 물리적 위치가 가까운것이 여러모로 유리하다. (ex. 서비스 지역을 한국이라면? 아래와 같이 선택)
● 3. EC2 셋팅 - 기본설정
AWS Console에서 EC2를 검색하여 클릭한다.
EC2 대시보드에서 좌측 메뉴의 인스턴스 메뉴를 클릭하여 들어가면,
아래와 같이 현재 내 계정이 이용중인 EC2 인스턴스 내역을 볼 수 있으며,
인스턴스 시작 버튼을 눌러 EC2 인스턴스를 생성 할 수 있다.
인스턴스를 생성할 때, 첫번째로 해당 EC2 컴퓨터의 이름 및 태그를 지정한다.
이름을 지정할 때에는 이 컴퓨터가 어떤 역할을 하는지 알아볼 수 있게 작성한다.(보통 서비스 이름을 지정)
두번째로는 OS 를 선택하는 단계이다.
통상적으로 Server 로 이용하는 컴퓨터의 운영체제는 Windows 와 같은 Graphic User Interface 가 아닌,
CLI기반의 유닉스 계열 OS 를 많이 사용한다.
AMI 는 프리티어 사용가능한 버전중 선택하면 되겠다. (실제 서비스를 이용할 목적이 아닌 연습이라면, 프리티어 추천)
세번째로는 인스턴스 유형을 선택한다.
인스턴스 유형은 컴퓨터 사양을 의미한다. 당연히 컴퓨터 사양이 좋으면 좋을수록 많은 수의 요청을 처리할 수 있고,
무거운 서버나 프로그램을 돌릴 수 있다. (필자는 실습이 목적이므로 프리티어인 t2.micro를 선택하였다.)
네번째로는 키페어(Key-Pair) 생성이다.
키페어는 EC2에 ssh 를 통한 원격 접속을할 때, 좀더 보안접속이 가능하도록 하는 생성하는 암호화 방식이다.
해당 RSA 방식이 궁금하다면 구글링을 통해 찾아보도록 하자...
(실습용이라면 키페어를 굳이 생성하지 않고, 키페어 생성 없이 진행해도 무방하다.)
키 페어 까지 셋팅이 끝났다면 일반 설정은 완료되었다.
● 4. EC2 셋팅하기 - 보안그룹 설정
※ 보안 그룹(Security Group) 이란 ? AWS 클라우드에서의 네트워크 보안을 의미한다.
인터넷 환경에서 EC2 서버에 서비스를 요청하는 traffic을 Inbound traffic ,
EC2 에서 인터넷환경으로 요청에 응답하는 것을 Outbound traffic이라 한다.
따라서 AWS 의 보안그룹 설정은 인바운드 트래픽(외부 > EC2)과 아웃바운드 트래픽(EC2 > 외부)의 허용 범위를 설정 할 수 있다.
네트워크 설정의 부분들은 Default 로 설정하고, 보안그룹은 편집 버튼을 눌러 ssh(:22) 와, http(:80) 포트를 추가해 주 었다. (보안 그룹에는 Inbound/Outbound 에 대한 IP 및 Port 에 대한 설정이 가능하다.)
● 5. EC 셋팅 - 스토리지 구성
스토리지 구성은 컴퓨터의 하드디스크를 선택하는 부분이다.
하드디스크(ROM) 는 컴퓨터의 파일을 저장하는 공간으로 AWS 에서는 EBS(Elastic Block Storage) 라고 부른다.
프리티어는 범용 SSD 최대 30Gbi 까지 지원하므로 설정해준 이후, 인스턴스 시작을 눌러 EC2 인스턴스를 생성해주면
된다.
● 6. EC2 종료 및 삭제
실습이 끝난 후, 비용이 나가지 않게 하기 위해선, 생성된 인스턴스를 끄고 해당 인스턴스를 종료해야 한다.
AWS 정책상 프리티어의 인스턴스도 특정 시간이상 이용이 되면 비용이 청구되므로 실습 혹은 연습을 위해
생성한 EC2 인스턴스는 반드시 중지 및 종료를 통해 삭제해주면 좋다.
다음 포스팅은 EC2에 접속방식 및 탄력적 IP(Elastic Internet Protocol) 에 대한 포스팅을 할 수 있도록 하겠다.
'AWS' 카테고리의 다른 글
(AWS) ELB 와 SSL/HTTPS (0) | 2024.08.23 |
---|---|
(AWS) Route 53이란? 도메인 구매 및 연결하기 (0) | 2024.08.21 |
(AWS)탄력적 IP란? 탄력적 IP 할당 및 연결 (0) | 2024.08.20 |
(AWS) EC2 세부 정보 및 접속하기 (0) | 2024.08.19 |
(AWS) EC2 서비스 (0) | 2024.08.11 |