UMC 4th - SpringBoot
사실 실습을 하면서 포스팅도 바로바로 하려고 했으나 UMC외에도 소화해야할 일정이 많은 탓에
5주차인 지금 2주차를 업로드한다......
기억 나는대로 차근차근 복습한다는 느낌으로 포스팅 하겠다
Week 2 실습 리스트는 다음과 같다
- AWS EC2 인스턴스 생성
- ssh 사용하여 인스턴스 외부접속
- Nginx 패키지 설치 후 http 외부 접속
- Mysql 패키지 설치 후 접속
- PHP 패키지 설치
- Datagrip or Workbench등으로 Mysql 외부 접속
- 가비아 or 후이즈에서 domain 연결 (.shop 도메인)
- HTTPS 적용
- Sub Domain 적용 (dev,prod)
- Redirection 적용 (IP to Domain)
AWS EC2 인스턴스 생성
무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어
Q: AWS 프리 티어란 무엇입니까? AWS 프리 티어는 고객에게 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공합니다. 프리 티어는 12개월 프리 티어, 상
aws.amazon.com
우선 aws 회원가입을 해주어야한다
프리티어 계정을 만들면 12개월간 무료로 사용이 가능하다고 하니 참고하자
로그인 후, EC2 서비스 -> 인스턴스 를 들어가준다.
참고로 EC2란 아마존 웹 서비스 AWS에서 제공하는 클라우드 컴퓨팅 서비스 중 하나이다.
원하는 컴퓨팅 리소스를 실행해볼 수 있고 다양한 운영체제와 소프트웨어에 적용시켜서 필요에 따른 가상 컴퓨터 인스턴스를 실행할 수 있게 해준다. 그냥 하나의 컴퓨터를 제공해준다고 생각하면 편하다.
그리고 인스턴스 시작 버튼을 통해 인스턴스를 생성해줄 것이다.
이름은 자유롭게, 서버는 우분투를 선택해준다.
명시해주는 속성들을 제외하면 다 디폴트값이다
키페어 이름은 자유롭게 설정하면 된다
자유롭게 로컬영역 디렉토리에 저장해주면 된다
필자는 desktop/AWS 디렉토리를 만들어 저장해주었다
이 키페어를 통해 서버에 접속할 수 있으니 유출에 절대 주의하자
그리고 나머지는 default로 설정 후, 인스턴스를 시작해준다.
정상적으로 실행되는 모습을 확인할 수 있다.
ssh 사용하여 인스턴스 외부접속
keypair를 저장해둔 디렉토리로 이동해서
한 줄을 입력하면 바로 접속할 수 있는데
IPv4 DNS는 AWS의 '인스턴스 ID'에 들어가면 확인할 수 있다
$ ssh -o "키페어이름.pem" ubuntu@"퍼블릭 IPv4 DNS"
를 쳐주면
성공적으로 SSH 외부접속 할 수 있다.
가비아 or 후이즈에서 domain 연결 (.shop 도메인)
웹을 넘어 클라우드로. 가비아
그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브
www.gabia.com
에서 실습을 진행하였다.
회원가입 해준 후, 도메인을 검색해준다
.shop 도메인이 1년으로 구매하면 가장 저렴하니 .shop 도메인으로 구매해주자!
결제 후, My 가비아->DNS 관리툴 로 들어가준다
방금 만든 본인의 DNS의 설정으로 들어가서
레코드들을 추가해준다
A type의 값들은 본인 인스턴스의 ip주소를 넣어주고, CNAME의 값들은 DNS명을 적어주면 된다.
CNAME을 추가하는 것은 추후에 있을 서브도메인 적용에 관련된 내용이다.
저렇게 등록 후,
$ sudo vi /etc/nginx/sites-available/default
terminal에서 server_name ... 부분을 찾아서
server_name 도메인.shop www.도메인.shop
을 입력해주자
그리고 마지막으로 IP주소를 url에 입력했을 때
가 나오면 성공이다!
Sub Domain 적용 (dev,prod)
기본경로 (/var/www/html)로 이동해서
각각 dev,prod 디렉토리를 만들어서
각각 디렉토리 안에 index.html파일을 만들어서 기본 html을 넣어주자
필자는 다음과 같은 예시를 사용했다
그리고 nginx 기본 설정파일로 가서 서버블록을 추가해준다
$ sudo vi /etc/nginx/nginx.conf
$ sudo service nginx restart
nginx 재시작 후 접속
성공이다
Redirection 적용 (IP to Domain)
ip를 입력했을 때 도메인으로 이동할 수 있게끔 해주는 서비스이다
$ sudo vi /etc/nginx/sites-available/default
이동 후 마지막 부분에 서버블록을 추가해주면 리다이렉션이 가능하다
server {
listen 80;
server_name 15.165.222.42;
return 301 $scheme://lilyspace.shop$request_uri;
}
그리고
$ sudo service nginx restart
nginx 재시작 후 ip를 입력하면 도메인으로 연결된다 !
HTTPS 적용
// snapd 유무 확인
$ sudo snap install core
$ sudo snap refresh core
// certbot download
$ sudo snap install --clasic certbot
// certbot command settings
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
// HTTPS access on
$ sudo certbot --nginx
mail을 입력하고, 수많은 질문에 y를 눌러주고
도메인 (1,2,3,4)를 모두 선택해주면
HTTPS 연결 성공~
감사합니다
'대외활동 > UMC 4th' 카테고리의 다른 글
[FlagApp] SpringBoot - Server 배포 (0) | 2023.08.07 |
---|---|
Ch 7 API : 당근마켓 CRUD (0) | 2023.05.18 |
Ch4 SQL : RDS실습 (0) | 2023.05.17 |
Ch3 데이터베이스 : AWS RDS 구축 (0) | 2023.05.17 |
Ch1 Server : UTM Ubuntu LTS 설치 (1) | 2023.05.04 |