Google Compute Engine에서 MySQL을 설정하는 방법

Google Cloud Platform 프로젝트의 일부로 MySQL을 배포하는 방법은 여러 가지가 있습니다. Google Cloud SQL, Google Cloud Platform Marketplace를 사용하거나 Google Compute Engine에 MySQL을 수동으로 설치할 수 있습니다.

Google Cloud SQL은 MySQL을 웹 서비스로 제공합니다. Google Cloud SQL을 사용하여 MySQL 데이터베이스를 Google Cloud에 호스팅하고, Google Cloud Platform이 복제, 패치 관리, 데이터베이스 관리와 같은 관리 작업을 처리하도록 할 수 있습니다.

GCP Marketplace는 MySQL을 Compute Engine 인스턴스에 쉽게 설치할 수 있게 해주는 간단한 클릭하여 배포 인터페이스를 제공합니다. GCP Marketplace에는 독립 실행형 MySQL 설치뿐만 아니라 LAMP 스택, LEMP 스택, Percona MySQL 클러스터를 비롯하여 MySQL을 사용하는 여러 웹 개발 스택이 포함되어 있습니다.

MySQL을 수동으로 설치하고 맞춤설정하려면 Compute Engine을 사용해서 몇 분 내에 MySQL 데이터베이스를 만들 수 있습니다. 이 문서에서는 선택할 옵션을 안내하고, Compute Engine에 MySQL 데이터베이스를 수동으로 설치하는 방법을 설명합니다.

올바른 MySQL 배포 옵션을 선택하는 방법

Google Cloud SQL은 Google Cloud Platform이 백엔드 데이터베이스 및 서버 관리 작업을 수행하도록 하려는 경우 유용한 옵션입니다. 예를 들어 Cloud SQL은 자동화된 백업 및 특정 시점 복구를 제공합니다. 또한 데이터가 여러 영역 간에 복제되어 가용성과 탄력성이 향상됩니다.

Cloud SQL에서 지원되지 않는 MySQL 기능이 필요한 경우에는 Compute Engine에 MySQL을 설치해야 할 수 있습니다. 예를 들어 Cloud SQL은 사용자 정의 함수 또는 SUPER 권한을 지원하지 않습니다. 자세한 내용은 Cloud SQL FAQ를 참조하세요.

Compute Engine에 MySQL을 설치하려는 경우에는 Google GCP Marketplace를 사용해서 MySQL 설치를 배포하거나, Compute Engine 인스턴스에 MySQL을 수동으로 설치할 수 있습니다. GCP Marketplace를 사용하면 대규모 개발 스택의 일부로 MySQL을 편리하게 배포할 수 있습니다. GCP Marketplace는 독립형 MySQL 설치, LAMP 스택, LEMP 스택, Nginx 스택, Percona MySQL 클러스터 설치 등 여러 가지 MySQL 설치 옵션을 제공합니다.

GCP Marketplace에 적절한 배포 옵션이 없는 경우, Compute Engine 인스턴스에 MySQL을 수동으로 설치할 수 있습니다. 예를 들어 자신이 만든 커스텀 이미지에 MySQL을 배포하거나, 설치 프로세스를 완전히 제어할 수도 있습니다.

Compute Engine 인스턴스에 MySQL을 수동으로 설치하기 위해서는 Compute Engine 인스턴스를 만들고 인스턴스에 직접 MySQL을 설치해야 합니다. 이 문서의 나머지 부분에서는 Compute Engine 인스턴스에 MySQL을 수동으로 설치하는 방법을 설명합니다.

목표

  • Compute Engine 인스턴스 만들기
  • MySQL 설치
  • MySQL에 연결

기본 요건

  1. Google Cloud Platform 콘솔에서 새 프로젝트를 만듭니다. 기존 프로젝트를 사용할 수 있지만, 새 프로젝트를 만들면 더 쉽게 삭제할 수 있습니다.

