はじめに
皆さんこんにちはエンジニアのヒロキです。
AWS SAP資格試験勉強をしていて「S3 RTC」という聞いたことのない名前が出てきたので、忘れないようにまとめていこうと思います。
1. S3 RTCとは?
S3 RTCは、Amazon S3のレプリケーションにおいて「いつ終わるかわからない」という不確実性を排除し、15分以内の完了を99.99%保証(SLA)するオプション機能です。
単に「コピーを急ぐ」だけでなく、レプリケーションの遅延や失敗を可視化・監視できる機能(メトリクスやイベント通知)が備わっている点が大きな特徴です。
詳しく見ていきましょう。
2. なぜRTCを使うのか?
■「いつ終わるか問題」の解決
通常のレプリケーションは処理が終わる時間までは決まっていません。対して、RTCを有効にするとAWSが以下のSLAを約束してくれます。
- 15分以内の完了: アップロードされたオブジェクトの 99.99% が15分以内に複製されます。
- SLAの保証: もし15分以内に完了しなかった場合、AWSから返金(サービスクレジット)が受けられる仕組みになっています。
■遅延の「見える化」
RTCを有効にすると、CloudWatchで以下の専用メトリクスが確認できるようになります。
- ReplicationLatency: 複製にかかった秒数
- PendingReplicationSize: まだコピーされていないデータの合計サイズ
- PendingReplicationCount: まだコピーされていないオブジェクトの数
CloudWatchアラームとの組み合わせ ReplicationLatency が 900秒(15分) を超えた場合にアラームを飛ばす設定にしておけば、SLAに反するような事態が発生した際に、管理者は何もしなくても異常に気づくことができます。
3. コストを抑えるための戦略的運用
RTCは非常に強力ですが、追加の料金が発生します。
「全部を特急便にする」とコストが跳ね上がるため、「必要なデータだけを特急にする」賢い使い分けをするといった形です。
プレフィックスによる切り分け
例えば、特定の拠点のデータだけが緊急性が高い場合、以下のような2段構えのルールを構築します。
- 通常ルール: バケット全体を対象にした標準的なレプリケーション。
-
RTCルール: プレフィックス
prefix-A/が付いたオブジェクト専用のルールを作成し、このルールだけRTCをONにする。
my-science-bucket/ (ソースバケット)
├── prefix-A/ ← 【最優先】緊急性が高いレーダーデータ
├── prefix-B/ ← 標準:通常の観測データ
└── prefix-C/ ← 標準:通常の観測データ
これで、「大事なデータは確実に15分以内に運び、それ以外は安価に運ぶ」というコスト最適化が実現できます。
既存オブジェクトは対象外
RTCは「設定した後に新しくアップロードされたファイル」にのみ適用されます。
最後に
S3周りの問題はかなり解いていたつもりでしたが、知らない用語が出てきて少し焦りました。 調べてみると仕組み自体はシンプルだったので、しっかり理解して引き続き勉強を頑張ろうと思います。
参考記事