클라우드에서 클라우드용 개발: AWS에서 Docker를 사용한 빅데이터 개발

게시 됨: 2022-03-11

왜 필요할 수 있습니까?

저는 개발자이며 Intellij IDEA 또는 Eclipse와 같은 IDE(통합 개발 환경)에서 매일 작업합니다. 이러한 IDE는 데스크톱 응용 프로그램입니다. Google 문서가 등장한 이후로 저는 점점 더 많은 사람들이 워드 프로세서나 스프레드시트 응용 프로그램과 같은 온라인 버전을 사용하여 데스크톱 버전의 Word 또는 Excel에서 클라우드로 작업을 옮기는 것을 보았습니다.

작업을 유지하기 위해 클라우드를 사용해야 하는 분명한 이유가 있습니다. 오늘날 전통적인 데스크탑 비즈니스 애플리케이션과 비교하여 일부 웹 애플리케이션은 기능면에서 큰 단점이 없습니다. 콘텐츠는 웹 브라우저가 있는 곳이면 어디에서나 사용할 수 있으며 오늘날에는 거의 모든 곳에서 사용할 수 있습니다. 공동 작업과 공유가 더 쉽고 파일 손실 가능성이 줄어듭니다.

불행히도 이러한 클라우드의 이점은 비즈니스 애플리케이션에서만큼 소프트웨어 개발 세계에서 흔하지 않습니다. 온라인 IDE를 제공하려는 몇 가지 시도가 있지만 전통적인 IDE에 가깝지는 않습니다.

그것은 역설입니다. 우리는 여전히 일상적인 코딩을 위해 데스크톱에 묶여 있지만 소프트웨어는 이제 여러 서버에서 생성됩니다. 개발자는 더 이상 컴퓨터에 보관할 수 없는 항목으로 작업해야 합니다. 실제로 랩톱은 더 이상 처리 능력을 향상시키지 않습니다. 랩톱에 16GB 이상의 RAM이 있는 것은 드물고 비싸며, 예를 들어 최신 장치, 태블릿은 훨씬 적습니다.

그러나 소프트웨어 개발을 위한 기존 데스크톱 애플리케이션을 아직 대체하는 것이 불가능하더라도 전체 개발 데스크톱을 클라우드로 이동 하는 것은 가능합니다. 더 이상 내 모든 소프트웨어를 내 노트북에 둘 필요가 없다는 것을 깨닫고 웹 버전의 터미널과 VNC를 사용할 수 있다는 사실을 알게 된 날, 나는 모든 것을 클라우드로 옮겼습니다. 결국 자동화된 방식으로 해당 환경을 만들기 위한 빌드 키트를 개발했습니다.

클라우드의 개발자

개발자에게 클라우드란 무엇입니까? 물론 그 안에서의 발전!
트위터

이 기사에서는 Amazon AWS에서 Docker와 함께 실행되고 IntelliJ IDE, Spark, Hadoop 및 Zeppelin을 서비스로 포함하는 웹 액세스 가능 데스크톱으로 구성된 Scala 및 빅 데이터 애플리케이션을 위한 클라우드 기반 개발 환경을 구축하기 위한 스크립트 세트를 제시합니다. , 웹 기반 SSH, SBT 및 Ammonite와 같은 명령줄 도구도 있습니다. 이 키트는 GitHub에서 무료로 사용할 수 있으며 여기에서 이를 사용하여 인스턴스를 구축하는 절차를 설명합니다. 환경을 구축하고 특정 요구 사항에 맞게 사용자 지정할 수 있습니다. 설치하고 실행하는 데 10분 이상 걸리지 않아야 합니다.

"BigDataDevKit"에는 무엇이 있습니까?

