CloudSQL (mysql) 인증서 구성
서버 인증서
- 자동 생성, 만료일 10년
- 서버 인증서 순환
- 인증서 만료에 관한 알림(3개월전에 메일)을 받았거나 순환을 시작한 경우 진행
- 순서
- 서버 인증서 순환
- 클라이언트에 서버 인증서 교체
클라이언트 인증서: 인스턴스당 10개로 제한
참고
- Cloud SQL 인스턴스가 공개 IP 주소를 사용하는 경우 SSL/TLS를 구성 할 때 MySQL 클라이언트의 IP 주소를 승인된 네트워크 로 추가해야 합니다.
CloudSQL Instance SSL/TLS 적용
gcloud sql instances patch INSTANCE_NAME \
--require-ssl
- SSL 연결허용 시 인스턴스 재시작 필요
서버 인증서 만들기
인증서 정보 가져오기
gcloud beta sql ssl server-ca-certs list \
--instance=INSTANCE_NAME
서버 인증서 만들기
gcloud beta sql ssl server-ca-certs create \
--instance=INSTANCE_NAME
PEM 다운로드
gcloud beta sql ssl server-ca-certs list \
--format="value(cert)" \
--instance=INSTANCE_NAME > \
FILE_PATH/FILE_NAME.pem
클라이언트 인증서 없이 접속
- 불가
클라이언트 인증서 만들기
- IAM Role: Cloud SQL Admin
- 만료일 10년
- 알림 발송 없음
client-key.pem
gcloud sql ssl client-certs create CERT_NAME client-key.pem \
--instance=INSTANCE_NAME
client-cert.pem
gcloud sql ssl client-certs describe CERT_NAME \
--instance=INSTANCE_NAME \
--format="value(cert)" > client-cert.pem
server-ca.pem
server-ca.pem
으로 저장된 서버 인증서client-cert.pem
으로 저장된 클라이언트 공개 키 인증서client-key.pem
으로 저장된 클라이언트 비공개 키
client로 Cloudsql ssl/tls 접속
mysql \
--ssl-ca=server-ca.pem \
--ssl-cert=client-cert.pem \
--ssl-key=client-key.pem \
--host=INSTANCE_IP --ssl-mode=verify_ca --user=root --password
'Cloud-computing > GCP' 카테고리의 다른 글
[GCP]GCP Product cheat sheets - Compute, Storage (0) | 2022.07.24 |
---|---|
[GCP]How to use Cloud CDN (1) | 2022.07.19 |
[GCP]How to Create Managed Instance Group (MIG) (0) | 2022.06.20 |
[GCP]How to Backup/Restore/Export/Import in Cloud SQL (1) | 2022.06.19 |
[GCP]How to create Firewall-rule (0) | 2022.06.07 |