Google Cloud Platform Console을 사용하여 이 문서의 모든 단계를 완료할 수 있지만, gcloud 명령줄 도구를 사용하려는 경우 다음 단계에 따라 Compute Engine API를 사용 설정하고 Google Cloud SDK를 설치하세요.

  1. Google Cloud Platform Console을 사용하여 Compute Engine API를 사용 설정합니다.

  2. Google Cloud SDK를 설치합니다.

  3. 작업공간을 구성하여 명령을 간결하게 만듭니다. 다음 명령어에서 [PROJECT_ID][ZONE]을 해당 프로젝트 값으로 바꿉니다. 영역의 전체 목록은 사용 가능한 지역 및 영역을 참조하세요.

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    

Compute Engine 인스턴스 만들기

MySQL에 사용할 Compute Engine 인스턴스를 만들고 새로 생성된 인스턴스에 대한 SSH 연결을 설정합니다. 기본 운영체제는 Debian 버전 9입니다. 이 가이드에서 다른 운영체제를 사용하려는 경우 Compute Engine 문서의 이미지 페이지에서 설명하는 옵션 중에서 선택할 수 있습니다.

콘솔


Google Cloud Platform 콘솔에서 Compute Engine 인스턴스를 만들려면 다음 안내를 따르세요.

  1. Google Cloud Platform 콘솔을 엽니다.

  2. 새로 생성된 프로젝트를 선택하고 계속을 클릭합니다.

  3. 인스턴스 만들기(기존 인스턴스가 있으면 새 인스턴스)를 클릭합니다. 인스턴스 이름을 mysql-test로 지정합니다.

  4. 기본값과 다른 운영체제를 지정하려면 부팅 디스크 섹션에서 변경을 클릭하고 운영체제를 선택한 후 선택을 클릭합니다.

  5. 만들기를 클릭합니다.

SSH 연결을 설정하려면 다음 안내를 따르세요.

  1. VM 인스턴스 페이지의 목록에서 새 VM 인스턴스를 찾습니다.

  2. 연결 열에서 SSH를 클릭합니다. 브라우저 창에 SSH 터미널이 열립니다.

gcloud


  1. Compute Engine 인스턴스를 만들려면 gcloud compute instances create 명령어를 사용합니다. 다른 운영체제를 사용하려면 --image 매개변수와 그 뒤에 이미지 이름을 추가합니다. 예를 들어 Debian 9을 사용하려면 --image debian-9을 추가합니다.

    gcloud compute instances create mysql-test
    
  2. ssh를 사용하여 인스턴스에 연결합니다.

    gcloud compute ssh mysql-test
    

MySQL 설치

다음 단계에서는 Compute Engine 인스턴스에 MySQL을 설치하는 방법을 설명합니다.

Debian 및 Ubuntu


  1. apt-get 패키지 관리자를 업데이트합니다.

    sudo apt-get update
    
  2. MySQL을 설치합니다. 설치 과정에서 MySQL 서비스가 자동으로 시작됩니다.

    sudo apt-get -y install mysql-server
    

CentOS 6 및 RHEL 6


  1. MySQL을 설치합니다.

    sudo yum -y install mysql-server
    
  2. MySQL 서버를 시작합니다.

    sudo service mysqld start
    

CentOS 7 및 RHEL 7


CentOS 및 RHEL의 버전 7에서는 패키지 관리 시스템의 일부로 MySQL 대신 MariaDB가 포함됩니다. CentOS 7에 MySQL을 설치하려면 우선 패키지 관리자를 업데이트해야 합니다.

  1. MySQL을 포함하도록 패키지 관리자를 업데이트합니다.

    sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
  2. MySQL을 설치합니다.

    sudo yum -y install mysql-community-server
    
  3. MySQL 서버를 시작합니다.

    sudo /usr/bin/systemctl start mysqld
    

MySQL 설치 보안 강화