키트 개발의 주요 목표는 내 개발 환경이 내가 작업하는 모든 서비스와 서버와 함께 간단히 시작할 수 있는 환경이어야 하고 더 이상 필요하지 않을 때 파괴하는 것이었습니다. 이는 다른 프로젝트에서 작업할 때 특히 중요하며, 그 중 일부는 빅 데이터 프로젝트에서 작업할 때와 같이 많은 수의 서버와 서비스를 포함합니다.

이상적인 클라우드 기반 환경은 다음과 같아야 합니다.

  • 모든 일반적인 개발 도구, 가장 중요한 것은 그래픽 IDE를 포함합니다.
  • 필요한 서버와 서비스를 손쉽게 이용할 수 있습니다.
  • 처음부터 쉽고 빠르게 생성하고 더 많은 서비스를 추가하기 위해 확장할 수 있습니다.
  • 웹 브라우저만 사용하여 완전히 액세스할 수 있습니다.
  • 선택적으로 특수 클라이언트(VNC 클라이언트 및 SSH 클라이언트)와의 액세스를 허용합니다.

최신 클라우드 인프라와 소프트웨어, 최신 브라우저의 성능, 광범위한 광대역 가용성, 귀중한 Docker를 활용하여 Scala 및 빅 데이터 개발을 위한 개발 환경을 만들었습니다.

현재 저는 MacBook Pro, Surface Tablet 또는 iPad(키보드 포함)에서 언제든지 작업할 수 있지만 마지막 옵션이 이상적이지는 않습니다. 이러한 모든 장치는 클라이언트일 뿐입니다. 데스크탑과 모든 서버가 클라우드에 있습니다.

도커와 아마존 AWS!

내 현재 환경은 다음 온라인 서비스를 사용하여 구축되었습니다.

  • 서버용 Amazon Web Services.
  • 코드를 저장하기 위한 GitHub.
  • 파일을 저장하는 Dropbox.

또한 동적 IP 주소용 DuckDns 및 무료 SSL 인증서를 얻기 위해 암호화하자와 같은 몇 가지 무료 서비스를 사용합니다.

이 환경에서 나는 현재 다음을 가지고 있습니다.

  • 웹 브라우저를 통해 액세스할 수 있는 Intellij 아이디어가 있는 그래픽 데스크탑.
  • SBT 및 Ammonite와 같은 웹 액세스 가능한 명령줄 도구.
  • 파일 저장 및 MapReduce 작업 실행을 위한 Hadoop.
  • 예약된 작업을 위한 Spark 작업 서버.
  • 웹 기반 노트북용 Zeppelin.

가장 중요한 것은 웹 액세스가 웹 기반 VNC 및 SSH 모두에 대해 HTTPS로 완전히 암호화되어 있으며 데이터 손실을 방지하기 위한 여러 가지 보호 장치가 있다는 것입니다. 물리적 하드 디스크. 컴퓨터에서 모든 작업의 ​​복사본을 얻는 것은 자동이며 매우 빠릅니다. 누군가가 귀하의 비밀번호를 도용하여 모든 것을 잃어버린 경우에도 모든 것을 올바르게 구성하기만 하면 컴퓨터에 사본이 있습니다.

AWS 및 Docker와 함께 웹 기반 개발 환경 사용

이제 환경이 어떻게 작동하는지 설명하기 시작하겠습니다. 아침에 작업을 시작하면 가장 먼저 모든 인스턴스를 볼 수 있는 Amazon Web Services 콘솔에 로그인합니다. 일반적으로 서로 다른 프로젝트에 대해 많은 개발 인스턴스를 구성하고 사용하지 않는 인스턴스는 대금을 절약하기 위해 꺼 둔 상태로 유지합니다. 결국, 나는 한 번에 하나의 프로젝트에서만 작업할 수 있습니다. (글쎄, 나는 때때로 두 가지 작업을 한다.)

화면 1

