Q1. SQLServer上でDBLinkが使用できるか調べようと思いましたがどう調べればいいのかわかりませんでした。プロシージャの一覧のような資料はありますか?
A1. Amazon RDSは現在、SQL Serverの分散クエリ(あるいは、リンクサーバー)をサポートしていません。
Q2. Point-in-timeリカバリは5分前以前に戻せるとのことですが、指定できる最小単位は何でしょうか。分でしょうか?秒でしょうか?
A2. 秒単位で指定できます。
Q3. 「自動スナップショットはDBインスタンスのサイズと同サイズまで無料」ですが、これは1世代は無料という意味でしょうか?
A3. 1世代無料という意味ではなく、リージョンのデータベースストレージ合計の100%までが無料となります。弊社のデータベース管理者の経験上、ほとんどのデータベースではバックアップに必要となるrawストレージがプライマリデータセットに必要となるrawストレージより少なくなります。
Q4. ソフトウェアメンテナンスは、AWS側が勝手に行うものなのでしょうか?
A4. お客様が任意のメンテナンスウィンドウを任意の時間に指定することが可能で、そのメンテナンスウィンドウでパッチの適用などのメンテナンスをAWSが行います。
Q5. DataPumpを使用してRDS内のデータをdumpに落とし、それをオンプレミス又はon EC2、RDSな環境にインポートすることは可能でしょうか。また、代替サービスがあれば教えて頂けないでしょうか。
A5. DBMS_DATAPUMPパッケージでエクスポートしたダンプファイルを、DB LINK経由のDBMS_FILE_TRANSFERパッケージによってディレクトリオブジェクト(DATA_PUMP_DIR)間で転送し、DBMS_DATAPUMPパッケージでインポートすることが可能です。
Q6. ソフトウェアメンテナンスでMulti-AZの場合、メンテナンス後に元のAZにPrimaryが戻りますか?(前後でPrimaryのAZは変わりますか?)
A6. メンテナンスの前後でプライマリのAZは変わります。元のAZにプライマリを戻したい場合は、[Reboot with failover?] にチェックを入れて手動でrebootする必要があります。
Q7. RDSのDBパラメータ変更で、設定が変更できないパラメータはありますか?また、デフォルトでは表示されていないパラメータも追加したりできますか?(主にPostgreSQLを気にしています)
A7. パラメータの変更可否は、マネジメントコンソールの [Edit Parameters] の [Is Modifiable] 列で確認できます。表示されていないパラメータを追加することはできません。
Q8. MySQLのキャッシュウォーミングは、マルチAZ構成でフェイルオーバーした後も効きますか?
A8. フェイルオーバー時の状況によりますが、正常にダンプが同期されていればスタンバイ起動時にそれをリストアしてキャッシュを復元することができます。
Q9. インデックス再構築など定期的に実行する処理について、EC2 Systems Manager のようにマネージドで実行するにはどのような方法がありますか?
A9. DBエンジン毎にジョブのスケジュール実行を設定するか、外部のジョブスケジューラを利用するといった方法があります。例えば、MySQLではイベントスケジューラ、OracleではDBMS_SCHEDULERパッケージ、SQL ServerではSQL Serverエージェント、PostgreSQLではpgAgentがご利用いただけます。
>> 訂正:RDS PosgreSQLにおいて現段階(2018.8月現在)でpgAgentの利用はサポートされておりません。
Q10. データ転送の料金について、MultiAZ配置の時のマスタースレーブ間の通信も課金対象でしょうか?
A10. MultiAZ配置の時のマスタースレーブ間の通信は同一リージョン内の通信となりますので無料です。
Q11. RDSの制限事項の代替方法のQA?ナレッジ?のようなものはサポートで存在しますか?
A11. DBエンジン毎にドキュメントにまとまっておりますので、そちらをご参照ください。例えば、MySQLに関連する一般的なDBAタスクは以下となります。
Q12. DBのアーカイブログファイルは、何日分までの保管が無料になりますか?(どこまでが100%に含まれるか)
A12. REDOログの生成量に依存します。
Q13. バックアップはデータベースストレージ 100%までは無料とのことですが、課金節約の為、削除→リストアする際、手動で取得した過去のスナップショットも含めてのルールなのでしょうか?
A13. バックアップストレージはリージョン毎に割り当てられます。データベースを削除するとその分リージョンのデータベースストレージ合計が減りますので、手動で取得した過去のスナップショットがリージョンのデータベースストレージ合計の100%を上回るとバックアップストレージの課金対象となります。
Q14. クロスリージョンリードレプリカを利用する際に、プライベート網の確立は必要でしょうか?(VPC間でIPsecVPNを張る等)
A14. プライベート網の確立は必須ではありません。
Q15. PostgreSQLのリージョンリードレプリカは書き込みができるということでしょうか?
A15. PostgreSQLのリードレプリカは物理レプリケーションで実装されているため、リードレプリカへの書き込みはできません。
Q16. Multi-AZのsync方式を使用しているOracleDatabaseでスタンバイからスナップショットバックアップを取得した場合、IOフリーズは発生しませんでしょうか?
A16. スタンバイからスナップショットを取得した場合はプライマリでのI/O停止は発生しません。
Q17. メンテナンス指定をしなかった場合はどうなりますか。
A17. メンテナンス時間を指定しないと、ランダムに選択された曜日にリージョンごとに決められた8時間の中で30分のメンテナンス時間が割り当てられます。
Q18. インスタンスを暗号化した場合はパフォーマンスに影響しますか?
A18. パフォーマンスへの影響はゼロではありませんが最小限に抑えるように実装されています。実際に検証いただき、許容範囲に収まるかご確認いただくことをおすすめします。
Q19. SQLサーバのパッチ適用可否はユーザー側でコントロール可能でしょうか?
A19. RDSコンソールの [Instances] ビューと [Clusters] ビューの [Maintenance] 列で [Available] とマークされた更新は無期限に延期することが可能です。ただし、[Required] とマークされた更新は無期限には延期できません。
Q20. 自動でのパッチ適用は避けたいです。
A20. AWS CLIのdescribe-pending-maintenance-actionsコマンドなどを定期的に実行してRDSのメンテナンスイベントを監視し、必要な対処を行ってください。
以上です。