MySQL 설치의 보안을 강화하려면 mysql_secure_installation 명령어를 실행합니다. 설치 과정 중에 비밀번호를 설정하지 않은 경우 이 단계에서 비밀번호를 만듭니다. 이 명령어에 대한 자세한 내용은 MySQL 문서에서 mysql_secure_installation 부분을 참조하세요.

sudo mysql_secure_installation

MySQL에 연결

다음 단계에서는 mysql-test 인스턴스에서 MySQL에 연결하는 방법을 설명합니다.

  1. MySQL 클라이언트를 사용하여 MySQL에 연결합니다.

    sudo mysql -u root -p
    

    MySQL에 연결하면 프롬프트가 다음과 같이 변경됩니다.

    mysql>

    이제 MySQL 명령어를 실행할 수 있습니다. 예를 들어 다음 명령어는 실행 중인 스레드 및 현재 연결을 보여줍니다.

    mysql> SHOW processlist;
    +----+------+-----------+------+---------+------+-------+------------------+
    | Id | User | Host      | db   | Command | Time | State | Info             |
    +----+------+-----------+------+---------+------+-------+------------------+
    | 51 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
    +----+------+-----------+------+---------+------+-------+------------------+
    1 row in set (0.00 sec)

    다음 명령어를 사용하여 사용자 목록을 생성할 수 있습니다.

    mysql> SELECT User, Host, Password FROM mysql.user;
    +------------------+------------+-------------------------------------------+
    | User             | Host       | Password                                  |
    +------------------+------------+-------------------------------------------+
    | root             | localhost  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | mysql-test | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | 127.0.0.1  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | ::1        | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | debian-sys-maint | localhost  | *AD7B08AF7691A552A57900F1A9D8AE26ED499117 |
    +------------------+------------+-------------------------------------------+
    5 rows in set (0.00 sec)
  2. 명령어 실행을 마쳤으면 exit 명령어를 사용하여 MySQL 클라이언트를 종료한 후 exit를 다시 사용하여 Compute Engine 인스턴스에서 로그아웃합니다.

    mysql> exit
    exit

삭제

MySQL 가이드를 완료한 후에는 이후에 요금이 청구되지 않도록 GCP에서 만든 리소스를 삭제할 수 있습니다. 다음 섹션은 이러한 리소스를 삭제하거나 사용 중지하는 방법을 설명합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 가이드에서 만든 프로젝트를 삭제하는 것입니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. GCP Console에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

인스턴스 삭제

Compute Engine 인스턴스를 삭제하는 방법은 다음과 같습니다.

  1. GCP Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 다음 옆에 있는 체크박스를 클릭합니다. 삭제할 인스턴스
  3. 페이지 상단의 삭제 삭제를 클릭하여 인스턴스를 삭제합니다.

다음 단계

지금까지 MySQL 서버를 Compute Engine에 설치하는 방법을 확인했습니다. 더 복잡한 MySQL 사용 사례를 살펴보려면 GCP Marketplace에서 MySQL을 사용하는 다양한 개발 스택을 둘러보세요.

고가용성 및 확장성이 필요한 경우 Compute Engine에 MySQL 클러스터를 설치해 보시기 바랍니다. MySQL 클러스터는 비공유 클러스터링 및 자동 분할을 통해 고가용성과 확장성을 제공합니다. GCP Marketplace에서 클릭 한 번으로 간편하게 배포할 수 있는 Percona는 MySQL 클러스터링을 위한 오픈소스 솔루션입니다.

MySQL 확장성을 위한 또 하나의 오픈소스 솔루션은 2011년부터 YouTube의 모든 데이터베이스 트래픽을 처리해 온 Vitess입니다. Vitess는 컨테이너에서 실행되는 애플리케이션에 적합합니다. 컨테이너화 환경에서 Vitess를 사용하는 방법에 대한 자세한 내용은 Kubernetes에서 Vitess 실행을 참조하세요.

MySQL에 대한 자세한 내용은 공식 MySQL 문서를 참조하세요.

다른 Google Cloud Platform 기능을 직접 사용해 보세요. 가이드 참조

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...