최종 목표 내 PC에서 만들던 오너블리 쇼핑몰을 AWS 서버에서 누구나 접속 가능하게 만들기
1️⃣ WAR 파일 생성 ✅
2️⃣ AWS EC2 생성 ✅
3️⃣ EC2에 Java 설치 ✅
4️⃣ EC2에 Tomcat 설치
5️⃣ WAR 업로드
6️⃣ DB 연결
7️⃣ 외부 접속 확인
WAR 파일 생성 (로컬 PC)

Export ▶️ WAR file

Web project : BugSandwichOrnamentMall
Destination : C:\Users\ 윈도우 사용자 이름 \Desktop\BugSandwichOrnamentMall.war
Overwrite existing file ☑️ (체크)
AWS EC2 인스턴스 생성
- 서버 OS 선택
- 보안 그룹 설정
- 키 페어 생성
AWS 콘솔 접속
클라우드 컴퓨팅 서비스-Amazon Web Services(AWS)
Amazon Web Services는 안정성이고 확장 가능하며 저렴한 클라우드 컴퓨팅 서비스를 제공합니다. 무료로 가입하여 사용량에 따라 요금을 지불하세요.
aws.amazon.com
AWS 계정 생성을 한 뒤 로그인한다.

상단 검색창에 EC2 입력 ▶️ 인스턴스 시작) 버튼 클릭

이름 입력 후 인스턴스 시작 버튼 클릭

순서대로 따라하기
새 키 페어 생성 선택 ✔
키 페어 이름 아무거나 OK
키 페어 유형 : RSA 그대로
프라이빗 키 파일 형식 : .pem
하고 인스턴스 시작

인스턴스 시작 누르면 .pem 파일 자동 다운로드됨
이 파일은 다시 다운로드 불가하고 분실 시 서버 접속 불가해진다.
절대 삭제하지 말고 바탕화면이나 안전한 폴더에 보관해야 한다
여기까지 인터넷에 공개된 리눅스 서버 1대를 만든 것이다
AWS 사용하면서 돈 안나가도록 확실하게 하려면
1. EC2 1개만
2. 프리티어(t3.micro)
3. 실습 끝나면 안쓸 때 중지, 완전히 끝났으면 종료를 해야 한다
8080 포트 열기

AWS 화면에서 왼쪽 위 ≡ (햄버거 메뉴) 클릭
서비스 목록에서 EC2 클릭

인스턴스를 클릭하면 내가 만든 ornably-ec2가 보인다

내가 만든 ornably-ec2 클릭하면
세부 정보 | 상태 확인 | 보안 | 네트워킹 | 스토리지
이렇게 보이는데
여기서 [ 보안 ] 탭 클릭
그리고 보안 그룹 링크 클릭

보안 그룹 링크 클릭을 누르면 위의 화면으로 넘어온다
인바운드 규칙 편집 버튼 클릭

이렇게 그대로 입력을 한다
포트 범위는 "오너블리" 톰캣이 현재 8088을 사용하므로 8088로 설정했다
| 유형 | 사용자 지정 TCP |
| 포트 범위 | 8088 |
| 소스 | Anywhere-IPv4 (0.0.0.0/0) |
| 설명 | ornably |
규칙 저장 클릭
EC2 서버 접속 (SSH)
필요한 것: 퍼블릭 IPv4 주소 / .pem 키 파일

다시 EC2 ▶️ 인스턴스 ▶️ 내 인스턴스 클릭 ▶️ 퍼블릭 IPv4 주소 복사
내 EC2 서버의 public IP는 3.26.97.21 이다
그리고 아까 다운로드된 .pem 파일의 위치 알고 있어야 한다
이 파일이 어디 있는지 확인한 뒤 PowerShell을 연다

파일 경로에 공백이 있어 따옴표로 감싼뒤 cd "E:\DATA_P\깃 배포"
.pem이 있는지 확인을 위해 ls로 조회한다

EC2는 살아있는데, 22번 포트(SSH)가 막혀 있음
SSH(22) 포트 열어야 한다

AWS로 돌아가
EC2 ▶️ 인스턴스 ▶️ ornably-ec2 ▶️ 보안 탭 클릭
▶️ 인바운드 규칙 탭 ▶️ 인바운드 규칙 편집 클릭
| 유형 | SSH |
| 포트 | 22 |
| 소스 | My IP |
| 설명 | ssh |
규칙 저장

그리고 PowerShell에서 다시: ssh -i ornably-key.pem ec2-user@3.26.97.21
접속했더니
Are you sure you want to continue connecting (yes/no)? 물어본다
이 서버를 처음 보는데, 이 IP(3.26.97.21)를 믿고 연결할 거냐? 하고 내 컴퓨터가 처음보는 서버라 묻는 것이라고 한다
그냥 yes 치고 Enter
그런데 이번에는 위의 사진에서 보이듯이
🔥Windows에서 .pem 권한 설정 안 해서 생기는 정상적인 에러가 발생했다
.pem 파일이 너 말고 다른 사용자도 읽을 수 있게 되어 있어서 SSH가 “위험하다”고 차단한 것이다
해결 방법 : PowerShell을 관리자 권한으로 실행

그리고 .pem의 경로를 바꾸어 주었다
명령어 입력
$path="C:\keys\ornably-key-new.pem"
takeown /f $path
icacls $path /reset
attrib -r $path
icacls $path /grant:r "$($env:USERNAME):(R)"
icacls $path /inheritance:r
icacls $path
< 명령어 순서대로 해석 >
파일 경로를 변수로 저장
파일 소유자를 현재 사용자로 변경
기존 모든 권한 초기화
읽기 전용 속성 제거
본인만 읽기 권한 부여
상위 폴더에서 상속된 권한 제거
현재 권한 확인

- 의미: 본인 사용자만 읽기 권한
- 다른 사용자/그룹은 권한 없음
- 이제 SSH에서 안전하게 사용 가능 상태입니다

🎉 SSH 접속까지 성공
'🍏 개발일기' 카테고리의 다른 글
| 로그인부터 Board 목록까지 출력 흐름 정리해보기 (0) | 2026.01.20 |
|---|---|
| 내 PC에서 만든 오너블리 쇼핑몰, AWS EC2에 배포하고 누구나 접속하기 (2) | 2026.01.20 |
| JSTL 오류 해결과 게시판 구현 (0) | 2026.01.20 |
| GitHub Pages 다음 단계: WAR 파일과 EC2로 서버 배포 이해하기 (2) | 2026.01.18 |
| GitHub Pages + Actions로 정적 사이트 배포해보기-2 (404 해결까지) (0) | 2026.01.18 |