Tôi có thể đổi tên một ví dụ RDS không?


11

Tôi đã kế thừa một tập hợp các phiên bản RDS MySQL với các tên Trường hợp DB ngẫu nhiên (vô dụng) .

Tôi thường phải đào sâu vào phần thẻ để tìm hiểu xem chúng thuộc về dự án nào.

Một trong những cài đặt tôi có thể sửa đổi trong RDS là DB Instance Identifier.

Nếu tôi thay đổi điều này, điều gì sẽ xảy ra bên cạnh việc thay đổi tên? Nó sẽ ảnh hưởng đến mã của bất cứ ai? Hay đó là một sự thay đổi vô hại?

Đây là những hệ thống sống mà tôi không đủ khả năng để đưa xuống.

Câu trả lời:


10

Có, bạn có thể đổi tên một ví dụ RDS ... trong tình trạng nguy hiểm của riêng bạn.

Khi bạn đổi tên phiên bản DB, điểm cuối [DNS] [tên máy chủ] cho phiên bản DB thay đổi, vì URL bao gồm tên bạn đã gán cho phiên bản DB.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

Mã ứng dụng của bạn yêu cầu thay đổi cấu hình để được phối hợp, vì lý do này.

Xem các liên kết ở trên cho các ý nghĩa khác. Đây là một hoạt động được hỗ trợ và nói chung là an toàn, nhưng chỉ trong cửa sổ bảo trì của bạn, bởi vì sẽ nhất thiết phải có một sự gián đoạn ngắn khi DNS được thay đổi và mã ứng dụng của bạn được chuyển sang tên máy chủ cơ sở dữ liệu mới.


3

Có, bạn có thể thay đổi tên của cá thể RDS, nhưng rất không khuyến khích làm như vậy trong môi trường sản xuất LIVE. Nó sẽ thay đổi Endpoint có thể tác động tích cực đến các tài nguyên khác khi truy cập máy chủ RDS (như máy chủ ứng dụng).

Điều này có thể sẽ yêu cầu thay đổi thuộc tính / biến env trong mã hoặc cấu hình của bạn (lý tưởng sẽ kết thúc việc phát hành cấu hình thông qua quản lý cấu hình)

Để tránh gián đoạn (Trong tương lai) và triển khai thay đổi với RTO ít hơn, bạn có thể tạo một mục nhập DNS trung gian (CNAME) trong Route53 cho máy chủ RDS của bạn và sử dụng URL trung gian trong ứng dụng của bạn. Khi tên máy chủ RDS thay đổi, bạn có thể thay đổi DNS CNAME của Điểm cuối RDS mới. LƯU Ý: Trong khi thay đổi tên, máy chủ RDS của bạn sẽ không khả dụng (với tên cũ) trong vài phút và điều này có thể gây gián đoạn

Điều đó đang được nói, bạn đã thiên vị về một giải pháp (thay đổi tên RDS) cho vấn đề của bạn. Nhưng

Có nhiều giải pháp cho vấn đề thực tế của bạn (quản lý máy chủ RDS cho từng dự án)

A. Cố gắng tránh sử dụng Bảng điều khiển AWS càng nhiều càng tốt. Tại sao bạn không bắt đầu tìm hiểu AWS CLI (có thể kéo các thẻ) và viết tập lệnh Python / Bash của trình bao bọc để liệt kê tất cả các máy chủ RDS - với Tên dự án, từ đầu ra này, bạn có thể quản lý các máy chủ này, như chụp nhanh, sao lưu, v.v. . Bạn cũng có thể sử dụng mysql --login-path (Nếu bạn đang sử dụng quản trị DB cho quản trị DB) https://opensourcedbms.com/dbms/passwordless-authentication-USE-mysql_config_editor-with-mysql-5-6/ .

B. (Phương pháp tiếp cận bất khả tri về chi phí) Nếu bạn có quyết định thay đổi Tên RDS, thì có một số thứ bạn có thể làm mà không có bất kỳ tác động nào.

B.1 When the next code/config release happens try to bring in the intermediate DNS change into action.

B.2 (Optional) Enable Multi AZ in RDS (HA and twice the price). This will help your application to access the secondary active slave when there is any disruption due to name change. There is an option called Reboot with failover which would reboot the master while failing over to the active secondary 

B.3 Enable replication (read-replica) (this will give you a new RDS end-point). Name the read replica properly with your project names

B.4. Once replication is complete (and during your SLA / maintenance window) promote your read replica (this will break replication) and make the intermediate DNS point to the new RDS (with your proper names)

LƯU Ý Tất cả các cách tiếp cận trên sẽ không đảm bảo tính toàn vẹn dữ liệu và cập nhật dữ liệu không chính xác do các giao dịch trên chuyến bay. Vì vậy, tốt hơn hết là dừng tất cả các giao dịch (bằng cách dừng tất cả các ứng dụng truy cập và triển khai trang bảo trì và thực hiện các thao tác)


Tôi đánh giá cao đầu vào của bạn, mặc dù tôi đã nhận thấy rằng những cái tên kỳ lạ (vô dụng) đến từ việc sử dụng CLI. Tạo một cá thể RD từ bàn điều khiển cung cấp cho chúng các tên có ý nghĩa.
Daniel Schoemann

cũng rất khó (không thể?) để thực hiện phân tích thanh toán từ CLI, cũng như xem biểu đồ sử dụng.
Daniel Schoemann

1
# 1 Ohh, để tạo, bạn có thể xem Cloudform (nơi bạn có thể xác định tên RDS), khi tôi nói CLI tôi đã đề cập đến việc đọc danh sách RDS (để phân tích dễ dàng khi sử dụng grep --output=text. # 2 và có để phân tích thanh toán, Bảng điều khiển là bắt buộc, bạn nên xem xét việc tạo người dùng IAM với vai trò thanh toán và giao nó cho nhân viên tài chính của bạn.
Ameen Ibrahim Raffic - 'AIR'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.