サービスの急成長は嬉しいお知らせですが、その反面機能追加時のALTERがどんどん大変に。普通にALTERを行うと、メンテナンス時間何時間とったら、良いのかわからないですよね。1時間程度のメンテナンス時間で、RDS上のデカイテーブルをALTERする方法を紹介します。 戦略 1.リードレプリカを追加する 2.オンラインでリードレプリカにALTER文を実行 3.レプリケーションがおいつたタイミングで、アプリケーションの向き先をリードレプリカに変更 4.リードレプリカをマスターに昇格させる 手順 1.リードレプリカに書き込み権限を与える デフォルトの状態では、「Parameter Groups」のread_onlyが{TrueIfReplica}になっているので、これを「0」にします。この変更は再起動なしで各インスタンスに適用されるのでで、間違って「1」にしてMasterへの書き込みが止まらないよ