그래서 내가 원하는 인스턴스를 선택하고 시작하고 조금 기다리거나 커피를 마시러 갑니다. 컴퓨터를 켜는 것과 크게 다르지 않습니다. 일반적으로 인스턴스를 시작하고 실행하는 데 몇 초가 걸립니다. 녹색 아이콘이 표시되면 브라우저를 열고 잘 알려진 URL( https://msciab.duckdns.org/vnc.html )로 이동합니다. 이것은 내 URL입니다. 키트를 만들 때 고유한 URL을 만듭니다.

AWS는 시작할 때 각 머신에 새 IP를 할당하므로 동적 DNS 서비스를 구성하여 서버를 중지했다가 다시 시작해도 항상 동일한 URL을 사용하여 서버에 액세스할 수 있습니다. 브라우저에서 북마크할 수도 있습니다. 또한 암호 및 기타 민감한 데이터를 관리해야 하는 경우에 대비하여 스니퍼로부터 작업을 완전히 보호하기 위해 유효한 키와 함께 HTTPS를 사용합니다.

화면 2

일단 로드되면 시스템은 Web VNC 웹 클라이언트인 NoVNC와 함께 여러분을 환영합니다. 간단히 로그인하면 바탕 화면이 나타납니다. 저는 최소한의 데스크탑을 의도적으로 사용하고 응용 프로그램이 있는 메뉴만 사용하며 유일한 사치품은 가상 데스크탑입니다(개발할 때 많은 창을 열므로). 메일의 경우, 저는 여전히 다른 애플리케이션, 요즘에는 대부분 다른 브라우저 탭에 의존합니다.

가상 머신에는 빅 데이터 애플리케이션을 개발하는 데 필요한 것이 있습니다. 가장 먼저 IDE가 있습니다. 빌드에서는 IntelliJ Idea 커뮤니티 에디션을 사용합니다. 또한 SBT 빌드 도구와 Scala REPL, Ammonite가 있습니다.

화면 3

그러나 이 환경의 주요 기능은 동일한 가상 머신에 컨테이너로 배포된 서비스입니다. 특히 나는 다음을 가지고 있습니다.

  • 즉석에서 Scala 코드를 사용하고 데이터 분석을 수행하는 웹 노트북 Zeppelin ( http://zeppelin:8080 )
  • 스파크 작업 서버, Rest 인터페이스( http://sparkjobserver:8080 )로 스파크 작업을 실행하고 배포합니다.
  • HDFS( http://hadoop:50070 )에서 데이터를 저장하고 검색하기 위한 Hadoop의 인스턴스입니다.

이러한 URL은 고정되어 있지만 가상 환경 내에서 액세스할 수 있습니다. 다음 스크린샷에서 웹 인터페이스를 볼 수 있습니다.

화면 4

각 서비스는 별도의 Docker 컨테이너에서 실행됩니다. 너무 기술적이지 않으면 가상 머신 내부에 있는 3개의 개별 서버로 생각할 수 있습니다. Docker 사용의 장점은 서비스를 추가할 수 있고 가상 머신을 2~3개 추가할 수 있다는 것입니다. Amazon 컨테이너를 사용하면 환경을 쉽게 확장할 수 있습니다.

마지막으로 웹 터미널을 사용할 수 있습니다. HTTPS로 URL에 액세스하기만 하면 웹 페이지에 터미널이 표시됩니다.

화면 5

위의 스크린샷에서 3개의 서버와 데스크탑인 컨테이너를 나열한 것을 볼 수 있습니다. 이 명령줄 셸을 사용하면 컨테이너를 관리할 수 있는 가상 머신에 액세스할 수 있습니다. 서버가 "매트릭스에"(컨테이너 내에서 가상화됨) 있는 것처럼 보이지만 이 셸을 사용하면 서버와 데스크탑을 관리하기 위해 "매트릭스" 외부로 탈출할 수 있습니다. 여기에서 컨테이너를 다시 시작하고 해당 파일 시스템에 액세스하고 Docker에서 허용하는 기타 조작을 수행할 수 있습니다. 여기서는 Docker에 대해 자세히 설명하지 않겠지만 Docker 웹 사이트에는 방대한 양의 문서가 있습니다.

인스턴스 설정 방법

지금까지 이 작업이 마음에 드십니까? 인스턴스를 원하십니까? 쉽고 저렴합니다. Amazon Web Services의 가상 머신 비용과 스토리지만 있으면 얻을 수 있습니다. 현재 구성의 키트는 모든 서비스를 실행하려면 4GB의 RAM이 필요합니다. 가상 머신을 필요할 때만 조심스럽게 사용하고 한 달에 160시간을 일한다면 현재 요율로 가상 머신의 비용은 160 x $0.052 또는 월 $8입니다. 저장 비용을 추가해야 합니다. 나는 약 30GB를 사용하지만 모든 것을 모두 $10 미만으로 유지할 수 있습니다.

그러나 여기에는 2GB 이상의 코드를 백업하려는 경우 봇에 (최종) Dropbox(Pro) 계정 비용이 포함됩니다. 이것은 한 달에 $15의 추가 비용이 들지만 데이터에 중요한 안전을 제공합니다. 또한 유료 GitHub 또는 무료 개인 리포지토리를 제공하는 Bitbucket과 같은 다른 서비스인 개인 리포지토리가 필요합니다.

필요할 때만 사용한다면 전용서버보다 저렴하다는 점을 강조하고 싶다. 네, 여기에서 언급한 모든 것은 물리적 서버에서 설정할 수 있지만 빅 데이터로 작업하기 때문에 다른 AWS 서비스가 많이 필요하므로 모든 것을 같은 위치에 두는 것이 논리적이라고 생각합니다.

전체 설정을 수행하는 방법을 살펴보겠습니다.

전제 조건

가상 머신 구축을 시작하기 전에 다음 네 가지 서비스에 등록해야 합니다.

  • 아마존 웹 서비스.
  • 덕DNS.
  • 드롭 박스.
  • 암호화합시다.

신용 카드가 필요한 유일한 것은 Amazon Web Services입니다. DuckDns는 완전히 무료인 반면, DropBox는 2GB의 무료 저장용량을 제공하므로 많은 작업에 충분합니다. Let's Encrypt도 무료이며 인증서에 서명하기 위해 이미지를 빌드할 때 내부적으로 사용됩니다. 이 외에도 GitHub 또는 Bitbucket과 같은 저장소 호스팅 서비스도 권장하지만 코드를 저장하려는 경우 설정에 필요하지 않습니다.

시작하려면 GitHub BigDataDevKit 리포지토리로 이동합니다.

화면 6

페이지를 스크롤하고 선택한 텍스트 편집기에서 이미지에 표시된 스크립트를 복사합니다.

화면 7

이 스크립트는 이미지를 부트스트랩하는 데 필요합니다. 이를 변경하고 매개변수에 일부 값을 제공해야 합니다. 따옴표 안의 텍스트를 조심스럽게 변경하십시오. 인용문 자체, 백슬래시 또는 달러 기호와 같은 문자는 인용하지 않는 한 암호에 사용할 수 없습니다. 이 문제는 비밀번호에만 해당됩니다. 안전하게 플레이하려면 따옴표, 달러 기호 또는 백슬래시를 사용하지 마십시오.

PASSWORD 매개변수는 웹 인터페이스를 통해 가상 머신에 액세스하기 위해 선택하는 암호입니다. EMAIL 매개변수는 귀하의 이메일이며 SSL 인증서를 등록할 때 사용됩니다. 이메일을 제공해야 하며 이는 Let's Encrypt에서 무료 SSL 인증서를 받기 위한 유일한 요구 사항입니다.

TOKENHOST 값을 얻으려면 DuckDNS 사이트로 이동하여 로그인하십시오. 사용하지 않는 호스트 이름을 선택해야 합니다.

화면 8

이미지를 보고 토큰을 복사해야 하는 위치와 호스트 이름을 추가해야 하는 위치를 확인하세요. 호스트 이름을 예약하려면 "도메인 추가" 버튼을 클릭해야 합니다.

인스턴스 구성

모든 매개변수가 있고 스크립트를 편집했다고 가정하면 인스턴스를 시작할 준비가 된 것입니다. Amazon Web Services 관리 인터페이스에 로그인하고 EC2 인스턴스 패널로 이동하여 "인스턴스 시작"을 클릭합니다.

화면 9

첫 번째 화면에서 이미지를 선택합니다. 스크립트는 Amazon Linux를 기반으로 구축되었으며 다른 옵션을 사용할 수 없습니다. QuickStart 목록의 첫 번째 옵션인 Amazon Linux를 선택합니다.

화면 10

두 번째 화면에서 인스턴스 유형을 선택합니다. 실행 중인 소프트웨어의 크기를 감안할 때 여러 서비스가 있고 최소 4GB의 메모리가 필요하므로 t2.medium 인스턴스를 선택하는 것이 좋습니다. 일부 서비스를 종료하려면 t2.small 을 사용하고 데스크톱만 원하면 마이크로 를 사용하여 줄일 수 있습니다.

화면 11

세 번째 화면에서 "고급 세부 정보"를 클릭하고 이전 단계에서 구성한 스크립트를 붙여넣습니다. 또한 실수로 종료해도 모든 작업이 손실되지 않도록 종료 방지 기능을 활성화하는 것이 좋습니다.

화면 12

다음 단계는 스토리지를 구성하는 것입니다. 인스턴스의 기본값은 8GB로 빌드할 모든 이미지를 포함하기에 충분하지 않습니다. 20GB로 늘리는 것이 좋습니다. 또한 필요하지 않지만 최소 10GB의 다른 블록 장치를 제안합니다. 스크립트는 두 번째 블록 장치를 데이터 폴더로 마운트합니다. 내용의 스냅샷을 만들고 인스턴스를 종료한 다음 스냅샷을 사용하여 모든 작업을 복구하고 다시 만들 수 있습니다. 또한 인스턴스를 종료할 때 사용자 지정 블록 장치가 손실되지 않으므로 우발적인 데이터 손실에 대한 이중 보호가 있습니다. 안전성을 더욱 높이기 위해 Dropbox를 사용하여 데이터를 자동으로 백업할 수 있습니다.

화면 13

다섯 번째 단계는 인스턴스 이름 지정입니다. 직접 선택하세요. 여섯 번째 단계는 방화벽을 구성하는 방법을 제공합니다. 기본적으로 SSH만 사용할 수 있지만 HTTPS도 필요하므로 HTTPS를 여는 규칙도 추가하는 것을 잊지 마십시오. HTTPS를 전 세계에 공개할 수는 있지만 여전히 암호로 보호되어 있음에도 불구하고 다른 사람이 데스크톱 및 셸에 액세스하지 못하도록 방지하기 위해 IP만 사용하는 것이 좋습니다.

이 마지막 구성이 완료되면 인스턴스를 시작할 수 있습니다. 초기화 스크립트가 실행된 이후 처음 초기화하는 데 몇 분이 소요될 수 있으며 Let's Encrypt를 사용하여 HTTPS 인증서 생성과 같은 몇 가지 긴 작업도 수행합니다.

화면 14

결국 관리 콘솔이 확인과 함께 "실행 중"이고 더 이상 "초기화 중"이 아닌 경우 사용할 준비가 된 것입니다.

모든 매개변수가 정확하다고 가정하면 https://YOURHOST.duckdns.org 로 이동할 수 있습니다.

YOURHOST 를 선택한 호스트 이름으로 바꾸십시오. 그러나 HTTP가 아닌 HTTPS 사이트라는 것을 잊지 마십시오. 따라서 서버에 대한 연결이 암호화되므로 URL에 https// 를 작성해야 합니다. 이 사이트는 Let's Encrypt에 대한 유효한 인증서도 제공합니다. 인증서를 가져오는 데 문제가 있는 경우 초기화 스크립트는 자체 서명된 인증서를 생성합니다. 여전히 암호화된 연결로 연결할 수 있지만 브라우저는 알 수 없는 사이트이며 연결이 안전하지 않다고 경고합니다. 그런 일이 일어나서는 안되지만 결코 알 수 없습니다.

화면 15

모든 것이 작동한다고 가정하면 웹 터미널인 Butterfly에 액세스합니다. 사용자 app 과 설정 스크립트에 입력한 비밀번호를 사용하여 로그인할 수 있습니다.

로그인하면 Nginx Frontend, Git 및 Butterfly Web Terminal과 같은 Docker 및 기타 기능이 포함된 부트스트랩 가상 머신이 있습니다. 이제 개발 환경에 대한 Docker 이미지를 빌드하여 설정을 완료할 수 있습니다.

다음으로 다음 명령을 입력합니다.

 git clone https://github.com/sciabarra/BigDataDevKit cd BigDataDevKit sh build.sh

마지막 명령은 데스크톱 액세스에 대한 암호를 입력하라는 메시지도 표시합니다. 완료되면 이미지를 빌드하기 시작합니다. 빌드에는 약 10분이 소요되지만 모든 것이 화면에 표시되기 때문에 어떤 일이 일어나는지 볼 수 있습니다.

빌드가 완료되면 다음 명령을 사용하여 Dropbox를 설치할 수도 있습니다.

 /app/.dropbox-dist/dropboxd

Dropbox를 활성화하려면 클릭해야 하는 링크가 시스템에 표시됩니다. Dropbox에 로그인하면 완료됩니다. Dropbox 폴더에 무엇을 넣으면 모든 Dropbox 인스턴스 간에 자동으로 동기화됩니다.

완료되면 가상 머신을 다시 시작하고 https://YOURHOST.dyndns.org/vnc.html URL에서 환경에 액세스할 수 있습니다.

작업을 재개할 때 기계를 중지하고 다시 시작할 수 있습니다. 액세스 URL은 동일하게 유지됩니다. 이렇게 하면 사용한 시간에 대해서만 비용을 지불하고 사용한 스토리지에 대한 월별 추가 비용을 지불하게 됩니다.

데이터 보존

다음 토론에는 Docker와 Amazon이 작동하는 방식에 대한 약간의 지식이 필요합니다. 세부 사항을 이해하고 싶지 않다면 다음과 같은 간단한 규칙을 염두에 두십시오. 가상 머신에는 /app/Dropbox 폴더를 사용할 수 있으며 /app/Dropbox 에 저장한 모든 항목은 보존되며 나머지는 모두 처분할 수 있습니다. 갈 수 있습니다. 보안을 더욱 향상시키려면 소중한 코드를 버전 관리 시스템에 저장하십시오.

이제 이것을 이해하고 싶다면 계속 읽으십시오. 가상머신 생성 시 제 지시를 따랐다면 가상머신이 종료되지 않도록 보호되므로 실수로 파괴하는 일이 없습니다. 명시적으로 종료하기로 결정하면 기본 볼륨이 삭제됩니다. 모든 변경 사항을 포함하여 모든 Docker 이미지가 손실됩니다.

그러나 /app/Dropbox 폴더는 컨테이너용 도커 볼륨으로 마운트되므로 도커 이미지의 일부가 아닙니다. 가상 머신에서 /app 폴더는 생성한 Amazon 볼륨에 마운트되며, 이 역시 가상 머신을 명시적으로 종료하더라도 파괴되지 않습니다. 볼륨을 제거하려면 명시적으로 제거해야 합니다.

Docker 논리적 개체인 Docker 볼륨과 다소 물리적 개체인 Amazon Volumes를 혼동하지 마십시오. /app/Dropbox Docker 볼륨이 /app Amazon 볼륨 내부에 배치됩니다.

Amazon 볼륨은 가상 머신을 종료할 때 자동으로 제거되지 않으므로 볼륨을 명시적으로 제거할 때까지 그 안에 있는 모든 것이 보존됩니다. 또한 Docker 볼륨에 넣은 것은 무엇이든 컨테이너 외부에 저장되므로 컨테이너가 파괴될 때 파괴되지 않습니다. 권장 사항에 따라 Dropbox를 활성화한 경우 모든 콘텐츠가 Dropbox 서버에 복사되고 Dropbox를 컴퓨터와 동기화하면 하드 디스크에 복사됩니다. 또한 소스 코드는 버전 관리 시스템에 저장하는 것이 좋습니다.

따라서 Dropbox 폴더 아래의 버전 제어 시스템에 항목을 배치하면 데이터가 손실되기 위해서는 다음과 같은 상황이 모두 발생해야 합니다.

  • 귀하는 가상 머신을 명시적으로 종료합니다.
  • 가상 머신에서 데이터 볼륨을 명시적으로 제거합니다.
  • 기록을 포함하여 Dropbox에서 데이터를 명시적으로 제거합니다.
  • 버전 관리 시스템에서 데이터를 명시적으로 제거합니다.

귀하의 데이터가 충분히 안전하기를 바랍니다.

각 프로젝트마다 가상 머신을 유지하고 작업이 끝나면 사용하지 않는 가상 머신을 끈 상태로 유지합니다. 물론 GitHub에 모든 코드가 있고 Dropbox에 백업되어 있습니다. 또한 프로젝트 작업을 중단할 때 가상 머신을 완전히 제거하기 전에 Amazon Web Services 블록의 스냅샷을 만듭니다. 이렇게 하면 예를 들어 유지 관리를 위해 프로젝트가 재개될 때마다 스냅샷을 사용하여 새 가상 머신을 시작하기만 하면 됩니다. 모든 데이터가 제자리로 돌아가고 작업을 재개할 수 있습니다.

액세스 최적화

첫째, 프록시에 의해 중재되지 않고 인터넷에 직접 액세스할 수 있는 경우 기본 SSH 및 VNC 클라이언트를 사용할 수 있습니다. 가상 머신 안팎으로 파일을 복사해야 하는 경우 직접 SSH 액세스가 중요합니다. 그러나 파일 공유의 경우 Dropbox를 더 간단한 대안으로 고려해야 합니다.

VNC 웹 액세스는 매우 중요하지만 때로는 기본 클라이언트보다 느릴 수 있습니다. 포트 5900을 사용하여 가상 머신의 VNC 서버에 액세스할 수 있습니다. 기본적으로 닫혀 있으므로 명시적으로 열어야 합니다. 인터넷은 연결할 서비스를 찾기 위해 인터넷을 검색하는 "로봇"으로 가득 차 있고 VNC는 이러한 로봇의 빈번한 대상이기 때문에 IP 주소로만 열 것을 권장합니다.

결론

이 문서에서는 최신 클라우드 기술을 활용하여 효과적인 개발 환경을 구현하는 방법을 설명합니다. 클라우드의 시스템이 작업 중인 컴퓨터나 랩톱을 완전히 대체할 수는 없지만 IDE에 액세스하는 것이 중요할 때 개발 작업을 수행하는 데는 충분합니다. 내 경험상 현재 인터넷 연결을 사용하면 작업하기에 충분히 빠릅니다.

클라우드에 있으면 서버 액세스 및 조작이 로컬에 있는 것보다 빠릅니다. 메모리를 빠르게 늘리거나 줄이거나, 다른 환경을 시작하고, 이미지를 만드는 등의 작업을 수행할 수 있습니다. 손끝에 데이터 센터가 있고, 빅 데이터 프로젝트로 작업할 때 강력한 서비스와 많은 공간이 필요합니다. 그것이 바로 클라우드가 제공하는 것입니다.