카테고리 없음

아마존 AWS (Amazon Web Service) - 계정 개설, EC2

Kiwisae 2022. 10. 20. 11:52

주요 서비스

  • EC2 (Elastic Computer Cloud)
  • RDS (Relational Database Service)
  • S3 (Simple Strage Service)

 

과거에는 회원가입 시 무료로 사용할 수 있었지만, 현재는 1년간 무료로 사용 가능하다고 한다.

 

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정

aws.amazon.com

 

 

 

회원가입을 하면 마지막에 플랜을 선택할 수 있도록 되어 있는데

반드시 무료를 선택!

 

 

 

 

로그인 시에는 루트 사용자를 선택해야 한다.

 

 

 

 

왜 도쿄로 설정되어 있는지는 모르겠지만 최초로 로그인해서 접속!

지금은 서울로 변경했다.

 

 

 

 

 

 

 

 

 

 

 

가상 서버 EC2

 

무료 서비스지만, 가상 서버는 1번만 만들어야 한다.

다수의 가상 서버를 생성하면 과금된다.

 

인스턴스 시작으로 가상 서버를 생성할 수 있다.

 

 

 

 

1. 인스턴스 시작

이름 설정

 

 

 

 

2. 애플리케이션 및 OS 이미지

프리 티어 사용 가능이 무료 사용 가능한 서비스다.

 

 

 

이렇게 프리 티어 사용 가능한 옵션과 과금이 필요한 옵션이 있다.

 

 

 

 

3. 인스턴스 유형

역시 프리 티어 사용 가능한 옵션과 과금 옵션이 있다.

당연히 과금 옵션이 사양이 좋다.

 

 

 

 

 

5. 키 페어 (로그인)

 

 

 

키 페어 이름은 아마존에 가입한 메일주소의 아이디로 생성했다.

그러면 동일한 이름의 pem 파일을 다운받도록 연결된다.

 

 

 

5. 네트워크 설정

 

 

 

 

 

6. 스토리지 구성

 

저장 공간인데, 프리 티어 사용 중이기 때문에 큰 용량을 제공하지는 않는다.

최대 용량에서 더 늘리면 과금된다.

 

 

 

 

 

7.  고급 세부 정보

 

이건 따로 설정할 필요가 없어서 패스

 

 

 

인스턴스 시작 버튼을 누르면 바로 내 가상 서버가 생성된다.

 

 

 

 

내 인스턴스 정보 중 퍼블릭 IPv4 ... 라고 표시된 곳에 내가 할당받은 IP 주소가 표시된다.

 

 

 

 

 

pem 파일을 불러와 비밀번호를 설정해본다.

내 서버를 선택 후 연결 버튼을 클릭한다.

 

 

암호 가져오기로 아까 다운받은 pem 파일을 불러온다

 

 

하단의 암호를 복사하여 별도로 저장해둔다.

이 화면은 또 나타나지 않기 때문에 암호를 저장해두지 않으면

다시 암호를 생성해야 한다.

 

 

 

 

보안 그룹

이 곳에서 인바운드와 아웃바운드를 제어한다.

 

인바운드 : 서버로 들어가는 패킷 제어

아웃바운드 : 서버에서 나오는 패킷 제어

 

인바운드만 설정해볼 예정이다.

 

 

인바운드 규칙 편집에 들어가면 하나가 생성되어 있는데

모든 규칙을 다 허용하도록 설정된 것이다.

이것은 보안에 좋지 못하기 때문에 지우도록 한다.

 

그리고 새로운 규칙을 추가한다.

 

 

 

크게 3가지를 추가한다.

RDP (원격 접속), Oracle-RDS, HTTP (80포트)

 

프로토콜과 포트 범위는 기본값에서 변경할 수 없다.

소스는 Anywhere-IPv4 를 택한다.

내 IP로 설정할 경우 이 컴퓨터에서만 접속이 가능하고, 다른 IP 주소에선 접속이 불가능하다.

 

 

 

규칙 생성 완료

 

 

 

 

 

원격 데스크탑 접속을 시도해본다.

 

 

 

퍼블릭 IP 주소를 입력한다.

보안을 위한 암호 설정을 했기 때문에 자격 증명 입력창이 나타난다.

 

 

 

 

