Azure VM의 Ruby on Rails 웹 애플리케이션

중요

클래식 VM은 2023년 3월 1일에 사용 중지됩니다.

ASM의 IaaS 리소스를 사용하는 경우 2023년 3월 1일까지 마이그레이션을 완료하세요. Azure Resource Manager의 다양한 기능 향상을 활용하려면 빨리 전환하는 것이 좋습니다.

자세한 내용은 2023년 3월 1일까지 IaaS 리소스를 Azure Resource Manager로 마이그레이션을 참조하세요.

이 자습서에서는 Azure에서 Linux 가상 머신을 사용하여 Ruby on Rails 웹 사이트를 호스트하는 방법을 보여줍니다.

이 자습서의 내용은 Ubuntu Server 14.04 LTS를 사용하여 유효성이 검사되었습니다. 다른 Linux 배포를 사용하는 경우, Rails를 설치하는 단계를 수정해야 합니다.

참고

Azure에는 리소스를 만들고 사용하기 위한 Resource Manager 및 클래식이라는 두 가지 배포 모델이 있습니다. 이 문서에서는 클래식 배포 모델 사용에 대해 설명합니다. 새로운 배포는 대부분 리소스 관리자 모델을 사용하는 것이 좋습니다.

2017년 11월 15일부터 가상 머신은 Azure Portal에서만 사용할 수 있습니다.

Azure VM 만들기

Linux 이미지와 Azure VM을 만들어 시작합니다.

VM을 만들려면 Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용할 수 있습니다.

Azure portal

  1. Azure Portal에 로그인합니다.

  2. 리소스 만들기를 클릭한 다음, 검색 상자에 “Ubuntu Server 14.04”를 입력합니다. 검색에서 반환된 항목을 클릭합니다. 배포 모델에서 클래식을 선택한 다음 "만들기"를 클릭합니다.

  3. 기본 블레이드에서 이름(VM), 사용자 이름, 인증 형식과 해당 자격 증명, Azure 구독, 리소스 그룹 및 위치와 같은 필수 필드에 대한 값을 제공합니다.

    새 Ubuntu 이미지 만들기

  4. VM을 프로비전한 후에 VM 이름을 클릭하고 설정 범주에서 엔드포인트를 클릭합니다. 독립 실행형에 나열된 SSH 엔드포인트를 찾습니다.

    기본 엔드포인트

Azure CLI

Linux를 실행하는 Virtual Machine 만들기의 단계를 따릅니다.

VM이 프로비전된 후, 다음 명령을 실행하여 SSH 엔드포인트를 가져올 수 있습니다.

azure vm endpoint list <vm-name>  

Rails에 Ruby 설치

  1. SSH를 사용하여 VM에 연결합니다.

  2. SSH 세션에서 다음 명령을 사용하여 VM에 Ruby를 설치합니다.

     sudo apt-get update -y
     sudo apt-get upgrade -y
    
     sudo apt-add-repository ppa:brightbox/ruby-ng
     sudo apt-get update
     sudo apt-get install ruby2.4
    
     > [!TIP]
     > The brightbox repository contains the current Ruby distribution.
    

    설치는 몇 분 정도 걸릴 수 있습니다. 완료되면 다음 명령을 사용하여 Ruby가 설치되어 있는지 확인합니다.

     ruby -v
    
  3. 다음 명령을 사용하여 Rails를 설치합니다.

     sudo gem install rails --no-rdoc --no-ri -V
    

    --no-rdoc 및 --no-ri 플래그를 사용하여 설명서 설치를 건너뜁니다. 이 방법이 더 빠릅니다. 이 명령을 실행하려면 시간이 오래 걸릴 수 있으니 –V를 추가하여 설치 프로세스에 대한 정보를 표시합니다.

앱 만들기 및 실행

SSH를 통해 로그인한 경우.다음 명령을 실행합니다.

rails new myapp
cd myapp
rails server -b 0.0.0.0 -p 3000

명령은 새 Rails 앱을 만듭니다. 서버 명령은 Rails와 함께 제공되는 WEBrick 웹 서버를 시작합니다. (프로덕션에서 사용하기 위해, 유니콘 또는 승객과 같은 다른 서버를 사용할 수 있습니다.)

다음과 비슷한 결과가 표시됩니다.

=> Booting WEBrick
=> Rails 4.2.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-06-09 23:34:23] INFO  WEBrick 1.3.1
[2015-06-09 23:34:23] INFO  ruby 1.9.3 (2013-11-22) [x86_64-linux]
[2015-06-09 23:34:23] INFO  WEBrick::HTTPServer#start: pid=27766 port=3000

엔드포인트 추가

  1. [Azure Portal][https://portal.azure.com]로 이동하고 VM을 선택합니다.

  2. 페이지의 왼쪽 가장자리에 있는 설정에서 엔드포인트를 선택합니다.

  3. 페이지 위쪽에서 추가 를 클릭합니다.

  4. 엔드포인트 추가 대화 페이지에서 다음 정보를 입력합니다.

    • 이름: HTTP

    • 프로토콜: - TCP

    • 공용 포트: 80

    • 프라이빗 포트: 3000

    • 부동 PI 주소: 사용 안 함

    • 액세스 제어 목록 - 순서: 1001 또는 액세스 규칙의 우선 순위를 설정하는 다른 값

    • 액세스 제어 목록 - 이름: allowHTTP

    • 액세스 제어 목록 - 작업: 허용

    • 액세스 제어 목록 - 원격 서브넷: 1.0.0.0/16

      이 엔드포인트에는 80의 공용 포트가 있으며, 이 포트는 트래픽을 Rails 서버가 수신 대기 중인 3000의 프라이빗 포트로 라우팅합니다. 액세스 제어 목록 규칙은 포트 80에서 공용 트래픽을 허용합니다.

      new-endpoint

  5. 확인을 클릭하여 엔드포인트를 저장합니다.

  6. 메시지가 가상 머신 엔드포인트 저장을 표시해야 합니다. 이 메시지가 사라지면 엔드포인트가 활성 상태가 됩니다. 이제 가상 머신의 DNS 이름으로 이동하여 애플리케이션을 테스트할 수 있습니다. 웹 사이트는 다음과 유사합니다.

    기본 Rails 페이지

다음 단계

이 자습서에서는 수동으로 대부분의 단계를 수행했습니다. 프로덕션 환경의 개발 컴퓨터에 앱을 작성하고 Azure VM에 배포합니다. 또한 대부분의 프로덕션 환경은 Rails 애플리케이션을 다른 서버 프로세스(예: Apache 또는 NginX)와 함께 호스트하며 이러한 서버 프로세스는 Rails 애플리케이션의 여러 인스턴스로 라우팅하여 정적 리소스를 제공하는 요청을 처리합니다. 자세한 내용은 http://guides.rubyonrails.org/routing.html를 참조하세요.

Ruby on Rails에 대해 자세히 알아보려면 Ruby on Rails 가이드(영문)를 방문하세요.

Ruby 애플리케이션에서 Azure 서비스를 사용하려면 다음을 참조하세요.