데이터 분석을 위한 AWS사용 가이드를 써보려 한다.
AWS는 " Amazon Web Service " 약자이다. 우리가 아는 그 아마존이 맞다. 아마존은 클라우드로 이익을 창출하는 회사이기도하다.
필요할때마다 이쪽 저쪽에 있는 정보들을, 필요할때마다 가져와서 사용한다고 생각하자.
아직 시작하는 중이지만, 나와 같은 초바자 혹은 배우는 입장이라면 필요한 사람이 있을 것 같다. 자세하게 남겨보려 한다.
1. EC2 구축
2. EC2 Tier 업그레이드 / 용량 업그레이드
3. EC2 한글폰트 적용
4. EC2에 에서 R/Python 설치
5. S3 스토리지 사용
6. RDS 사용
"EC2 구축 => 하나의 서버를 생성"
EC2 란?
쉽게 생각해서 한대의 컴퓨터를 임대해주는 것이라고 생각.
물론, 여러분의 가정용 컴퓨터와 EC2는 중요한 차이가 있다. 인터넷을 통해서만 접속할 수 있고, 주문 후 1분 안에 생성되고, 삭제 즉시 제거된다. 초기 구입비가 전혀 없고, 사용한 만큼 비용을 지불하면 된다.
컴퓨터를 사용하면 프로그램도 설치하고, 파일도 저장하고, 설정도 변경하게 되는데, 이 상태 그대로 저장 할 수 있다.
이것을 이미지라고 한다. 이미지를 이용해서 새로운 컴퓨터를 만들면 이미지에 저장된 상태와 똑같은 컴퓨터를 생성할 수 있다. 컴퓨터를 장만할 때마다 반복되는 설치 작업을 하지 않게 되는 것이다.
( 출처 : opentutorials.org/course/608/3004 )
Elastic Compute Cloud
의 준말로 가상의 운영체제를 만들어 사용가능하게 해주는 서비스 라고 보면 된다. 이제 부터 이곳에 R/python 을 설치에 분석 환경을 가추어 나갈 생각이다. 설치 과정을 하나씩 알아보자.
홈페이지 go.
Step 1. 인스턴스 생성
"EC2를 사용하여" 클릭
인스턴스 메뉴 -> 인스턴트 클릭
Step 2. 인스턴스 옵션 설정
인스턴스 옵션을 정해주자. 좀 비유를 해보자면 컴퓨터를 살때 사양을 선택 하는 과정이다.
1. AMI 선택
우선 AMI를 선택 해주자. 기본적으로 여러 운영체제가 있지만 Amozon Linux 2를 선택.
2. 인스턴스 유형 선택
이제 인스턴스 유형을 선택 하자. 아마존은 기본적으로 프리티어(무료)로 서비스를 제공 한다. 그러나 프리티어는 어디까지나 최소한의 서비스라 사양이 매우 좋지 않다. '메모리 8기가 선택' 이유는 모른다. (배우는 입장에서는 이정도 메모리?)
3. 인스턴스 구성
퍼블링 IP 자동 할당에 Select Box 옵션을 활성화 로 변경 해준다.
4. 스토리지 추가
내 운영체제의 기본적인 용량이 8GB로 되어 있다. 아마존은 무료로 최대 30GB까지 지원 가능하며 일단은 기본 8GB로 선택을 해주도록 하자. 나는 아직 초보이기에 8GB를 추천받음.
5. 태그 추가
특별한 내용이 없으니 다음 버튼.
6. 보안 그룹 구성
이곳에서 포트 범위를 설정 해주자. 기본적으로 여기에 R studio server / Jupyter notebook를 설치 해줄것이므로 다음의 포트를 열어 준다. 그리고 위치 무관 옵션을 선택 해주자.
- R studio server: 8787
- Jupyter notebook: 8888
8787 , 8888 기억해두자.
7. 검토
이제 시작하기 버튼을 누르면 팝업창이 노출되면서 키 페어를 생성하도록 유도 한다. 이는 후에 putty에 사용할 ppk를 생성하기 위한 과정이며 적당한 네이밍으로 키페어를 다운 받고 인스턴스 시작을 클릭 해주자.
인스턴스 생성
우선 다음과 같이 인스턴스가 생성됨을 확인 할 수 있다. 이제 다음으로 넘어가자.
Step 3. 탄력적 IP 생성
서버(인스턴스)가 생성되었고, 이를 실행하는데 그전에 추가로 해야할 것이 있다. 탄력적 IP 라는 것을 설정 해주어야 하는데, 이 인스턴스에서 설정된 퍼블릭 DNS는 서버를 키고 끌때마다 새로운 것으로 갱신되기에, 이를 하나의 IP로 통일하기 위함이다. 자세한 이해는 되도록 넘어가고 바로 알아보자.
탄력적 IP 주소 할당
네트워크 및 보안 -> 탄력적 IP에 탄력적 IP 주소 할당 버튼 클릭
탄력적 IP 주소 확인
생성된 IP 주소를 클릭해주자. 이를 생성한 인스턴스에 연결하는 작업을 진행할 것이다.
탄력적 IP 정보 확인
탄력적 IP의 정보를 확인해주자. 특별한건 없고 바로 탄력적 IP 연결버튼 클릭 (IP 고정 개념이라고 생각하자)
탄력적 IP 주소 연결
이제 생성한 인스턴스에 탄력적 IP를 연결해주자. 인스턴스 Select box에 생성한 인스턴스 네임을 선택하고 연결 버튼 클릭
탄력적 IP 주소 확인
Step 4. Putty 접근
이제 인스턴스를 구체화 해서 접근 해보자. 이를 위해 Putty를 설치 하고 여러 세팅을 해주도록 한다.
Download Putty/Puttygen
Putty와 Puttygen을 다운받도록 하자. Puttygen은 키페어를 .ppk로 만들기 위함이고 putty는 만들어진 .ppk를 가지고 서버를 실행하기 위함이다. 구글에 putty검색 혹은 아래링크
( 맨위쪽, 맨 아래쪽 putty, puttygen ) .exe
Puttygen 1
- Pyttygen을 실행 하고 Load 버튼 클릭
- 다운로드 폴더에 키페어 선택 하고 열기 버튼 (옵션은 All File)
Puttygen 2
이제 aws에서 받은 키페어를 가지고 .ppk로 변환 하는 마지막 작업이다. Save private key 버튼을 클릭하고 나오는 확인 창에 예 버튼을 해서 마무리를 해주자.
Putty 세팅
이제 Putty에 가서 세팅을 마무리 하자. putty를 실행하고 다음의 절차를 따라주자.
- 왼쪽 카테고리에 SSH - Auth 클릭
- Browse 버튼 클릭
- Puttygen에서 생성한 .ppk 클릭
Save / Open
이제 다음의 절차를 밟은 후에 putty를 실행 해주자.
- Host name: ec2-user@(탄력적 IP)
- Saved Sessions: 저장할 이름
이렇게 설정한후 Save를 해주어야 다음에 Putty에서 실행 할때 저장된 이름으로 쉽게 서버를 실행할 수 있다.
결과
Putty에서 성공적으로 서버를 실행하면 다음과 같은 화면이 나오게 된다.
서버 시작/중지
AWS EC2는 서버를 켜두면 그 만큼 금액이 지불되는 방식이다. 때문에 필요에 따라 서버를 꺼야 하는데, 인스턴스 우클릭후 다음의 시작/중지 버튼으로 시작과 중지를 꼭 해주도록 하자.
( # 해석의 오류로 인해, 요즘 버전에서는 인스턴트 중지,종료 가 위쪽,아래쪽에 있는데 가운데쯤에 있는 "중지,종료"를 기억하자. )
블로깅 할때 사진관리를 편하게 하기위해서 moqup을 처음 사용했는데, 다른 저장방법이 있을것 같은데 저장을 안하고 스크린샷을 찍다보니 화질이 매우 안좋은것들이 있다...
출처 : 미완성의신 (tistory블로그) unfinishedgod.netlify.app/2020/04/05/aws-ec2%EA%B5%AC%EC%B6%95/