ããã«ã¡ã¯ããã¯ãã«ã«ãµãã¼ã課ã®æ£®æ¬ã§ãã
ã客æ§ãããåãåãããããã ãä¸ã§ãRDS ã® DB ã¹ãããã·ã§ããã«ã¯ãã¤æç¹ã®ãã¼ã¿ãå«ã¾ããã®ãèããããã¨ããããæ¤è¨¼ãã¦ã¿ã¾ããã
- DB ã¹ãããã·ã§ããã«ã¤ãã¦ãããã
- æ¤è¨¼
- æåã¹ãããã·ã§ãã
- èªåã¹ãããã·ã§ãã
- (ãã¾ã)ç¹å®æç¹ã¾ã§ã®å¾©å (PiTR)ãå®è¡ããå ´å
- ã¾ã¨ã
DB ã¹ãããã·ã§ããã«ã¤ãã¦ãããã
DB ã¤ã³ã¹ã¿ã³ã¹ã®ã¹ãããã·ã§ãã㯠DB ã¤ã³ã¹ã¿ã³ã¹ã¹ãã¬ã¼ã¸ã®ã¹ãããã·ã§ããã§ãã ã¤ã¾ããã¹ãããã·ã§ããåå¾æç¹ã§ DB ã¤ã³ã¹ã¿ã³ã¹ã®ãã¼ãã£ã¡ã¢ãªçã«ã®ã¿åå¨ãããã¼ã¿(ãã©ã³ã¶ã¯ã·ã§ã³éä¸ã®æªã³ããããã¼ã¿ç)ã¯å«ã¾ããã ã³ããããå®äºãã¦ãã(ã¹ãã¬ã¼ã¸ã«æ°¸ç¶åããã¦ãã)ç¶æ ã®ãã¼ã¿ãå«ã¾ãããã¨ãæå¾ ããã¾ãã
Amazon RDS 㯠DB ã¤ã³ã¹ã¿ã³ã¹ã®ã¹ãã¬ã¼ã¸ããªã¥ã¼ã ã®ã¹ãããã·ã§ãããä½æããåã ã®ãã¼ã¿ãã¼ã¹ã ãã§ã¯ãªãããã® DB ã¤ã³ã¹ã¿ã³ã¹å ¨ä½ãããã¯ã¢ãããã¾ãã
ãã©ã³ã¶ã¯ã·ã§ã³éä¸ã«åå¾ããã¹ãããã·ã§ããã«æªã³ãããã®ãã¼ã¿ãå«ã¾ããªããã¨ã«ã¤ãã¦æ¤è¨¼ããã¦ããå¤é¨è¨äºã¯ããããåå¨ããã®ã§ãä»åã®ããã°ã§ã¯å²æãã¾ãã
æ¤è¨¼
ä»åã¯ãRDS for MySQL ã§æ¤è¨¼ãè¡ãã¾ãã 以ä¸ã®ããã«1ç§æ¯ã«æ¸ãè¾¼ã¿ãè¡ã£ã¦ããæä¸ã« DB ã¹ãããã·ã§ãããåå¾ããåå¾ãã DB ã¹ãããã·ã§ããã復å ãã¦ä¸ã«å«ã¾ãã¦ãããã¼ã¿ã確èªãã¾ãã ãªããèªåã³ãããã¯æå¹åããã¦ãã¾ãã
$ for i in `seq 1 3600` ; do mysql -h xxx.xxx.ap-northeast-1.rds.amazonaws.com -u xxx -pxxx -e "insert into test.t1 values (now());" ; sleep 1 ; done
æåã¹ãããã·ã§ãã
ããã¸ã¡ã³ãã³ã³ã½ã¼ã«ããæåã¹ãããã·ã§ãããåå¾ãã¾ããã CloudTrailã® CreateDBSnapshot APIå®è¡æéã¯ä»¥ä¸ã®ã¨ããã§ããã
CreateDBSnapshot (ä¸ç¥) "eventTime": "2024-09-11T06:13:26Z" (ä¸ç¥)
RDS ã¤ãã³ãã«ãã DB ã¹ãããã·ã§ããåå¾éå§ã¨å®äºæéã¯ä»¥ä¸ã®ã¨ããã§ãã
$ aws rds describe-events --source-type db-snapshot --source-identifier xxx --duration 20160; { "Events": [ { "SourceIdentifier": "xxx", "SourceType": "db-snapshot", "Message": "Creating manual snapshot", "EventCategories": [ "creation" ], "Date": "2024-09-11T06:13:52.677000+00:00", "SourceArn": "arn:aws:rds:ap-northeast-1:000000000000:snapshot:xxx" }, { "SourceIdentifier": "xxx", "SourceType": "db-snapshot", "Message": "Manual snapshot created", "EventCategories": [ "creation" ], "Date": "2024-09-11T06:15:15.421000+00:00", "SourceArn": "arn:aws:rds:ap-northeast-1:000000000000:snapshot:xxx" } ] }
ã¾ããDB ã¹ãããã·ã§ããã®åå¾éå§æéã¯ä»¥ä¸ã®ã¨ããã¨ãªã£ã¦ãããAPI ãå®è¡ããæé㨠RDS ã¤ãã³ãã®ã¹ãããã·ã§ããåå¾éå§ã¤ãã³ãããå¾ãRDSã¤ãã³ãã®ã¹ãããã·ã§ããåå¾å®äºã¤ãã³ãã®åã¨ãããããã®æéã¨ã¯ããããããã¨ããããã¾ãã
$ aws rds describe-db-snapshots --db-snapshot-identifier xxx (ä¸ç¥) "SnapshotCreateTime": "2024-09-11T06:14:03.573000+00:00" (ä¸ç¥)
復å ãã DB ã¤ã³ã¹ã¿ã³ã¹ä¸ã§ SELECT ã¯ã¨ãªãçºè¡ããçµæã¯ä»¥ä¸ã§ãã DB ã¹ãããã·ã§ããåå¾éå§æç¹(SnapshotCreateTime)ã¾ã§ã®ãã¼ã¿ãå«ã¾ãã¦ãããã¨ããããã¾ãã
mysql> select * from test.t1 order by snapshottime desc limit 1; +---------------------+ | snapshottime | +---------------------+ | 2024-09-11 06:14:03 | +---------------------+ 1 row in set (0.05 sec)
èªåã¹ãããã·ã§ãã
RDS ã¤ãã³ãã«ãã DB ã¹ãããã·ã§ããåå¾éå§ã¨å®äºæéã¯ä»¥ä¸ã®ã¨ããã§ãã
$ aws rds describe-events --source-type db-snapshot --source-identifier rds:xxx --duration 20160; { "Events": [ { "SourceIdentifier": "rds:xxx", "SourceType": "db-snapshot", "Message": "Creating automated snapshot", "EventCategories": [ "creation" ], "Date": "2024-09-12T07:08:18.310000+00:00", "SourceArn": "arn:aws:rds:ap-northeast-1:000000000000:snapshot:rds:xxx" }, { "SourceIdentifier": "rds:xxx", "SourceType": "db-snapshot", "Message": "Automated snapshot created", "EventCategories": [ "creation" ], "Date": "2024-09-12T07:10:01.163000+00:00", "SourceArn": "arn:aws:rds:ap-northeast-1:000000000000:snapshot:rds:xxx" } ] }
DB ã¹ãããã·ã§ããã®åå¾éå§æéã¯ä»¥ä¸ã®ã¨ããã§ããä¸è¿°ã®èªåã¹ãããã·ã§ããã®åå¾éå§ã¤ãã³ãã¨åå¾å®äºã¤ãã³ãã®éã®ã¿ã¤ãã³ã°ã§åå¾ãéå§ããã¦ãããã¨ããããã¾ãã
$ aws rds describe-db-snapshots --db-snapshot-identifier xxx (ä¸ç¥) "SnapshotCreateTime": "2024-09-12T07:08:29.304000+00:00" (ä¸ç¥)
復å ãã DB ã¤ã³ã¹ã¿ã³ã¹ä¸ã§ SELECT ã¯ã¨ãªãçºè¡ããçµæ ãã¡ãã DB ã¹ãããã·ã§ããã®åå¾éå§æç¹(SnapshotCreateTime)ã¾ã§ã®ãã¼ã¿ãå«ã¾ãã¦ãããã¨ããããã¾ãã
mysql> select * from test.t1 order by snapshottime desc limit 1; +---------------------+ | snapshottime | +---------------------+ | 2024-09-12 07:08:28 | +---------------------+ 1 row in set (0.01 sec)
(ãã¾ã)ç¹å®æç¹ã¾ã§ã®å¾©å (PiTR)ãå®è¡ããå ´å
CloudTrailä¸ã®ãªã¯ã¨ã¹ããã©ã¡ã¼ã¿
RestoreDBInstanceToPointInTime "requestParameters": { (ä¸ç¥) "restoreTime": "Sep 11, 2024 6:15:15 AM", (ä¸ç¥)
復å ãã DB ã¤ã³ã¹ã¿ã³ã¹ä¸ã§ SELECT ã¯ã¨ãªãçºè¡ããçµæ ç§åä½ã§ã®å¾©å ãå¯è½ãªãã¨ããããã¾ãã
mysql> select * from test.t1 order by snapshottime desc limit 1; +---------------------+ | snapshottime | +---------------------+ | 2024-09-11 06:15:15 | +---------------------+ 1 row in set (0.04 sec)
ã¾ã¨ã
DB ã¤ã³ã¹ã¿ã³ã¹ã¹ãããã·ã§ããã«ã©ã®æç¹ã¾ã§ã®ãã¼ã¿ãå«ã¾ãã¦ãããã確èªããå ´åã対象ã®ã¹ãããã·ã§ããã®åå¾éå§æéã確èªããã°ãããã¨ããããã¾ããã
ãªããæå㧠CreateDBSnapshot API ãå®è¡ããæéã¨å é¨çã«ã¹ãããã·ã§ããã®åå¾ãéå§ãããæéã«ã¯ãããçãã¾ã(APIå®è¡ãéåæã§è¡ããã¦ãããã)ã
å³å¯ã«ç¹å®ã®æç¹ã¾ã§ã®ãã¼ã¿ãå«ã¾ãã¦ããã¹ãããã·ã§ãããä½æãããã¨ãããè¦æã®å ´åã¯ãä¸åº¦PiTRã§å¾©å ãã DB ã¤ã³ã¹ã¿ã³ã¹ããã¹ãããã·ã§ãããåå¾ããã¨ããããã§ãã
(ä¸æ¹ãã®å ´åãã¹ãããã·ã§ããã«è¨é²ãããåå¾æé(SnapshotCreateTime)ã¨å é¨ã®ãã¼ã¿ã®æéã¯å¿ ãããä¸è´ããªãã®ã§ãå¿ è¦ã«å¿ãã¦ã¹ãããã·ã§ããåãã¿ã°çã§ãã¤ã¾ã§ã®ãã¼ã¿ãã¨æ®ãã¦ããã¨ããããããã§ãã)
ãã®è¨äºãã©ãªããã®åèã«ãªãã°å¹¸ãã§ãã
森æ¬ãæ大(å·çè¨äºã®ä¸è¦§)
ãã¯ãã«ã«ãµãã¼ã課
2023å¹´10æå ¥ç¤¾ã絶è³ä»äºã¨åè²ã¦ã«å¥èµ°ä¸ã§ãã