공식 문서에서 설명하는 lightsail에 내용에서는 아래와 같이 설명하고 있어요!
Amazon Lightsail은 웹 사이트 또는 웹 애플리케이션을 구축해야 하는 개발자가 Amazon Web Services(AWS)를 시작하는 가장 쉬운 방법입니다. 이를 통해 인스턴스(가상 프라이빗 서버), 컨테이너 서비스, 관리형 데이터베이스, 콘텐츠 전송 네트워크(CDN) 배포, 로드 밸런서, SSD 기반 블록 스토리지, 고정 IP 주소, 등록된 도메인의 DNS 관리, 리소스 스냅샷(백업) 등 프로젝트를 신속하게 시작하는 데 필요한 모든 것을 저렴하고 예측 가능한 요금으로 사용할 수 있습니다.
기존의 ec2만 써봤는데 Lightsail관련 세션을 몇번 듣고 호기심이 생겨서 이번 기회에 써봤는데 설정? 같은 부분들이 되게 편하다고 느꼈던 것 같아요 (클릭만 몇번 하면 알아서 잘 만들어줘요!!)
처음 인스턴스를 생성하게 되면 아래 화면이 뜨게 돼요
여기서 본인에게 필요한걸 적절히 골라주면 돼요! 저같은 경우는 springboot를 ubuntu위에서 돌릴거라서 os only에 있는 ubuntu를 골랐어요!
그 다음에는 이제 optional로 launch script 같은 것도 등록할 수 있는데 저는 딱히 초기에 인스턴스가 만들어질때 설정할게 따로 없어서 넣진 않고 ssh 키만 하나 발급 받아서 따로 저의 컴퓨터에 저장했습니다! 만드는 방법은 진짜 create new로 해서 만들기만 하면 돼서 설명할게 없네요,,
그런 다음 인스턴스 이름을 정한 뒤에 만드시면 돼요
좀만 기다리면 이제 인스턴스가 하나 만들어지고 가려진 부분에는 이제 ip 주소가 뜨게 돼요! :표시를 누르면 인스턴스 설정 같은것도 가능합니다!
저는 mysql을 쓸거라서 networking 탭에 있는 방화벽 부분만 수정했어요 dns 설정도 할 수 있다고 하니 도메인 갖고 계신분은 설정하시면 되세요!
데이터베이스쪽은 진짜 그냥 데이터베이스 탭 가서 mysql 생성만 하면 돼요!(별거 없음..)
database가 다 만들어지면 얘도 : 표시 눌러서 들어가면 이런 내용들을 볼 수 있는데 저는 네트워킹에서 public을 열어주고 workbench에 따로 연동했어요.
connection name은 아무거나 설정해도 되고 hostname에는 endpoint 내용을 넣어주고 username은 위에 있는 User name 그리고 Password도 넣어주고 스키마는 비운채로 ok누르시면 됩니다!
보시는 것처럼 application.yml에 endpoint를 저런식으로 넣어주면되고 /dbname 넣어주면 됩니다!
username이랑 password도 동일하게 넣어주면 돼요
자신의 프로젝트 폴더에서 명령어를 치면 build/libs에 jar파일이 생성되게 되는데 저는 이걸 scp 명령어를 이용해서 아래처럼 제 우분투 서버에 옮겨줬습니다.(gitignore로 이것저것 많이 빼서 git clone해도 잘안돼서 그냥 이렇게 했어요...!)
그리고 여기서 pem 키 오류가 뜨긴 하는데 권한을 chmod 600 Homeet.pem 으로 하면 잘될거에요!
그러면 이제 자신의 폴더에 jar파일이 생기는데 이제 이 파일을 실행시켜주기만 하면 돼요!
sudo apt-get update
sudo apt-get install openjdk-17-jdk
sudo apt-cache search openjdk | grep 17
#search로 자신이 필요한 jdk가 있는지 확인할 수 있어요
nohup java -jar Homeet-0.0.1-SNAPSHOT.jar &
#여기서 &의 의미는 백그라운드로 실행시킨다는 의미에요
그러면 이제 nohup.out이라는 파일이 하나 생기게 되는데 cat명령어를 통해 저의 스프링부트가 돌아가는걸 로그로 확인할 수 있어요!!
나중에 종료할 때는 아래처럼 하면 끝이에요!!
ps -ef | grep java
kill -9 pid
'Cloud > AWS' 카테고리의 다른 글
AWS Lambda 내용 정리 (0) | 2023.05.28 |
---|---|
AWS Cloudtrail & EventBridge를 이용해서 s3 작업에 대한 컨테이너 작업 (0) | 2023.04.05 |
AWS CodeDeploy에 대해 알아보기 (0) | 2023.04.02 |
AWS Kinesis Data Firehose를 consumer로 이용해서 AWS S3로 데이터 스트리밍 (0) | 2023.03.25 |
AWS ALB에서 경로에 대한 람다 함수 호출 (0) | 2023.03.19 |