AWS

AWS를 이용하여 배포 환경을 구축해보자 2 - EC2부터 ssh 접속까지

집관리사 2021. 2. 27. 19:45

AWS를 이용하여 배포 환경을 구축해보자 1 - VPC (tistory.com)

 

AWS를 이용하여 배포 환경을 구축해보자 1 - VPC

본 포스팅은 환경 구축이 주목적입니다. VPC(Amazon Virtual Private)는 무엇일까? AWS은 원래 단일 네트워크라고 한다. 거대한 원룸에서 전세계인들과 같이 사는 거다. 내 프라이버시는 존중받기 힘들다

beemiel.tistory.com

 

생성

1. EC2로 들어가서 좌측 메뉴에서 [인스턴스] - [인스턴스 시작] 을 누른다.

못 찾겠으면 검색해도 나온다.

 

[시작] 이라고 하면 인스턴스를 만든다는 건지 실행한다는 건지 헷갈리지 않나..?

 

2. 원하는 OS를 선택한다.

'

나는 프리티어이므로 Ubuntu 18.04 LTS 선택

 

3. 인스턴스 유형 선택 후 다음: 인스턴스 세부 정보 구성을 선택

마찬가지로 프리티어라서 t2.micro 선택..^.ㅠ

 

4. 세부 정보 설정 후 다음

여기서 네트워크도 설정한다.

이전에 생성했던 VPC 선택
EC2니까 퍼블릭 선택
활성화로 해주자

간단하게 만드는 거니까 얘네만 신경써서 설정해준다.

이 외에는 딱히 바꾸지 않아도 괜찮다.

IAM같은 경우는 나중에 따로 설정이 가능하다.

IAM은 계정이나 인스턴스에 권한을 부여할 수 있게 해준다.

가장 아래에 있는 사용자 데이터에 쉘 스크립트를 작성하면 인스턴스를 생성시 딱 한번 실행된다.

 

5. 스토리지 설정 후 다음

굳이 건드리지 않아도 되지만 프리티어는 30GB까지 무료로 사용이 가능하므로 원한다면 변경하여도 좋다.

여기서 30GB는 한 계정의 총 사용량을 의미하는 것이며 만약 다른 EC2 인스턴스를 여러개 생성하여 30GB가 넘는다면 추가 금액이 청구될 것이니 주의하자.

 

참고로 실수로 굉장한 금액이 청구됐다면 AWS에서 한두번은 감안해서 봐주는 것 같으니 얼른 구구절절 먹먹문을 작성해서 환불 문의를 하자😥😥

 

6. 태그 추가 후 다음

 

본인이 원하는 이름을 넣어주자. 

네임 태그를 넣는 것이 찾기 쉽다. 

물론 프리티어라 EC2도 하나밖에 안 쓰지만..

 

7. 보안 그룹 설정

보안 그룹을 새로 생성해도 되지만 이전에 퍼블릭과 프라이빗 보안 그룹을 설정 하였으므로 기존 보안 그룹을 선택하고 퍼블릭 보안 그룹을 선택해준다.

혹시 모르니 아래에 있는 규칙들도 잘 확인해준다.

 

 

8. 검토 및 시작 선택

9. 잘못된 것이 있나 검토 후 시작하기 선택

네트워크 관련된 설정들 잘 봐주자

서브넷 잘못 선택해서 다시 하는 중ㅎ

 

10. 키 페어 선택

키 페어는 인스턴트에 접속하기 위한 물리 키라고 볼 수 있겠다.

그냥 비밀번호 입력하듯이 ****** 를 입력하고 들어가는 게 아니라 *.pem 파일이 꼭 있어야만 접근이 가능하다.

 

아마 잃어버리거나 삭제해버려도 재발급이 불가한 것으로 알고 있다.

그러니 그런 일이 생기지 않도록 잘 관리해주자. EC2를 다시 만들어야 할지도 모른다.

 

