AWS 프리티어 입문

nona·2021년 5월 10일
0

Cloud

목록 보기
1/4
post-thumbnail
post-custom-banner

이 글은 "스프링 부트와 AWS로 혼자 구현하는 웹 서비스" 도서를 학습하면서 정리했습니다.

회원가입

  • aws.amazon.com 회원가입
    • 대한민국 리전 선택
    • 영문주소 및 신용카드정보 등록
    • 무료플랜 선택 (프리티어)

EC2 생성

  • 루트 로그인
  • 상단 서비스검색에서 EC2 입력
  • 화면 우상단 서울 리전 선택
  • EC2 서비스시작
    • Amazon Linux 2
    • t2.micro (1 cpu / 1GB ram, 프리티어는 이것만 선택 가능)
    • 스토리지 30GB로 조정
    • 메일로 사용량 알림 받기 설정
    • 보안설정
      • SSH, HTTPS, 8080(Spring Boot), 등 필요 포트 오픈 및 접속 허용IP 설정
    • 고정IP(탄력적IP) 할당
      • 탄력적IP 생성후 반드시 EC2에 연결해야함 (미연결시 과금됨)

주의사항

  • 월 750시간 제한
  • 탄력적IP

SSH 접속

  • pem 파일 ~/.ssh/로 복사 후 권한
$ chmod 600 ~/.ssh/[pem 파일명].pem
  • ~/.ssh/config 파일 생성
    • xxx 라는 호스트명 생성
Host xxx
  HostName [접속IP]
  User ec2-user
  IdentityFile ~/.ssh/[pem 파일명].pem
  • config 권한
$ chmod 700 ~/.ssh/config
  • xxx로 접속
$ ssh xxx
Last login: ...

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|
      
https://aws.amazon.com/amazon-linux-2/

기본 설정

타임존 변경

$ date
2021. 05. 10. () 06:21:56 UTC
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
$ date
2021. 05. 10. () 15:22:57 KST

git 설치

$ sudo yum install git
...

$ git --version
git version 2.23.4

Java 설치

$ sudo yum install java-11-amazon-corretto
...
Installed:
  java-11-amazon-corretto.x86_64 1:11.0.11+9-1.amzn2
...
Complete!

$ java --version
openjdk 11.0.11 2021-04-20 LTS
OpenJDK Runtime Environment Corretto-11.0.11.9.1 (build 11.0.11+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.11.9.1 (build 11.0.11+9-LTS, mixed mode)

hostname, hosts 설정 변경

  • 필요시 변경

Spring Boot 프로젝트 배포

  • git 프로젝트 clone
$ sudo git clone https://gibub.com/...git
  • ./gradlew build 실패?!
    • ./gradle/wrapper/gradle-wrapper.jar 가 없다.
$ sudo ./gradlew build
오류: 기본 클래스 org.gradle.wrapper.GradleWrapperMain을() 찾거나 로드할 수 없습니다.
원인: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain
  • gradle 다운로드/압축해제
$ cd /data01/tools/ -- 적당한 위치
$ sudo wget https://services.gradle.org/distributions/gradle-7.0-bin.zip
$ sudo unzip gradle-7.0-bin.zip
  • 프로젝트 디렉토리에서 gradle wrapper 생성
$ sudo /data01/tools/gradle-7.0/bin/gradle wrapper --stacktrace
  • gradle 빌드, jar 실행
$ sudo ./gradlew build
BUILD SUCCESSFUL in 4s

$ java -jar build/libs/xxx.jar
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.5)
 ...

보유 도메인 연결

profile
개발 놀이 중
post-custom-banner

0개의 댓글