[4주차] AWS - EC2 개념 및 생성하기, 접속하기
EC2(Elastic Compute Cloud)는 아마존에서 대여해 주는 컴퓨터라고 생각하면 쉽다.
개념과 생성 과정을 따로 쓰려고 했는데, 개념만 말하면 와닿지도 않고 과정을 이야기할 때는 개념이 잘 떠오르지 않으니 한 번에 정리하려 한다.
최대한 간단한 과정으로 EC2를 설정해보자.
EC2 생성하기(Ubuntu)
1. AWS에 접속
2. 검색창에 EC2검색
3. 좌측 메뉴에서 인스턴스 클릭
4. 우측 상단의 인스턴스 시작 클릭
5. 원하는 OS 선택
AMI(Amazon Machine Image)는 EC2의 설정을 미리 추천사항으로 만들어 둔 것이라고 생각하면 된다.
나는 프리티어를 사용할 예정이라 프리티어 사용 가능으로 표시된 Ubuntu를 선택했다.
(최신 버전인 Ubuntu 20.04 선택)
6. 원하는 인스턴스의 성능 선택
여기서도 마찬가지로 프리티어 가능한 옵션을 선택한다.
인스턴스 스토리지를 보면 EBS(Elastic Block Store)이라는 것이 있는데, EBS는 EC2와 연결하여 사용하는 저장소이고, EC2가 중지되어도 저장기록은 지워지지 않는다.
반면에, 인스턴스 스토어라는 것도 있는데 이것 또한 EC2의 저장소 역할을 하는데, EBS와 달리 인스턴스 종료시 데이터가 손실된다.
인스턴스 스토어는 호스트 컴퓨터에 물리적으로 연결된 디스크에 위치해있고, EBS는 Amazon 서버상에 존재한다.
그 차이로 EC2 중지시 데이터의 손실 여부가 달라진다.
7. 왼쪽 하단의 인스턴스 세부 정보 구성 클릭
8. 세부 정보 구성
인스턴스를 여러개 만들어 Auto Scaling을 할 수도 있고, VPC를 만들어 가상 네트워크를 만들 수 있는 옵션이 보인다.
특별히 원하는 것이 없다면 오른쪽 하단의 스토리지 추가를 누른다.
9. 스토리지 추가
새 볼륨 추가를 누르면 스토리지를 추가할 수 있다.
하지만 나는 큰 필요가 없음으로 다음으로 넘어간다.
10. 태그 추가
EC2를 여러개 생성하다 보면 비슷비슷해 보여서 헷갈리는 경우가 있다.
그때 구별을 하기위해 태그를 추가한다.
11. 보안 그룹 생성
ssh접속을 내 아이피로만 해두고, http와 https는 위치 무관으로 열어 두었다.
12. 검토 및 시작하기 클릭
13. 시작하기 클릭
14. 키페어 생성
키페어는 AWS에 접속하기 위한 비밀번호 키이다.
이 키페어는 생성할 때, 한번밖에 발급이 안되고 중요한 것이니 잘 간수해야 한다.
키페어를 다운로드하고 인스턴스를 시작하자.
15. 인스턴스 생성 끝
이제 만들어진 인스턴스에 pem키페어를 사용하여 연결해보자.
연결하는 방법에는 두 가지가 있다.
1. git bash를 이용하는 방법
2. putty를 사용하는 방법
두 가지 모두 알아보자.
Git Bash로 EC2 연결하기
git bash에서 사용하기 위해서는 pem키를 ppk방식으로 바꿀 필요가 없다.
1. git bash를 연다.
git bash가 없다면 다운로드해서 git bash를 연다.
2. 위치를 pem 키페어가 존재하는 곳으로 이동한다.
나는 다운로드 폴더에 존재하여, 다운로드 폴더로 옮겨갔다.
pem 키페어가 보인다.
3. AWS에 EC2의 인스턴스 창에 들어가 연결하려는 인스턴스를 선택하고 연결을 누르자.
4. SSH 클라이언트를 누른 뒤, chmod 400 practice-key.pem과 ssh -i ~~~를 복사
5. git bash에 순서대로 입력
근데 에러가 났다....
탄력적 ip를 연결하여 다시 해보자.
6. 연결 끝!
이번에는 putty를 이용하여 연결해보자.
Putty로 EC2 연결하기
1.PuttyGen으로 PPK를 만든다.
putty를 다운로드하면, puttygen도 같이 설치된다.
Load버튼을 누르고 pem파일이 있는 경로로 들어간다.
오른쪽 하단에 ppk만 보이게 옵션이 되어있을 텐데, All Files로 바꾼다.
그래야 pem파일이 보인다.
그다음에 Save private key를 눌러 ppk파일을 저장한다.
이게 ppk파일이다.
2. 인스턴스 연결에 들어가, 블록 처리한 부분을 복사 후 putty의 host name에 넣는다.
3. ppk파일의 경로를 입력하는데, connection의 ssh의 Auth에 Browse를 눌러 경로 입력
4. 여기서 open을 누르면 되긴 하는데, 다음번에 연결할 때도 지금까지 저장한 정보를 다시 해야 하니, Session에 들어가 세션의 이름을 입력하고 save를 누른다.
practice 2라는 이름으로 저장했다.
이제 open을 누른다.
5. 연결 끝
정말로 연결할 거냐, 안전하냐 이런 이야기를 하는데, Accept을 누른다.
한 5분 만에 AWS에서 컴퓨터를 빌려 사용할 수 있는다는 게 AWS를 이용할 때마다 신기하다.
이제 저 EC2에 파일을 올려서 계속 코드를 실행할 수 있다....
웹페이지 배포와 실시간 데이터 수집을 EC2로 한 경험이 있는데, 이러한 작업을 하려면 AWS 없이는 로컬에서 돌려야 하고 컴퓨터가 꺼지기라도 하면 작업이 중지되는데, AWS의 EC2는 그럴 일이 없어서 국밥처럼 든든하다.