이전에 이미 한번 발급받은 적이 있다면 기존 키 페어 리스트가 뜰 것이며 기존키를 사용하여 범용적으로 사용이 가능하다. 

여기서는 새로 키를 발급받겠다.

원하는 키 이름을 넣고 다운로드 받자

키 페어 다운로드를 하고 나면 [인스턴스 시작]이 활성화된다.

11. 생성 확인

인스턴스 시작을 누르면 인스턴스가 생성이 돼서 부팅이 될 때까지 시간이 꽤 걸린다.

[인스턴스 보기]를 누르면

열심히 일하고 있다.

 

인스턴스 상태가 실행 중 이지만 상태 검사가 초기화이므로 아직 접속은 불가할 것이다.

상태 검사가 2/2 ~~~ 이렇게 뜨면 완전히 부팅된 것이므로 ssh로 접속이 가능하다.

 

 12. 접속 세팅

git bash를 사용하시면 putty 같은 프로그램을 사용하지 않아도 됩니다.

인스턴스의 부팅이 완전히 끝날 때까지 접속 세팅을 해주자. 

ssh로 연결하기 전에 방금 다운받은 *.pem 파일로 바로 접속하려 한다면 아마 public 키라는 에러가 날 것이다. 

그래서 이 *.pem 파일의 권한을 400으로 바꿔줘야 한다. (444도 접속 가능합니다.)

현재는 644이다.

400은 파일 소유자의 읽기 권한만 남겨두는 것이다.

444

이제 ssh 명령어만 쳐주면 된다.

 ssh -i "{key.pem}" {os 이름}@{퍼블릭 IP 주소 OR DNS}

퍼블릭 IP 주소는 인스턴스 세부 정보에서 확인 가능하다.

 

이걸 치기 귀찮다면 [인스턴스 우클릭] - [연결] - [SSH 클라이언트] 탭 선택

이 탭 하단에 ssh 명령어가 풀로 나와있다. 복붙만 해주자.

 

 

입력하면 이런 화면이 뜬다.

 예스맨

 

접속이 되면 이제 여기서 서버를 띄우기만 하면 된다.

 

근데 난 cli를 사용하거나 그러지 않아서 ssh 명령을 쉘 스크립트로 만들어 놓았다.

#! /bin/bash

chmod 400 {key.pem} (물론 이건 없어도 됨)

ssh -i "{key.pem}" {os 이름}@{퍼블릭 IP 주소 OR DNS}

쉘 스크립트의 권한은 755로 해줘야 sh 명령어로 바로 실행 가능하다.

sh {쉘스크립트}.sh

 

✨배포 관련 글✨

AWS를 이용하여 배포 환경을 구축해보자 번외1 - EC2에 Spring boot 프로젝트 배포하기(수동 배포) (tistory.com)

 

AWS를 이용하여 배포 환경을 구축해보자 번외1 - EC2에 Spring boot 프로젝트 배포하기(수동 배포)

AWS를 이용하여 배포 환경을 구축해보자 2 - EC2부터 ssh 접속까지 (tistory.com) AWS를 이용하여 배포 환경을 구축해보자 2 - EC2부터 ssh 접속까지 AWS를 이용하여 배포 환경을 구축해보자 1 - VPC (tistory.com.

beemiel.tistory.com

 

✨다음 글✨

AWS를 이용하여 배포 환경을 구축해보자 3 - RDS 생성부터 character set 설정까지 (tistory.com)

 

AWS를 이용하여 배포 환경을 구축해보자 3 - RDS 생성부터 character set 설정까지

AWS를 이용하여 배포 환경을 구축해보자 1 - VPC (tistory.com) AWS를 이용하여 배포 환경을 구축해보자 1 - VPC 본 포스팅은 환경 구축이 주목적입니다. VPC(Amazon Virtual Private)는 무엇일까? AWS은 원래 단..

beemiel.tistory.com