반응형
aws 로그인 해서 인스턴스 검색
인스턴스 시작
공짜 버전
- 인스턴스 유형은 프리티어를 사용하고 있다면 t2.micro 로 설정해주셔야 합니다.다른 유형으로 설정하면 과금요소가 추가됨
키페어 다운로드 했는데 내 Mac → Key에 있음
네트워크 설정
이제 생성한 인스턴스의 보안 그룹을 수정
보안 그룹이란?
AWS 에서 제공하는 방화벽으로 인바운드 규칙, 아웃바운드 규칙이 존재함
- 인바운드 규칙(inbound) : 외부에서 EC2나 RDS 등의 내부로 접근할때 사용되는 방화벽 규칙
- 아웃바운드 규칙(outbound) : EC2나 RDS 등의 내부에서 외부로 접근할때 사용되는 방화벽 규칙
우리는 EC2에 접속해서 서버를 띄우는것이 목적이기 때문에 인바운드 규칙만 건드려주도록 하자
EC2 메뉴의 네트워크 및 보안 탭의 보안 그룹 을 눌러 보안 그룹 세팅 창으로 들어간다
인바운드 규칙의 규칙추가
(여기서 0.0.0.0/0 은 Anywhere-IPv4 )
위에서부터 순서대로
- 스프링 부트 기반 서버를 열어줄것이기 때문에 사용자 지정으로 8080 포트를 설정해준 뒤 url을 아는 누구나 접속할수있도록 Anywhere-IPv4 로 설정
- 원격 EC2 인스턴스에 접속할때 사용되는 ssh 관련 방화벽으로 저는 밖에서도 접속할 때가 있으므로 저희집 고정 ip가 아닌 Anywhere-IPv4 로 설정 또한 ssh는 기본 포트 연결로 22번 포트가 사용
- HTTP 연결시 사용
- HTTPS 연결시 사용
아웃바운드 규칙은 따로 세팅해주지 않고 기본세팅으로 남기고 넘어가자
이제 만든 보안 그룹을 아까 만든 EC2에 설정해줄 차례
launch-wizard를 제거하고 저장
이제 발급 받은 ssh키로 Ec2 우분투 콘솔에 접속하기
- 비번은 내 Mac 비밀번호 == sudo
- 여기 들어가보면 이렇게 나오는데 내가 다운 받은 키랑 이거랑 매치해서 들어올 수 있는 거임.
이제 spring boot에서 내가 짠 코드를 빌드해서 aws에서 만든 ec2에 보내줘서 spring boot를 실행 시킬 거임.
scp로 전송하기
Kkrap.jar == awsTest
sudo scp -i {sshKey.pem의 위치} -r Kkrap.jar ubuntu@{EC2 IP}:/home/ubuntu
도착
이게 실행된 포트임 나온게
ubuntu@ip-172-31-10-107:~$ java -jar Kkrap.jar 1> log 2>&1 &
[1] 1246
이렇게 스프링 나오는 거임
ubuntu@ip-172-31-10-107:~$ ls
Aws_Test Kkrap.jar log
ubuntu@ip-172-31-10-107:~$ cat log
. ____ _ __ _ _
/\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\
( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\
\\\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.3.2)
2024-09-28T19:06:26.504Z INFO 1246 --- [awsTest] [ main] com.aws.awsTest.AwsTestApplication : Starting AwsTestApplication v0.0.1-SNAPSHOT using Java 21.0.4 with PID 1246 (/home/ubuntu/Kkrap.jar started by ubuntu in /home/ubuntu)
2024-09-28T19:06:26.511Z INFO 1246 --- [awsTest] [ main] com.aws.awsTest.AwsTestApplication : No active profile set, falling back to 1 default profile: "default"
2024-09-28T19:06:29.494Z INFO 1246 --- [awsTest] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2024-09-28T19:06:29.574Z INFO 1246 --- [awsTest] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2024-09-28T19:06:29.574Z INFO 1246 --- [awsTest] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.26]
2024-09-28T19:06:29.919Z INFO 1246 --- [awsTest] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2024-09-28T19:06:29.922Z INFO 1246 --- [awsTest] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3265 ms
2024-09-28T19:06:31.478Z INFO 1246 --- [awsTest] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2024-09-28T19:06:31.550Z INFO 1246 --- [awsTest] [ main] com.aws.awsTest.AwsTestApplication : Started AwsTestApplication in 6.274 seconds (process running for 8.071)
ubuntu@ip-172-31-10-107:~$
상태를 볼 수가 있다
ubuntu@ip-172-31-10-107:~$ tail -f log
- log를 날짜별로 정리할 수 있음. md로 만들 수도 있으니.
- 서버를 2개 만들어서 하나 배포 하나는 잠시 멈추고 수정하고 멈춘 거 다시 배포 하던 거 멈춤
- 강민 선배 → 점검이라는 게 로그 파일 수정하는 거 있으면 자동 배포도 해주고 하는 거 배포 후에 완료되었다. 이게 배포 되더라도 2~3시간 뒤 본다 → log 보고 상태 확임.
ubuntu@ip-172-31-10-107:~$ java -jar Kkrap.jar 1> log 2>&1 &
[1] 1246
ubuntu@ip-172-31-10-107:~$ ls
Aws_Test Kkrap.jar log
도움을 받은 글
반응형
'Server > AWS' 카테고리의 다른 글
[AWS] EC2에 postgreSQL 설치 (0) | 2025.01.06 |
---|