Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

류동균의 R 공부방입니다.

AWS에 Rstudio server 구축 본문

AWS Linux

AWS에 Rstudio server 구축

R쟁이 2019. 9. 7. 16:10

AWS(Amazon Web Service)서버에 R환경을 구축하는 방법을  써보려고한다.

 

우선 가장 먼저 필요한 것은  AWS에 접속하여 아이디를 만드는 것 Google에 AWS라고 치고

 

AWS 홈페이지를 들어가서간단하게 로그인을 하면된다. 주의해야할 점은 결제수단이 필요한데

 

master card, visa와 같은 결제카드가 준비되어있어야한다. 그럼 로그인까지 성공했다는 가정하

 

에 본격적으로 R환경을 구축하는 방법을 알아보도록 하자.

 

 

AWS로고 옆에있는 서비스 버튼을 클릭하면 다음과같은 화면이 나오는데 컴퓨팅 카테고리의 EC2를 클릭한다.

 

EC2 인스턴스라는 가상 서버를 시작하기위해 인스턴스 시작 버튼을 눌러준다.

 

다음과 같이 Amazon Linux 2 AMI를 선택 해주도록한다.

 

인스턴스의 유형은 여러가지가 있다. cpu, 메모리 용량이 다르고 지불되는 비용또한 다르다.

 

TEST를 위한 인스턴스 계정이므로 프리티어 사용가능한 t2.micro로 인스턴스유형을 설정하여 진행해보도록하겠다.

 

인스턴스 세부 정보 구성에서는 따로 설정해줄 것이 없다면 '퍼블릭 IP 자동 할당'을 활성화로

 

바꿔주고 다음을 눌러주도록 한다.

 

특별히 설정할 것이 없다면 다음을 눌러준다.

 

마찬가지로 특별히 태그를 설정할 것이 없다면 다음을 눌러준다.

 

보안그룹 구성 화면에서 기본값으로 SSH 1개의 유형만이 있을 것이다. 여기서 규칙추가를 눌러

 

유형 : 사용자 지정 TCP

포트범위 : 8787

소스 : 위치 무관

 

이렇게 설정해 주도록 한다. 소스를 사용자지정으로 한다면 자신이 지정한 컴퓨터에서, 내 IP로

 

설정하면 지금 인스턴스를 생성하고 있는 컴퓨터에서만 접속이 가능하기때문에 어디서든 사용

 

하려면 위치 무관으로 해줘야 한다.

 

검토 및 시작을 누르면 검토단계로 넘어가고 한번 검토해주고 시작하기를 눌러주면 된다.

 

끝인줄 알았겠지만 다음과 같이 키페어를 다운로드해야 인스턴스를 시작할 수 있다. 키 페어

 

이름에 자신이 원하는 키페어 이름을 쓰고 키페어 다운로드를 눌러준다. 그러면 자신이 설정한

 

키페어이름.pem이라는 파일이 다운로드되고 인스턴스를 시작할 수 있다.

 

이제 EC2의 인스턴스를 보면 t2.micro로 설정한 인스턴스가 running 중인것을 확인할 수 있다.

 

EC2의 인스턴스 생성을 끝이 났고 이제 Putty를 이용하여 Linux환경을 실행하고 R을 깔아보도록

 

하자. 

 

우선 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 에 접속하여 다음과 같은

 

화면에서 putty.exe, puttygen.exe 파일을 자신의 환경에 맞게 32, 64 bit 를 구분하여 다운받아

 

주도록한다.

 

putty, puttygen 을 간단하게 설명하자면

 

putty는 window환경에서 linux를 사용할 수 있게 해주는 것이고

 

puttygen은 위의 과정에서 우리가 AWS에서 다운로드 받은 확장자 .pem을 이용하여 putty에서

 

사용 할 수 있는 키페어를 생성하는 것이라고 보면된다.

 

우선 그럼 키페어를 생성하기 위해 puttygen을 먼저 실행하도록한다.

 

 puttygen을 실행하면 다음과 같은 화면이 나오는데 Load를 눌러주도록 한다. 

 

다음과 같은 화면 뜰텐대 아마 자신의 키페어인 pem파일이 뜨지않을것이다 그러므로 확장자를 All Files로 바꿔주면 다음과 같이 pem확장자의 키페어가 뜰것이다. 그것을 선택하고 열기를 누르도록한다.

 

다음과 같은 화면이 뜨면 비밀번호와 같은 Key passphrase, Confirm passphrase를 설정해주고

 

Save private key 를 눌러주도록한다. 그러면 이제 putty에서 사용이 가능한 ppk확장자의 키페어

 

가 생성이 되었으니 putty를 실행하도록 하기전에 사용을 원활하게 하기위해 한가지만 더 해주

 

도록하자. 바로 탄력적 IP를 생성하여 연결하는 것이다.

 

탄력적 IP를 쓰는 이유는 위에서 생성한 EC2 인스턴스는 매번 퍼블릭 DNS가 바뀌게 되는데,

 

이렇게되면 putty를 매번 실행할때마다 putty에서 Session을 바꿔줘야하는 약간의 번거로움이

 

있다. 이러한 번거로움을 해결하기위해 탄력적 IP를 생성하여 고정된 IP주소로 편하게 사용하면

 

