본문 바로가기

Cloud/GCP

9. GCP : SQL & SQL-Wordpress 연결

GCloud에서 제공하는 SQL 이점

보안 및 규정 준수

저장 데이터와 전송 중 데이터를 암호화합니다. Virtual Private Cloud와의 비공개 연결과 방화벽 보호가 포함된 사용자 제어 네트워크 액세스를 지원합니다. SSAE 16, ISO 27001, PCI DSS, HIPAA를 준수합니다.

필요에 따라 확장 가능

간단한 테스트로 시작하든 프로덕션 환경에 가용성이 높은 데이터베이스가 필요하든 상관없이 단일 API 호출을 통해 손쉽게 인스턴스를 확장하세요.

단 몇 분 만에 설정

표준 연결 드라이버와 기본 제공 마이그레이션 도구를 사용하면 단 몇 분 만에 첫 번째 데이터베이스를 생성하여 연결할 수 있습니다.

 

주요 특징

완전 관리형

Cloud SQL이 자동으로 데이터베이스의 안정성, 보안성, 확장성을 보장하므로 비즈니스를 중단 없이 운영할 수 있습니다. Cloud SQL은 백업, 복제, 암호화 패치, 용량 확장을 모두 자동화하면서 세계 어디서나 99.95% 이상의 가용성을 보장합니다.

통합

모든 애플리케이션에서 Cloud SQL 인스턴스에 액세스할 수 있습니다.

안정성

복제 및 백업을 쉽게 구성해 데이터를 보호할 수 있습니다. 

Cloud SQL로 간편하게 마이그레이션

Database Migration Service(DMS)를 통해 최소한의 다운타임으로 프로덕션 데이터베이스를 Cloud SQL로 간편하게 마이그레이션할 수 있습니다. 서버리스 제품으로, 마이그레이션을 위한 리소스를 프로비저닝, 관리, 모니터링하는 수동 작업이 필요하지 않습니다. DMS는 MySQL과 PostgreSQL의 기본 복제 기능을 사용하여 마이그레이션의 품질과 신뢰도를 극대화합니다.

 

1. SQL 생성

※ GCP에서 SQL 선택

 

SQL 인스턴스 만들기

 

1.1. SQL 생성

DB 엔진 선택

 

인스턴스 정보 입력

인스턴스 ID 및 리전 선택

CPU 메모리 선택 (비용 절감을 위해 커스텀하여 사용)

 

저장 용량 선택 (비용 절감을 위해 HDD/10GB 사용)

 

 비공개 IP 선택 후 비공개 액세스 연결 설정

 

비공개 액세스 연결 설정 - 10.0.16.0/24로 IP 범위 할당

 

인스턴스 만들기

 

1.2. SQL 생성 확인

인스턴스 비공개 IP 확인

 

1.3. DB 생성

SQL → 데이터베이스 → 데이터 베이스 만들기

 

wordpress DB 생성

 

1.4. DB 사용자 확인

SQL → 사용자 → DB 사용자 및 권한 확인

 


2. 인스턴스 생성 및 연결

2.1. 인스턴스 생성

wordpress 설치할 인스턴스(VM) 생성 (아래 포스팅 참고)

2022.07.05 - [Cloud/GCP] - 6. GCP : Filestore

 

인스턴스 생성 시 고정 내부 IP 주소 예약 (안해도 무방하다.)

 

시작 스크립트 작성하여 wordpress 자동 설치되도록 생성

#! /bin/bash
sudo su -
setenforce 0
yum install -y httpd wget
yum install -y epel-release yum-utils
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73
yum install -y php php-cli php-mysql

wget https://ko.wordpress.org/latest-ko_KR.tar.gz
tar zxvf latest-ko_KR.tar.gz
cp -a wordpress/* /var/www/html/

sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php/g' /etc/httpd/conf/httpd.conf
chown apache.apache /var/www/html/*

cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sed -i 's/database_name_here/wordpress/g' /var/www/html/wp-config.php
sed -i 's/username_here/root/g' /var/www/html/wp-config.php
sed -i 's/password_here/It12345!/g' /var/www/html/wp-config.php
sed -i 's/localhost/10.0.16.3/g' /var/www/html/wp-config.php

cat > /var/www/html/health.html << EOF
<html><body><h1>MHAN WEB SERVER-health</h1></body></html>
EOF

systemctl start httpd
systemctl enable httpd

 

※ 인스턴스 생성 확인

 

2.2. 인스턴스 연결

SQL → 연결 → 네트워킹 →  승인된 네트워크

 

※ DB와 연결할 인스턴스의 외부 IP 입력

 


3. 접속 Test

웹브라우저에서 외부IP 입력하여 접속 테스트 진행

 


Reference.

 

PostgreSQL, MySQL, SQL Server용 Cloud SQL  |  Cloud SQL: 관계형 데이터베이스 서비스  |  Google Cloud

Cloud SQL은 관계형 데이터베이스인 PostgreSQL, MySQL, SQL Server를 손쉽게 설정, 유지, 관리할 수 있는 완전 관리형 서비스입니다.

cloud.google.com

 

'Cloud > GCP' 카테고리의 다른 글

10. GCP : Cloud Load Balancing  (0) 2022.07.05
8. GCP : Cloud Storage  (0) 2022.07.05
7. GCP : Cloud DNS  (0) 2022.07.05
6. GCP : Filestore  (0) 2022.07.05
5. GCP : 인스턴스 CLI로 생성 및 접속 (gcloud CLI)  (0) 2022.07.05