ฉันกำลังมองหาวิธีที่จะทำการใช้งานฟ้า / สีเขียวกับCloudFront
ใครบ้างมีทางออกที่ดีสำหรับการย้ายจากการกระจาย CloudFront หนึ่งไปยังอีกหรือไม่ทุกคนเพียงแค่สร้างการกระจายของพวกเขาและจากนั้นไม่เคยสัมผัสอีกครั้งหรือไม่
การกระจาย CloudFront ของฉันประกอบด้วยต้นกำเนิด S3 หนึ่งรายการสำหรับเนื้อหาแบบคงที่ (javascript ฯลฯ ) และต้นกำเนิดที่กำหนดเองซึ่งชี้ไปที่ AWS ELB
ไม่มีการเปลี่ยนแปลงของ CloudFront
ภายใต้สถานการณ์ปกติเราจะไม่ทำการเปลี่ยนแปลงใด ๆ กับการกระจาย CloudFront ของเราเลย เราเวอร์ชั่นเนื้อหาแบบคงที่ของเราในแหล่งกำเนิด S3 โดยการเปลี่ยนชื่อของไฟล์เนื้อหาแบบคงที่ใน S3 และทำการปรับใช้กับอินสแตนซ์ EC2 ภายใต้ Elastic Load Balancer (ELB) อย่างไรก็ตามมีบางครั้งที่เราจำเป็นต้องทดสอบและทำการเปลี่ยนแปลงการกระจายตัวของ CloudFront หรือมีการเปลี่ยนแปลงที่สำคัญพอกับสภาพแวดล้อมของเราที่เราต้องชี้ไปที่ ELB ใหม่ในสภาพแวดล้อมใหม่
การกระจายของ CloudFront สองรายการ
ตัวเลือกแรกที่ฉันพยายามคือมีการเผยแพร่เว็บ CloudFront สองแบบแยกต่างหากหนึ่งรายการสำหรับปัจจุบันของฉันหรือ A สภาพแวดล้อมและอีกหนึ่งสำหรับสภาพแวดล้อมใหม่หรือ B ของฉัน ฉันพยายามใช้นโยบายการกำหนดเส้นทางแบบถ่วงน้ำหนัก Route53 ซึ่งฉันเพิ่มสองเรคคอร์ดสำหรับเรคคอร์ด www.domain.com Route53 อันหนึ่งชี้ไปที่การแจกจ่าย CloudFront A ที่มีน้ำหนักเท่ากับ 1 และอีกอันชี้ไปที่การแจกจ่าย CloudFront B ที่มีน้ำหนักเท่ากับ 0. แผนจะเปลี่ยนน้ำหนักเมื่อฉันต้องการย้ายจากการแจกจ่าย A ไปยังการกระจาย B อย่างไรก็ตามการกระจาย CloudFront เพียงครั้งเดียวในแต่ละครั้งสามารถลงทะเบียนwww.domain.com Alternate Domain Names (CNAMEs)หรือคุณได้รับข้อผิดพลาดต่อไปนี้:
com.amazonaws.services.cloudfront.model.CNAMEAlreadyExistsException: One or more of the CNAMEs you provided are already associated with a different resource. (Service: AmazonCloudFront; Status Code: 409; Error Code: CNAMEAlreadyExists; Request ID: ef84a5f0-44e7-11e5-9315-0ba167bb108a)
One CloudFront Distribution
ตัวเลือกที่สองคือการกระจายเว็บ CloudFront หนึ่งรายการ ฉันมี S3 และต้นกำเนิดที่กำหนดเองซึ่งชี้ไปที่ทั้งสภาพแวดล้อม A และ B ของฉันจากนั้นฉันจะปรับปรุงลักษณะการทำงานแคชของ CloudFront ให้ชี้ไปที่ต้นกำเนิดอื่นเมื่อฉันต้องการย้ายจากสภาพแวดล้อมหนึ่งไปยังอีกสภาพแวดล้อมหนึ่ง สิ่งนี้ยุ่งมากเพราะการอัปเดตเหล่านี้ใช้เวลา 15-60 นาทีไม่มีการเปิดเผยความคืบหน้าของการอัปเดตและขึ้นอยู่กับลักษณะของการเปลี่ยนแปลงที่คุณอาจต้องติดตามด้วยการยกเลิกการตรวจสอบ CloudFrontดังนั้นคุณจึงไม่แสดงเนื้อหาแคช จากสภาพแวดล้อมเก่าพร้อมกับเนื้อหาใหม่
ขอบคุณสำหรับคำแนะนำ!