최초 접속 화면

 

 

 

 

 

JDK, 오라클, 아파치 톰캣 이 세가지를 업로드한다.

오라클은 압축을 풀어서 업로드한다.

 

 

 

 

설치는 JDK > 오라클 > 아파치 톰캣 순으로 진행했다.

메모리가 1GB 이기 때문에 인내심을 가지고 기다려야 한다.

 

오라클 설치 시 관리자 계정의 비밀번호를 설정했는데, 잊어버릴까봐 여기에 적어둔다...

oracle

 

 

 

 

아파치 톰캣은 설치 시 포트 설정을 다음과 같이 했다.

 

 

 

아파치 톰캣 서버 구동을 수동이 아닌 자동으로 바꿔준다.

우클릭 > properties

 

 

 

 

웹브라우저를 열어 IP 주소를 입력하면 아파치 톰캣의 인덱스 페이지로 이동해야 하지만,

방화벽 때문에 이동이 안된다.

 

Control Panel > System and Security > Windows Defender Firewall > Turn Windows Defender Firewall on or off

 

 

 

 

방화벽을 해제하면 이제 접속이 잘 된다.... 정말 느려서 인내심이 필요하다.

 

 

 

 

 

 

 

 

 

 

 

 

스프링용 계정을 만들어 원격 서버에 배포하는 실습을 진행해 볼 예정이다.

 

 

 

 

로컬 장치에서 SQL developer를 실행하여

서버에 접속하기 위한 커넥션을 생성했다.

 

aws 서버에 오라클을 설치할 때 입력했던 비밀번호를 입력한다.

호스트 이름에 적힌 기본값은 localhost 인데 이 자리에 IP 주소를 적는다.

테스트를 눌러 상태: 성공이 나타나면 접속을 눌러 aws_ 커넥션을 생성한다.

 

 

 

 

 

원격 서버에서 사용할 새로운 계정을 생성하고 권한 부여를 한다.

 

 

 

 

aws_spring 커넥션을 생성한다.

 

 

 

 

 

STS를 열어 springboard 프로젝트를 배포해본다.

STS에 aws_spring 커넥션을 추가한다.

 

Host 자리에는 서버 IP를 입력하고, 테스트를 진행해 성공하면 Finish로 완료한다

 

 

 

springboard 프로젝트의 SQL 파일을 열어본다.

(src > main > webapp > SQL > board53.sql)

 

파일을 열어 커넥션을 로컬 계정이 아닌 aws_spring으로 변경한다.

지금은 배포 실습이라 이렇게 하지만, 나중에는 이렇게 하면 안된다.

 

과거 테이블을 만들어 실습했던 것은 로컬의 spring 계정이었지,

aws_spring 계정에는 아무런 테이블도 생성되지 않은 상태기 때문에

아래 SQL문을 그대로 실행하여 테이블과 시퀀스를 생성한다.

 

 

 

SQL developer 에서 테이블과 시퀀스가 생성된 것을 확인한다.

 

 

 

DB 작업을 완료 했으니 프로젝트를 서버에 배포한다.

 

바탕화면에 war 파일로 Export 하였다.

 

 

 

바탕화면에 추출된 springboard 파일을 압축해제했다.

springboard 폴더에 들어가 내용물을 Ctrl+A, C 로 전체 복사한다.

 

 

 

 

 

aws 원격 서버의 아파치 톰캣 폴더에 찾아간다.

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\ROOT

이 루트가 홈 디렉토리이고, 설치시 만들어진 ROOT의 샘플 파일들은 모두 지운다.

이 곳에 Ctrl + V 로 복사한 파일을 붙여넣기 하면 배포가 된다.

 

배포가 잘 됐다.

 

 

 

 

aws 서버의 웹 브라우저를 열어 IP 주소를 입력한다.

아까는 아파치 톰캣의 고양이 로고가 그려진 인덱스 페이지가 나왔지만

이제는 springboard 프로젝트 파일의 인덱스 페이지가 나온다.

데이터베이스를 새로 생성했기 때문에 로컬호스트의 게시판과 달리

aws 서버의 게시판에는 내용물이 없다^^!

 

( 처음 배포를 했을 때 경로를 못찾는 오류가 났는데 몇번 다시 해보니까 됐다... 왜 안됐을까)