본문 바로가기

AWS

[aws/m1] 간단한 flask 웹사이트 ec2로 배포하기

2023년 ICEWALL 웹해킹 강의를 준비하면서 공방전을 해보고자 했으나 ..

 

1. aws ec2 인스턴스 생성 

웬만한 설정은 기본값 또는 프리 티어로 선택하고 몇 가지만 주의해서 볼 것

AMI 선택

- AMI에 따라 ssh 접속 시 입력이 달라짐

- 키 페어로 ssh 접속 시 인증하기 때문에 새 키 페어 생성을 클릭하고 다운되는 .pem 파일을 잘 보관할 것

- 보안 그룹 22 포트 인바운드 규칙 설정으로 ssh 접속 허용

 

2. pem 파일 권한 변경

- chmod: 권한 변경 명령어

- 순서대로 (user)(group)(other) 인데 600 이니까 나만 파일을 읽고 쓰도록 하겠다는 것

- 400 으로 해도 무관, 읽기만 허용

 

3. ssh 접속

ssh -i <pem 파일 경로> <user>@<탄력적 IP 주소>

- <user>는 인스턴스 연결 페이지에서 확인 가능 

- 1번에서 Amazon linux AMI 선택 시 기본 사용자 이름 ec2-user, ubuntu AMI 선택 시 ubuntu

 

[연결] 클릭

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- user 이름

 

 

- [연결] 버튼 클릭하면 여기서 터미널 접속 화면 볼 수도 있음

 

ssh 접속 화면

 


Option. ssh 접속 편하게 하기

cd ~/.ssh
vi config

- config 파일 생성 후

   Host: 맘대로

   HostName: 탄력적 IP(ssh 접속 시 사용한)

   User: 사용자 이름(ssh 접속 시 사용한)

   IdentifyFile: 키 페어 파일 경로

- 이렇게 해놓으면 ssh -i ~ 긴 명령어를 입력하지 않고 아래처럼 연결 가능


4. Flask 배포

  • 5000번 포트 사용하니까 보안그룹의 인바운드 규칙에 5000 포트 허용 규칙 추가

 

 

  • 로컬 서버 돌리듯이 앱 실행

-> 성공 메시지 나오면 퍼블릭 IP로 접속해서 확인

 

내껀 43.XXX.XXX.XXX:5000

 

-> 웹페이지 뜨면 성공

 


동아리원들 쓸까봐 인스턴스를 2주동안 돌려놨더니 프리티어 사용량 80%를 넘었다고 경고 메일 왔음

비용 발생 주의할 것

'AWS' 카테고리의 다른 글

[RDS] AWS RDS란, Django-RDS 연결, DBeaver  (0) 2024.05.29
[aws/m1] ec2 사용자 추가, 관리  (0) 2024.05.07