Score:0

เป็นไปได้หรือไม่ที่จะระบุอินสแตนซ์ CloudSQL ที่มีอยู่เป็นปลายทางสำหรับบริการย้ายฐานข้อมูลใน GCP

ธง cn

ตามคู่มือ GCP การตั้งค่าการย้ายฐานข้อมูลเกี่ยวข้องกับการสร้างงานการย้ายข้อมูลในคอนโซลโดยใช้วิซาร์ด [1] วิซาร์ดสร้างอินสแตนซ์ CloudSQL ใหม่ แต่ฉันต้องการระบุอินสแตนซ์ที่มีอยู่เพื่อให้เราสามารถจัดการอินสแตนซ์ปลายทางผ่านการควบคุมเวอร์ชัน (เช่น Terraform)

เป็นไปได้หรือไม่ที่จะระบุอินสแตนซ์ CloudSQL ที่มีอยู่เป็นปลายทางสำหรับบริการย้ายฐานข้อมูลใน GCP ถ้าเป็นเช่นนั้นได้อย่างไร?

ถ้าไม่ โซลูชันอื่นสำหรับการควบคุมเวอร์ชันคือการสร้างงานการย้ายข้อมูล (และอาจเป็นอินสแตนซ์ปลายทาง) ผ่านสคริปต์ที่รันคำสั่ง gcloud CLI/API

จากคู่มือ API สำหรับการย้ายฐานข้อมูล [2] ดูเหมือนว่าเราต้องระบุ a ปลายทาง โปรไฟล์การเชื่อมต่อ

รหัสโปรไฟล์การเชื่อมต่อปลายทาง: รหัสโปรไฟล์การเชื่อมต่อปลายทาง

สิ่งนี้สะท้อนให้เห็นในเอกสาร gcloud CLI [3]

--destination=ปลายทาง
ID ของ connection_profile หรือตัวระบุแบบเต็มสำหรับ connection_profile ในการตั้งค่าแอตทริบิวต์ connection_profile:
ให้อาร์กิวเมนต์ --destination ในบรรทัดคำสั่ง

นี่หมายความว่าในการสร้างงานการย้ายข้อมูลผ่าน CLI ฉันจะต้องสร้างอินสแตนซ์ CloudSQL ปลายทางด้วยตนเองและโปรไฟล์การเชื่อมต่อสำหรับอินสแตนซ์นั้นด้วยหรือไม่ ถ้าเป็นเช่นนั้น ผู้ใช้การเชื่อมต่อต้องการสิทธิพิเศษอะไรบ้าง? หรือคำสั่ง "สร้างงานการย้ายข้อมูลการย้ายฐานข้อมูล gcloud" สร้างอินสแตนซ์ปลายทางโดยอัตโนมัติหรือไม่

มิฉะนั้น เปิดรับคำแนะนำว่า --destination flag อาจหมายถึงอะไร

[1] https://cloud.google.com/database-migration/docs/mysql/create-migration-job

[2] https://cloud.google.com/database-migration/docs/mysql/api-migration-jobs#create_a_continuous_migration_job_with_reverse_ssh_connectivity

[3] https://cloud.google.com/sdk/gcloud/reference/database-migration/migration-jobs/create

Score:1
ธง in