된다. 그럼 탄력적 IP를 생성해보도록하자

 

EC2 대시보드에서 탄력적IP를 눌러보자 필자는 이미 한개를 생성하였기때문에 1이라고 뜨지만

 

0이라고 되어있을것이다.

다음과 같은 화면이 나올텐대 새 주소 할당 버튼을 누르고 할당을 누르면 아주 간단하게 탄력적

 

IP가 생성이 되었다. 이제 탄력적 IP의 주소를 인스턴스와 연결만 해주면 된다.

 

생성된 탄력적IP에서 마우스 오른쪽버튼을 누르고 주소할당을 눌러주면 다음과같은 화면이 나

올 것이다.

 

인스턴스에서 자신이 연결할 인스턴스와 프라이빗 IP를 설정해주고 연결을 눌러주면 된다.

 

EC2 인스턴스 화면으로가면 퍼블릭 DNS에 탄력적 IP가 적용된 것을 확인  할 수 있을것이다.

 

다시 돌아가서 이제 putty로 linux환경에 접속을 해보도록하자. 우선 putty를 실행해보자.

 

다음과 같은 창에서 우리가 해줘야 할 것은 키페어를 할당하는것과 session을 생성하는 것이다.

 

먼저 키페어를 할당하기위해 카테고리의 SSH에 Auth를 눌러준다.

 

Browse를 눌러주고 puttygen으로 생성한 키페어를 눌러주고 다시 Session창으로 돌아간다.

 

Hostname에는 앞에서 생성한 퍼블릭 DNS를 넣어주어야한다. 이때 꼭 ec2-user@ 퍼블릭DNS 와 같은 형식으로 넣어주도록 한다.

 

Saved Sessions에 자신이 쓸 Session의 이름을 써주고 Save를 누르면 추가된다.

 

이제 추가된 Session 을 더블클릭하거나 활성화 시킨후 Open을 눌러보자. 

 

설정한 패스워드를 누르고 엔터를 누른다면 드디어 putty로 linux환경에 접속을 하였다.

 

여기까지가 1차적인 부분이고 이제 Rstudio를 깔아보도록하자.

 

리눅스화면에 다음과같이 치고 엔터를 눌러보자

 

# 리눅스환경에서의 초기세팅 
sudo amazon-linux-extras install epel  
# epel-release 설치 
sudo yum install -y epel-release 
# R 설치 
sudo yum install -y R

 

리눅스 명령어를 간단하게 설명하자면 sudo는 관리자의 권한, yum은 패키지관리시스템 이다.

 

코드를 복사하여 붙여넣기를 할떄 linux에서는 마우스 오른쪽버튼을 누르면 된다.

 

중간에 옵션 y/n 메세지가 뜨면 y를 눌러주도록하자.

 

# 리눅스환경에서의 초기세팅
sudo amazon-linux-extras install epel
# epel-release 설치
sudo yum install -y epel-release
# R 설치
sudo yum install -y R

 

Complete! 라는 문구와 함께 설치가 완료됬다면 다음으로 RStudio를 깔아주도록해야한다.

 

https://www.rstudio.com/products/rstudio/download-server/

 

URL에 접속해보자.

 

다음과 같은 화면이 나오면 자신의 맞는 OS를 설정하고 그에맞는 linux 설치명령어를 복사하여 linux에 붙여넣고 실행 해주도록 한다.

 

이 글을 보고 따라한 경우 RedHat/CentOS로 해주면된다.

 

위와 마찬가지로 y/n이 나오면 y를 해주고, Complete! 라는 문구와 함께 설치가 완료됬다면 이제 웹 주소창에 AWS 인스턴스의 퍼블릭 DNS를 복사하여 퍼블릭 DNS:8787 을 써주고 엔터를 눌러주면 다음과 같은 화면이 나올 것이다.

여기서 근데 우리는 Rstudio 계정을 생성한 적이 없다.

 

계정생성 버튼또한 없기때문에 다시 linux에서 계정을 생성해 주어야 한다.

 

계정을 생성하기에 앞서 우리는 루트권한을 주기위해 루트권한의 비밀번호를 먼저 생성해보자.

 

리눅스창에 다음과 같이 입력한다.

 

$ sudo passwd root

 

비밀번호를 설정하라는 메시지가나오면 비밀번호를 누르고 엔터를 누르면된다.

 

비밀번호를 누를 때 아무것도 입력되지 않는것처럼 보이지만 입력이되고있는 상태이다.

 

비밀번호를 설정했다면 루트 권한을 부여하자.

 

$ su

 

비밀번호를 치면 루트권한이 부여됬음으로 이제 아이디를 생성하자.

 

$ useradd ID

$ passwd  ID

 

'useradd ID' 를 실행하면 계정이 생성되고 'passwd ID' 는 생성된 아이디의 비밀번호를 설정 할 수 있다.

 

자 이렇게 아이디를 생성했으면 아까의 RStudio 페이지로가서 로그인을 한번해보자.

 

RStudio에 로그인이 됬다면 기분좋게 "Hello World"를 출력하면서 마무리 하도록하자!

'AWS Linux' 카테고리의 다른 글

AWS서버에 Jupyter notebook 설치  (0) 2019.10.20
Modaxterm  (0) 2019.10.20
AWS 불륨 수정하기  (0) 2019.10.13