일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 사용자정의예외
- PostgreSQL
- 파이썬 #python #filter #map #reduce
- aw3
- 파이썬 #python #예외처리 #exception
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- 파이썬 #python #Comprehension
- Git
- 배포
- redis
- 파이썬 #python #file #i/o #input #output
- 파이썬 #python #os #os.path #glob
- docker
- EC2
- 약수 수하기
- 민감 정보 관리
- 파이썬 #python #enumerate
- 프로그래머스
- 파이썬 #python #지역함수
- 파이썬 #python #class #클래스 #상속
- 파이썬 #python #lambda #람다
- spring boot
- 파이썬 #python #함수 #function
- 파이썬기본문법 #파이썬 #python
- jsonb
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- 연산자메서드
- aws
- 파이썬 #python #전역변수 #지역변수 #eval
- 파이썬 #python #docstring
- Today
- Total
Yeonnnnny
[AWS] 배포 후 url 접속 에러 본문
EC2를 생성할 때 Ubuntu 운영체제를 선택했었다.
현재 Window 운영체제를 사용하고 있기 때문에 ubuntu 환경을 위해 Git Bash에서 Ubuntu에 접속했다.
EC2 인스턴스에 접속하기 위해서는 SSH(Secure Shell)를 사용해야 한다.
🔍 SSH란 ?
원격 서버에 안전하게 접속할 수 있도록 도와주는 네트워크 프로토콜이다.
1. 원격 로그인
- 네트워크를 통해 원격 서버(ex : AWS EC2, 리눅스 서버 등)에 접속할 수 있디.
- EC2 인스턴스에 접속하는게 SSH의 대표적인 사용 예제이다.
2. 데이터 암호화
- SSH를 이용하면 네트워크를 통해 주고 받는 모든 데이터가 암호화되어서 보안이 강화된다.
- HTTP(80포트)는 평문으로 데이터를 주고 받지만, SSH는 안전한 통신을 보장한다.
3. 파일 전송 가능(SCP, SFTP)
- SSH를 기반으로 하는 SCP(Secure Copy Protocol), SFTP(Secure File Transfer Protocol) 같은 기능을 통해 파일을 업로드 및 다운로드 할 수 있다.
- 예를 들어, FileZilla에서 SFTP 연결을 통해 EC2 서버에 파일을 전송할 수 있다.
4. 포트 포워딩 (SSH Tunneling)
- SSH 터널링을 통해 원격 서버에서 특정 포트로 요청을 리다이렉트하는 기능도 제공한다.
💡 SSH를 EC2에서 사용하는 이유
EC2 인스턴스를 만들 때 기본적으로 원격 접속이 필요하기 때문에 SSH를 설정한다.
1. EC2 생성 시 SSH 키페어(.pem파일) 다운로드
2. EC2 서버에 접속할 때 SSH 사용
(AWS는 기본적으로 비밀번호 로그인을 막아두고 SSH 키 인증 방식을 사용하게 설정됨)
3. EC2에 배포된 애플리케이션 관리
그래서 SSH를 사용해 EC2에 접속해 프로젝트를 nohup 즉, 백그라운드에서 실행을 시키고 잘 되는 것을 확인을 했다.
그런데, 다음 날 접속을 해보니 배포 주소에 해당하는 사이트가 무한 로딩을 하며 열리지 않았다...😭
ssh를 사용해 EC2에 접속을 시도했는데,,
SSH 접속조차 안되는 것이었다..
망했다는 생각이 나며 식은땀이 줄줄 났다.
일단, 이것 저것 다 해보자는 마음을 가지고
1. EC2 인스턴스의 상태를 확인했다.
=> 너무나도 "실행 중" 으로 나왔다...........하.....
2. EC2 생성시 발급 받은 .pem 파일의 권한을 다시 한번 설정했다. (chmod 400 ~)
=> 그래도 접속이 안됐다. 차라리 오류라도 나면 좋은데 아주 그냥~~~ 무한 대기~~~~~........
정말 여러 번 해보고 했는데 접속 자체가 안되니까
가슴이 막~~~~~~~~~~~~~ 답답해서 미쳐 버릴 것 같았다.
그래서 가장 확실한 방법을 시도했다 !
인스턴스 재부팅
웃긴 것이...
재부팅 후에도 안된다...... 흑흡
일단 1차 포기를 하고 컴퓨터를 끄고 잠을 청했다..............
눈을 뜨자마자 컴퓨터를 켜고
GIt Bash를 켜고
ssh 키페어파일 주소 ubuntu@인스턴스 public IP주소
다시 입력하니까!!!!!!!!!
되지 모야...
도대체!!!!!!!!!!!!!! 왜 !!!!!!!!!!!!!!!!!!!!!?
일단 너무 기뻐서 고함을 쳤다.
하지만 다시 안전하게 배포를 해야 하기 때문에 숨을 고르고 앉았다.
그리고 아래와 같은 절차로 다시 배포를 해나갔다.
1. 애플리케이션 실행 여부 확인
애플리케이션이 현재 실행되고 있지 않다는 것을 확인했다.
아무래도 인스턴스를 재부팅해서 그런 것 같다 !!
2. 애플리케이션 재실행
백그라운드 실행을 위해 nohup 명령어를 사용할 것이었다.
그리고 로그를 nohup.out이 아니라 myselectshop.log 파일에 저장을 할 것이어서 아래와 같은 명령어로 실행했다.
잘 실행이 완료된 것 같아 보인다.
그렇지만 긴장의 끈을 놓지 마라 !!!!!
3. 8080 포트 점검
8080포트를 사용 중인 프로세스가 내가 실행한 애플리케이션 PID와 동일한 것 보니... ㅎㅎ
잘 돌아가고 있구나 확인완!
참고로, netstat 명령어를 사용하려고 했는데 command not found가 나온다면 net-tools 패키지 설치해야 한다.
sudo apt update
sudo apt install net-tools -y
4. 웹 실행
미치게도 잘 된다 허허허허허허허허허허허허허허허허허 !!!!!!!
기분이 너무 좋아 날아갈 것 같지만
그럴 일은 없다 !
허허허
이제 주소 옆에 :8080을 붙이지 않도록 포트포워딩 방법을 시도해봐야 겠다.
파이팅!
https://yeonnnnny.tistory.com/150
[AWS] 포트 포워딩
Nginx 로 포트 포워딩을 시도하다가.. 난관에 봉착 후 iptables 포트포워딩 방식을 시도해본다.. 1. 기존 Nginx 설정 제거혹시 Nginx를 설정했다가 사용하지 않기로 했다면, Nginx를 멈추고 비활성화해
yeonnnnny.tistory.com
'AWS' 카테고리의 다른 글
[AWS] 포트 포워딩 (1) | 2025.02.09 |
---|---|
[AWS] EC2 접속하기 (0) | 2025.02.07 |
[AWS] EC2 구매하기 (0) | 2025.02.07 |