[AWS Technical Support Note] วิธีการระบุ CA Certificate ของ Instance ที่ Restore มาจาก RDS Snapshot

[AWS Technical Support Note] วิธีการระบุ CA Certificate ของ Instance ที่ Restore มาจาก RDS Snapshot

หาก restore จาก snapshot โดยใช้ Management Console คุณไม่สามารถระบุ CA Certificate ได้ ดังนั้นเราต้องระบุ CA Certificate โดยใช้ AWS CLI

ปัญหาที่เกิดขึ้น

สร้าง Snapshot ของ Aurora Cluster ที่ใช้งาน Amazon RDS CA : rds-ca-2019

dbf9169799a650ddbbd0671a2d794b1d

ตอนที่ restore ตัว RDS, snapshot บน AWS Management console Parameter CA กลายเป็น rds-ca-rsa2048-g1 แทนที่จะเป็นตัวที่ถูกใช้งานอยู่

45cbdc46c44ca66dd8b3e331d7c78860

วิธีแก้ปัญหา

สาเหตุ

หากเรา restore ตัว snapshot โดยใช้ AWS Management Console จะไม่สามารถระบุ CA ที่ต้องการใช้งานได้ และ CA ที่เป็น default จะถูกนำมาใช้งานเมื่อทำการ restore (ในบล็อกนี้คือ rds-ca-rsa2048-g1)

วิธีแก้ปัญหา

ถ้าเราอยาก restore ตัว Aurora Instance พร้อมด้วย CA ที่กำลังใช้งานอยู่ (rds-ca-2019) หลังจาก restore ตัว Cluster ด้วย AWS CLI(restore-db-cluster-from-snapshot) แล้ว ให้ระบุ rds-ca-2019 ที่ option ของ --ca-certificate-identifier ในคำสั่ง create-db-instance

ลองทำดู

Restore Aurora Cluster

อันดับแรก restore ตัว Aurora Cluster ด้วยคำสั่ง restore-db-cluster-from-snapshot

$ aws rds restore-db-cluster-from-snapshot 
    --db-cluster-identifier test-aurora-cluster-restore-from-cli 
    --snapshot-identifier test-aurora-cluster-shapshot 
    --engine aurora-postgresql

จากรูปล่างจะเห็นว่าเราทำการ Restore ตัว Aurora Cluster สำเร็จแล้ว

620c9cff7db401caa8a90b1a43f96c08

Restore Aurora Instance

ต่อมาเราจะ restore ตัว Instance ของ Aurora โดยระบุ rds-ca-2019 ด้วย option --ca-certificate-identifier ในคำสั่ง create-db-instance

$ aws rds create-db-instance \
    --db-cluster-identifier test-aurora-cluster-restore-from-cli \
    --db-instance-identifier test-aurora-instance-restore-from-cli \
    --db-instance-class db.t3.medium \
    --engine aurora-postgresql \
    --ca-certificate-identifier rds-ca-2019

Restore ตัว Instance ที่ใช้งาน rds-ca-2019 สำเร็จแล้ว

c994720214cd6ed0b47940c5bdaeaf5e

ในกรณีที่ต้องการระบุ rds-ca-2019 เป็น CA ตอนที่ restore ตัว Instance

ในกรณีนี้เราต้องระบุ rds-ca-2019 ที่ option --ca-certificate-identifier ของคำสั่ง restore-db-instance-from-db-snapshot

$ aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier test-mysql-instance-restore-from-cli \
    --db-snapshot-identifier test-instance-snapshot \
    --db-instance-class db.t3.medium \
    --ca-certificate-identifier rds-ca-2019

Restore ตัว Instance พร้อมด้วย rds-ca-2019 ได้แล้ว

18c7a09590e6330dc28822c71b87c94c

บทความอ้างอิง

บทความอื่นๆที่เกี่ยวข้องกับ Amazon RDS

บทความต้นฉบับ

RDS スナップショットからのインスタンスの復元時に CA 証明書を指定する方法 (Japanese)

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.