คุณถามคำถามด้านล่าง:

  • เป็นไปได้หรือไม่ที่จะระบุอินสแตนซ์ CloudSQL ที่มีอยู่เป็น ปลายทางสำหรับบริการย้ายฐานข้อมูลใน GCP หรือไม่

  • คำสั่ง "การสร้างงานการย้ายข้อมูลการย้ายฐานข้อมูล gcloud" สร้างอินสแตนซ์ปลายทางโดยอัตโนมัติหรือไม่

  • นี่หมายความว่าในการสร้างงานการย้ายข้อมูลผ่าน CLI หรือไม่ I จะต้องสร้างอินสแตนซ์ CloudSQL ปลายทางด้วยตนเองและ โปรไฟล์การเชื่อมต่อสำหรับอินสแตนซ์นั้นด้วยหรือไม่

  • คำตอบสำหรับคำถามที่ 1: ไม่ เป็นไปไม่ได้ สิ่งที่ฉันทำคือ บริการย้ายฐานข้อมูลนั้นจะสร้างอินสแตนซ์ใหม่เสมอ เมื่อใช้วิซาร์ด/คอนโซลเพื่อดำเนินการบริการย้ายข้อมูล เมื่อใด คุณคลิกสร้างปลายทาง มันจะสร้างใหม่โดยอัตโนมัติ อินสแตนซ์ปลายทางของ Cloud SQL สำหรับคุณ เมื่อใช้ API คุณจะ คาดว่าจะสร้างโปรไฟล์ปลายทาง ดูนี่ ลิงค์ มันอยู่ที่ไหน กล่าวถึง "สร้างโปรไฟล์การเชื่อมต่อสำหรับ Cloud SQL สำหรับ MySQL ปลายทาง ... บริการย้ายฐานข้อมูลสำหรับ MySQL ใช้ ข้อมูลในคำขอนี้เพื่อสร้าง Cloud SQL ใหม่สำหรับ MySQL ตัวอย่าง."

    ฉันคิดว่ามันค่อนข้างยุ่งยากที่จะทำให้บริการทำงานได้อย่างน่าเชื่อถือ หากเราไม่ได้สร้างอินสแตนซ์ใหม่ทุกครั้ง ที่กล่าวว่าฉันคิดว่า บริการที่มีอยู่ในขณะนี้ได้รับการออกแบบให้สามารถรองรับได้มากขึ้น ตัวเลือกในอนาคต ดังนั้นมันอาจเกิดขึ้น แต่ฉันไม่เห็นเลย เป็นหลักฐานว่าสามารถทำได้แล้ว

  • คำตอบสำหรับคำถามที่ 2 : ไม่ มันไม่ได้สร้างขึ้น เมื่อคุณวิ่ง คำสั่ง âgcloud database-migration migration-job createâ คุณ ต้องสร้างโปรไฟล์การเชื่อมต่อต้นทางและปลายทาง และกำหนดเป็นพารามิเตอร์ให้กับคำสั่งนี้ตาม เอกสาร.

  • คำตอบสำหรับคำถามที่ 3 : ไม่ หากต้องการทำสิ่งนี้โดยใช้ gcloud (หรือ API) คุณต้องสร้างโปรไฟล์การเชื่อมต่อต้นทางและปลายทาง จากนั้นงานการย้ายข้อมูลและอินสแตนซ์ปลายทางจะถูกสร้างขึ้น ให้กับคุณตามข้อมูลที่ให้ไว้ ที่นี่.

ข้อกังวลของคุณเกี่ยวกับวิธีจัดการสิ่งนี้ด้วย Terraform อาจถูกต้องและน่าสนใจ แต่ Terraform เป็นผลิตภัณฑ์ของบุคคลที่สาม และ Google ไม่ได้สร้าง API โดยคำนึงถึงโมเดลของมัน บางทีคุณอาจสร้างปัญหากับสิ่งนี้และใครบางคนจากส่วนนั้นสามารถเข้ามาตรวจสอบได้

Score:-1
ธง cn

น่าเสียดายที่ google เลือกใช้วิธีแก้ปัญหานี้ด้วยวิธีนี้ ตอนแรกฉันคิดว่ามันคล้ายกับแนวทางของ AWS มากกว่าตรงที่ DMS ตั้งค่าอินสแตนซ์ฐานข้อมูลตัวกลางเพื่อโยกย้าย / จัดการข้อมูลก่อนที่จะจำลองไปยังอินสแตนซ์เป้าหมาย / เอ็นจิ้น DB

หวังว่าพวกเขาจะพัฒนาไปเรื่อย ๆ แต่สำหรับตอนนี้ดูเหมือนจะไม่ใช่ผลิตภัณฑ์ที่สมบูรณ์

John Hanley avatar
cn flag
บางทีคำตอบของคุณควรเป็นความคิดเห็นในคำถามของคุณ โพสต์ของคุณมีประโยชน์มากกว่าคำตอบของ @priyashree-bhadra หรือไม่
ph flag
สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม เมื่อคุณมี[ชื่อเสียง](https://serverfault.com/help/whats-reputation)เพียงพอแล้ว คุณจะสามารถ[แสดงความคิดเห็นในโพสต์ใดก็ได้](https://serverfault.com/help/privileges/comment) [ให้คำตอบที่ไม่ต้องการคำชี้แจงจากผู้ถาม](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- ฉันทำแทน) - [จากรีวิว](/review/late-answers/513776)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา