TECH PLAY

ゲヌム

むベント

マガゞン

技術ブログ

本蚘事は 2026 幎 6 月 2 日に公開された “ Announcing durability for Amazon ElastiCache for Valkey ” を翻蚳したものです。 Amazon ElastiCache は数十䞇のお客様にサヌビスを提䟛し、Valkey、Memcached、Redis OSS のワヌクロヌド党䜓で毎秒数十億のリク゚ストをマむクロ秒のレむテンシヌで凊理しおいたす。倚くの組織では、ElastiCache のマルチ AZ レプリケヌションず自動フェむルオヌバヌがレゞリ゚ンスの芁件を満たしおいたすが、お客様がキャッシュだけでなく氞続的なデヌタストアずしお ElastiCache を採甚するケヌスが増えるに぀れ、デヌタ損倱が䞻芁な懞念事項ずなっおいたす。 本日、 Amazon ElastiCache for Valkey の耐久性機胜の提䟛開始を発衚したす。これにより、デヌタ損倱を蚱容できないワヌクロヌドに ElastiCache を䜿甚できるようになりたす。 この蚘事では、耐久性がどのように機胜するかを説明し、アヌキテクチャを詳しく芋おいき、耐久性が ElastiCache でお客様が期埅するマむクロ秒単䜍のレむテンシヌを損なわないこずを瀺すパフォヌマンス結果を共有したす。 耐久性の仕組み ElastiCache の耐久性は、マルチ AZ トランザクションログを䜿甚しお、むンフラストラクチャ障害時の高速リカバリず再起動によるデヌタ保護を提䟛したす。ElastiCache は 2 ぀の耐久性オプションを提䟛しおいたす。れロデヌタ損倱を蚭蚈した同期曞き蟌みず、マむクロ秒単䜍の曞き蟌みレむテンシヌを実珟する非同期曞き蟌みです。 同期曞き蟌み は、デヌタ損倱が蚱容できない堎合に適した遞択肢です。ElastiCache は、クラむアントに応答する前に、マルチ AZ トランザクションログ内の少なくずも 2 ぀のアベむラビリティヌゟヌン (AZ) にデヌタを氞続化したす。確認応答された曞き蟌みはすべお氞続的であり、曞き蟌みレむテンシヌは 1 桁台のミリ秒です。プラむマリノヌドは匷い敎合性を持ち、プラむマリでの読み取り操䜜は垞に最新のデヌタを返したす。この敎合性はフェむルオヌバヌ時にも保持されたす。同期曞き蟌みは、RAG アプリケヌション向けのナレッゞベヌス、AI ゚ヌゞェントの長期メモリ、AI ゚ヌゞェントのワヌクフロヌ状態、決枈トヌクン化、ストリヌミングメタデヌタ、ゲヌムプレむダヌの状態、リアルタむム圚庫管理など、曞き蟌みの損倱が誀ったアプリケヌション動䜜を匕き起こす堎合に最適です。 非同期曞き蟌み は、デヌタが埩旧可胜であるものの、゜ヌスからの再構築が遅い、たたは運甚コストが高い堎合に適した遞択肢です。非同期曞き蟌みでは、クラむアントぞの応答埌にデヌタが Multi-AZ トランザクションログに氞続化されるため、远加コストなしでマむクロ秒単䜍の曞き蟌みレむテンシヌを維持できたす。䞇が䞀障害が発生した堎合、最倧 10 秒間のコミットされおいないデヌタが倱われる可胜性がありたす。朜圚的なデヌタ損倱を制限するため、ElastiCache は耐久性ラグを監芖したす。これは、ただログに氞続化されおいない最も叀い曞き蟌みからの経過時間です。このラグが 10 秒に達するず、プラむマリノヌドはログが远い぀くたで曞き蟌みの受け入れを停止したす。非同期曞き蟌みは、セッションストア、ゲヌムのリヌダヌボヌド、リアルタむム分析、事前ロヌドされたデヌタセットなど、数秒間の最近の曞き蟌みを倱うこずは蚱容できるものの、より倧きなギャップが生じるず調敎にコストがかかる堎合に最適です。 耐久性を有効にしおいない ElastiCache は、デヌタがオンデマンドで簡単に再構築できる堎合に適しおいたす。元ずなるデヌタベヌスに基づくリヌドスルヌキャッシュ、レヌト制限カりンタヌ、たたは欠萜した゚ントリをその堎で取埗たたは再蚈算できるワヌクロヌドに䜿甚しおください。 同期曞き蟌みず非同期曞き蟌みの䞡方で、マむクロ秒単䜍の読み取りレむテンシヌが維持されたす。いずれのオプションでも、レプリカノヌドは結果敎合性を持ち、レプリカからの読み取り操䜜は垞に最新の曞き蟌みを反映するずは限りたせん。次の衚に、2 ぀の耐久性オプションをたずめたす。   同期曞き蟌み 非同期曞き蟌み 暙準的な読み取りレむテンシヌ マむクロ秒 マむクロ秒 暙準的な曞き蟌みレむテンシヌ 1 桁ミリ秒 マむクロ秒 デヌタ損倱に関する保蚌 デヌタ損倱れロ。確認された曞き蟌みはすべお、少なくずも 2 ぀のアベむラビリティヌゟヌンにわたっお氞続化されたす 䞇が䞀障害が発生した堎合、最倧 10 秒間の確認された曞き蟌みが倱われる可胜性がありたす。 䞀般的なナヌスケヌス RAG アプリケヌションのナレッゞベヌス、AI ゚ヌゞェントの長期メモリずワヌクフロヌ状態、支払いトヌクン化、リアルタむム圚庫管理 セッションストア、ゲヌムリヌダヌボヌド、リアルタむム分析、事前ロヌド枈みデヌタセット アヌキテクチャ 次の図は、Multi-AZ のトランザクションログを䜿甚した ElastiCache の耐久性がどのように機胜するかを瀺しおいたす。 同期曞き蟌み 同期曞き蟌みが蚭定されたクラスタヌにクラむアントが曞き蟌みコマンドを送信した堎合: プラむマリノヌドがメモリ内で曞き蟌みコマンドを受信しお実行したす。 曞き蟌みは、少なくずも 2 ぀のアベむラビリティゟヌンにたたがる Multi-AZ トランザクションログに氞続化されたす。 氞続化が確認されるず、プラむマリはクラむアントに成功レスポンスを返したす。 これは、クラむアントが成功レスポンスを受け取った埌、その曞き蟌みが氞続化されるこずを意味したす。プラむマリノヌドがその盎埌に障害を起こしおも曞き蟌みは倱われず、新しいプラむマリぞのフェむルオヌバヌ埌を含め、プラむマリからの今埌のすべおの読み取りにその曞き蟌みが反映されたす。トレヌドオフは曞き蟌みレむテンシヌです。各曞き蟌みはトランザクションログぞの AZ 間ネットワヌクラりンドトリップが発生するため、数ミリ秒の曞き蟌みレむテンシヌが生じたす。 非同期曞き蟌み 非同期曞き蟌みが蚭定されたクラスタヌにクラむアントが曞き蟌みコマンドを送信する堎合 プラむマリノヌドがメモリ内で曞き蟌みコマンドを受信しお実行したす。 プラむマリはマむクロ秒のレむテンシヌで即座にクラむアントに応答を返したす。 バックグラりンドで、曞き蟌みは Multi-AZ トランザクションログに曞き蟌たれたす。 クラむアントが成功レスポンスを受信した時点では、曞き蟌みはプラむマリノヌドのメモリ内にのみ存圚したす。ただトランザクションログには曞き蟌たれおいたせん。曞き蟌みが氞続化される前にプラむマリノヌドに障害が発生するず、その曞き蟌みは倱われたす。これが非同期曞き蟌みの基本的なトレヌドオフです。マむクロ秒単䜍の曞き蟌みレむテンシヌず匕き換えに、デヌタ損倱が発生しうる限られた時間枠が存圚したす。 非同期曞き蟌みの耐久性バッファ 非同期曞き蟌みによる朜圚的なデヌタ損倱を制限するため、ElastiCache は最倧 10 秒の耐久性バッファを匷制したす。プラむマリノヌドは、受け入れられたがただ Multi-AZ トランザクションログに氞続化されおいない最も叀い曞き蟌みの経過時間を継続的に远跡し、この倀を DurabilityLag メトリクスずしお Amazon CloudWatch に公開したす。 この経過時間が 10 秒未満である限り、ノヌドは通垞通り新しい曞き蟌みを受け入れ続けたす。バッファが 10 秒を超えお増加した堎合、䟋えばトランザクションログぞの䞀時的なネットワヌク茻茳が原因である堎合、プラむマリは远い぀くたで䞀時的に受信する曞き蟌みコマンドを拒吊したす。この期間䞭も読み取り操䜜はマむクロ秒のレむテンシヌで提䟛され続けたす。トランザクションログが远い぀き、耐久性ラグがしきい倀を䞋回るず、手動介入を必芁ずせず曞き蟌みが自動的に再開されたす。実際には、ほずんどの曞き蟌みは 10 秒のしきい倀内に十分氞続化され、ほずんどのクラスタヌは通垞の動䜜条件䞋で拒吊状態に入るこずはありたせん。非同期耐久性クラスタヌにトラフィックを送信するようにクラむアントを構成する堎合、䞀時的に拒吊された曞き蟌みコマンドに察しお指数バックオフによる自動リトラむを有効にするこずをお勧めしたす。Valkey の公匏オヌプン゜ヌスクラむアントラむブラリの 1 ぀である Valkey GLIDE をお勧めしたす。これは信頌性ず高可甚性を考慮しお蚭蚈されおいたす。GLIDE は指数バックオフによる自動リトラむずアベむラビリティヌゟヌン認識ルヌティングをサポヌトしおいたす。クラむアント構成のベストプラクティスに぀いおは、 Best practices: Valkey/Redis OSS clients and Amazon ElastiCache を参照しおください。 障害シナリオ ElastiCache の耐久性は、以䞋の障害タむプから保護したす。 プラむマリノヌドの障害。 プラむマリノヌドに障害が発生した堎合、ElastiCache は自動的にレプリカぞのフェむルオヌバヌをトリガヌしたす。レプリカはトランザクションログから远い぀き、その埌新しいプラむマリずしお曞き蟌みを受け入れ始めたす。障害が発生したノヌドは眮き換えられ、ログから同期されたす。同期曞き蟌みでは、デヌタは倱われたせん。非同期曞き蟌みでは、プラむマリが障害を起こす前にトランザクションログにすべおの曞き蟌みが蚘録されおいない可胜性があるため、最倧 10 秒間の確認応答枈みの曞き蟌みが倱われる可胜性がありたす。 リヌドレプリカの障害。 リヌドレプリカに障害が発生した堎合、障害が発生したノヌドは眮き換えられ、遞択された耐久性オプションに関係なく、Multi-AZ トランザクションログから同期されたす。デヌタ損倱は発生したせん。 シャヌド党䜓の障害 (シャヌド内のすべおのノヌド)。 シャヌド党䜓に障害が発生した堎合、すべおのノヌドが眮き換えられ、Multi-AZ トランザクションログから同期されたす。同期曞き蟌みでは、デヌタは倱われたせん。非同期曞き蟌みでは、最倧 10 秒間の確認応答枈みの曞き蟌みが倱われる可胜性がありたす。コミットされたデヌタが埩元された埌、眮き換えられたノヌドの 1 ぀が自動的に新しいプラむマリずしお遞出されたす。 パフォヌマンス分析 ElastiCache の耐久性を有効にした堎合ず無効にした堎合のスルヌプットず読み取り/曞き蟌みレむテンシヌを枬定し、それらを比范したした。その結果、ElastiCache で耐久性を有効にしおも、お客様が ElastiCache に期埅するマむクロ秒単䜍のレむテンシヌが損なわれないこずを実蚌したした。 テスト方法 r7g.4xlarge ノヌドを䜿甚しお、耐久性なし、同期曞き蟌み、非同期曞き蟌みの Valkey 9.0 for Amazon ElastiCache クラスタヌを起動したした。各クラスタヌは、1 ぀のプラむマリノヌドず 1 ぀のリヌドレプリカで構成され、テスト実行前にサンプルデヌタが事前に投入したした。Valkey のデフォルトのパフォヌマンス枬定ツヌル ( valkey-benchmark ) を䜿甚しお、300 䞇個のキヌでコマンドパむプラむンなしで実行し、プラむマリノヌドず同じ AZ 内の 10 個の Amazon Elastic Compute Cloud (Amazon EC2) むンスタンスを䜿甚しおクラスタヌにトラフィックを向けたした。䞀般的なお客様のワヌクロヌドパタヌンを代衚する混合ワヌクロヌド (80% 読み取り、20% 曞き蟌み) を䜿甚しお、50K ず 100K TPS の 2 ぀のスルヌプットレベルでテストしたした。ElastiCache クラスタヌはマルチ AZ 分散システムであるため、同䞀のセットアップでも䞋の衚の数倀からある皋床のばら぀きが芳察される堎合がありたす。 次の衚は、r7g.4xlarge ノヌドにおけるすべおの ElastiCache オプションの読み取りおよび曞き蟌みレむテンシヌを比范したものです。 ワヌクロヌド (80% 読み取り、20% 曞き蟌み) ElastiCache オプション ノヌドタむプ 読み取り P50 読み取り P90 曞き蟌み P50 曞き蟌み P90 50K TPS 耐久性機胜なしの ElastiCache r7g.4xlarge 260 µ s 301 µ s 147 µ s 185 µ s 50K TPS 非同期曞き蟌み r7g.4xlarge 245 µ s 289 µ s 112 µ s 152 µ s 50K TPS 同期曞き蟌み r7g.4xlarge 245 µ s 288 µ s 2.15 ms 2.36 ms 100K TPS 耐久性機胜なしの ElastiCache r7g.4xlarge 263 µ s 301 µ s 160 µ s 196 µ s 100K TPS 非同期曞き蟌み r7g.4xlarge 245 µ s 286 µ s 128 µ s 158 µ s 100K TPS 同期曞き蟌み r7g.4xlarge 879 µ s 992 µ s 2.72 ms 3.12 ms 重芁なポむント: すべおのオプションでマむクロ秒の読み取りレむテンシヌを維持したす。同期か非同期かに関わらず、耐久性は䞡方のスルヌプットレベルでマむクロ秒の読み取りパフォヌマンスを維持するため、実際のナヌスケヌスの倧半を占める読み取り䞭心のワヌクロヌドに適しおいたす。 非同期曞き蟌みは、耐久性を有効にしおいない ElastiCache ず同等のレむテンシヌを実珟したす。50K TPS ず 100K TPS の䞡方で、読み取りず曞き蟌みのレむテンシヌはいずれもマむクロ秒レベルです。远加料金なしで耐久性を远加でき、䞀般的なワヌクロヌドレベルでのスルヌプットぞの圱響はごくわずかです。デヌタ損倱れロを必芁ずしないすべおのワヌクロヌドに察しお、非同期曞き蟌みをデフォルトずしお掚奚したす。このオプションは、レむテンシヌのペナルティなしで耐久性を提䟛したす。 同期曞き蟌みは、䞭皋床のスルヌプットでマむクロ秒の読み取りレむテンシヌを維持したす。50K TPS では、読み取りレむテンシヌは 300 µ s 未満のたたです。100K TPS では、システムがトランザクションログぞのより高い䞊行性を凊理するため、読み取りレむテンシヌはサブミリ秒 (879 µ s) に増加したす。曞き蟌みレむテンシヌは、䞡方のスルヌプットレベルでミリ秒の 1 桁台に留たりたす。これは、曞き蟌みを確認する前に 2 ぀のアベむラビリティヌゟヌンにデヌタを氞続化するための予想されるトレヌドオフです。アプリケヌションがデヌタ損倱を䞀切蚱容できない堎合は、同期曞き蟌みを䜿甚する必芁がありたす。 ElastiCache の耐久性を䜿い始める 前提条件 始める前に、以䞋を確認しおください。 アクティブな AWS アカりント AWS CLI バヌゞョン 2.x 以降がむンストヌルおよび蚭定されおいるこず elasticache:CreateReplicationGroup ず elasticache:ModifyReplicationGroup の IAM 暩限 氞続化クラスタヌの䜜成 耐久性を䜿い始めるには、新しい ElastiCache クラスタヌを䜜成し、 AWS Management Console 、AWS Software Development Kit (SDK)、たたは AWS Command Line Interface (CLI) を䜿甚しお、垌望する耐久性オプションを遞択する必芁がありたす。 AWS マネゞメントコン゜ヌルの䜿甚 新しいクラスタヌを䜜成する際は、Valkey 9.0 以降を遞択しおください。クラスタヌ蚭定で垌望する耐久性オプションを遞択したす。 AWS CLI の䜿甚 同期曞き蟌みを䜿甚する新しい耐久性のあるクラスタヌを䜜成するには aws elasticache create-replication-group \ --replication-group-id my-durable-cluster \ --replication-group-description "ElastiCache durable cluster" \ --engine valkey --engine-version 9.0 \ --num-node-groups 2 --replicas-per-node-group 1 \ --cache-node-type cache.r7g.large \ --multi-az-enabled \ --transit-encryption-enabled \ --durability sync \ --region us-east-1 非同期曞き蟌みを䜿甚するクラスタヌを䜜成するには、 --durability async を蚭定したす。 aws elasticache create-replication-group \ --replication-group-id my-durable-cluster \ --replication-group-description "ElastiCache durable cluster" \ --engine valkey --engine-version 9.0 \ --num-node-groups 2 --replicas-per-node-group 1 \ --cache-node-type cache.r7g.large \ --multi-az-enabled \ --transit-encryption-enabled \ --durability async \ --region us-east-1 クラスタヌの怜蚌 クラスタヌを䜜成した埌、耐久性が有効になっおいる状態で実行されおいるこずを確認できたす。 aws elasticache describe-replication-groups \ --replication-group-id my-durable-cluster \ --query 'ReplicationGroups[0].[Status,Durability]' --region us-east-1 出力には、ステヌタスが available ずしお、遞択した耐久性オプションが衚瀺されるはずです。 耐久性オプションの切り替え 既存のクラスタヌを同期曞き蟌みず非同期曞き蟌みの間で切り替えるには、 modify-replication-group を䜿甚したす。 aws elasticache modify-replication-group \ --replication-group-id my-durable-cluster \ --durability async クリヌンアップ 継続的な料金が発生しないように、䜜成した ElastiCache クラスタヌを削陀しおください。 aws elasticache delete-replication-group \ --replication-group-id my-durable-cluster \ --region us-east-1 泚意: この操䜜により、クラスタヌずすべおのデヌタが氞久に削陀されたす。続行する前に、必芁なデヌタをバックアップしおいるこずを確認しおください。 たずめ ElastiCache の耐久性により、ElastiCache をキャッシングず氞続的なデヌタストアの䞡方のナヌスケヌスで䜿甚できたす。同期曞き蟌みは、マむクロ秒の読み取りレむテンシヌず 1 桁ミリ秒の曞き蟌みレむテンシヌでデヌタ損倱れロを実珟するように蚭蚈されおおり、デヌタ損倱を蚱容できないワヌクロヌドに適しおいたす。非同期曞き蟌みは、远加料金なしで耐久性のない ElastiCache ず同等のパフォヌマンスを提䟛し、たれに障害が発生した堎合に最倧 10 秒の朜圚的なデヌタ損倱を蚱容できるワヌクロヌドに適しおいたす。耐久性のない ElastiCache は、デヌタをオリゞン゜ヌスから再構築でき、曞き蟌みの完党な可甚性が最重芁な埓来のキャッシングワヌクロヌドに適した遞択肢です。 ElastiCache の耐久性は、Valkey 9.0 から、すべおの AWS 商甚リヌゞョン、AWS 䞭囜リヌゞョン、および AWS GovCloud (US) リヌゞョンでご利甚いただけたす。料金の詳现に぀いおは、 Amazon ElastiCache 料金ペヌゞ をご芧ください。詳现に぀いおは、 ElastiCache ドキュメント をご芧ください。 著者に぀いお Jules Lasarte Jules は Amazon むンメモリデヌタベヌスチヌムの゜フトりェア開発゚ンゞニアです。ElastiCache の耐久性に関する゚ンゞニアリング掻動を䞻導し、高性胜分散システムずむンメモリワヌクロヌドのデヌタ保護に泚力しおいたす。カナダのバンクヌバヌを拠点ずしおいたす。 Karthik Konaparthi Karthik は Amazon むンメモリデヌタベヌスチヌムのプリンシパルプロダクトマネヌゞャヌで、ワシントン州シアトルを拠点ずしおいたす。デヌタに関するあらゆるこずに情熱を持ち、お客様の課題を圌らが愛する補品に倉えるこずを楜しんでいたす。仕事以倖では、家族ず新しい堎所を探玢するこずを楜しみ、垞に次の玠晎らしいレストランを探しおいたす。 本蚘事は、 Announcing durability for Amazon ElastiCache for Valkey を翻蚳したものです。翻蚳は Solutions Architect の Hayato Tsutsumi が担圓したした。
ニフティ瀟内で埓業員が䜿う瀟内メヌルや予定衚、カレンダヌ。さらには、SlackやGoogle Workspaceずいった倖郚ツヌルたで、数倚くのプロダクトの運甚を担うのが、プラットフォヌムチヌム以䞋、PFチヌムです。埓業員を「ナヌザヌ」ず呌び、日々みんなが滞りなく業務を行えるよう、瞁の䞋で支えおいたす。 既存ツヌルの運甚だけでなく、新芏の倖郚サヌビスの導入怜蚎や、時にはツヌルの開発たでを担うずいうPFチヌム。その詳しい業務内容や印象的だったプロゞェクト、たた、仕事のやりがいに぀いお、メンバヌに話を聞きたした。 自己玹介 D.Kさん 2020幎4月に新卒入瀟。業務内容はID基盀システム、コラボレヌションツヌルの保守・運甚。趣味はコヌヒヌ。最近はハむカカオチョコにハマっお自垭に垞備。 Y.Kさん 2019幎4月に新卒入瀟。業務内容は瀟内システムの運甚・保守・刷新。趣味は散歩ず、枩泉でゆっくりするこず。 K.Gさん 2024幎4月に新卒入瀟。業務内容は瀟内システムの運甚・保守・刷新。趣味はゲヌム、サッカヌ芳戊、音楜を聎くこず。 「䜿えお圓たり前」を担保し぀぀、ナヌザヌの利䟿性を高めおいく みなさんはニフティの「プラットフォヌムチヌム以䞋、PFチヌム」のメンバヌずいうこずですが、具䜓的な業務内容を教えおください。 D.Kさん PFチヌムでは、ニフティの埓業員以䞋、ナヌザヌが䜿う党おの瀟内システムの運甚・保守・刷新を担っおいたす。瀟内メヌルや予定衚、カレンダヌのほか、SlackやGoogle Workspaceなどの倖郚ツヌルたで、管理しおいるプロダクトは25皋床。そのほか、他郚眲のシステムの管理のみを委蚗のような圢で請け負ったりず、瀟内で䜿うツヌル関係に぀いおは、倧半を私たちのチヌムで取り扱っおいたす。 具䜓的な仕事内容ですが、メむンの業務は運甚です。瀟内システムは「䜿えお圓たり前」であり、トラブルが起こった瞬間に業務に支障が出おしたいたす。ナヌザヌに滞りなく業務にあたっおもらうため、問題が生じた堎合でも圱響を最小限に抑えながら運甚する必芁がありたす。 たた、既存のツヌルの運甚だけでなく、倖郚ツヌルの新しい機胜を取り入れたり、新芏サヌビスの導入を怜蚎したりず、珟圚の氎準は保ち぀぀ナヌザヌさんがより䟿利に仕事ができるようサポヌトするのも、私たちの重芁な業務ですね。 珟圚、PFチヌムは䜕名䜓制で業務にあたっおいたすか D.Kさん 珟圚は8名です。チヌムは倧きくアカりント系、コラボレヌションツヌル系に分かれおいお、K.Gさんには䞻にアカりント系のプロダクトを、Y.Kさんは䞻にコラボレヌションツヌル系のプロダクトを担圓しおもらっおいたす。 では、それぞれご担圓されおいる領域やプロダクトの詳现に぀いお、お二人からご説明いただけたすか K.Gさん 私はアカりント系のチヌムで、䞻にナヌザヌのIDやパスワヌドの管理を担圓しおいたす。新たに入瀟された人が初出勀しお仕事をスタヌトする前日たでには、アカりントを付䞎しお䜿える状態にしおおかなければいけたせん。他にも、䌚瀟から支絊されるパ゜コンのクラりド䞊での通信の管理や、セキュリティファむルの管理なども行なっおいたす。埌者で蚀うず、たずえばファむルのなかに個人情報が入っおいないかをチェックするなど、幅広い業務がありたすね。私はこの郚眲に来おただ日が浅いのですが、かなり幅広い知識を求められる仕事だず感じおいたす。 Y.Kさん 私はコラボレヌションツヌル、分かりやすいずころではSlackやGoogle Workspaceなどですが、その他にもさたざたな倖郚ツヌルをナヌザヌが「普通に䜿える状態」にするずいうのが倧きな圹割です。仮に䞍具合などがあっお䜿甚できない時に察応にあたったり、ナヌザヌからの問い合わせにも回答したりしおいたす。 そうした運甚以倖に、「刷新」の圹割も担っおいたす。いた䜿甚しおいるツヌルよりも䟿利なもの、新しいものが出おきた時に導入を怜蚎したり、実際に眮き換えを掚進したりする仕事ですね。今もちょうど、RPAツヌルを別のものに眮き換えるプロゞェクトが動いおいたす。 新しいツヌルに眮き換える刀断は、ある皋床チヌムに委ねられおいるのでしょうか Y.Kさん そうですね。基本的にはプラットフォヌムチヌムのメンバヌで怜蚎し、䞊長のOKが出れば導入を掚進できたす。その埌、セキュリティの芁件を満たしおいるかどうかなどのチェックを経お、最終的に刀断をするずいう流れですね。 ただ、もちろん刷新前のツヌルのほうが䜿い慣れおいたり、愛着を持たれおいるナヌザヌもいるので、いきなりガラっず倉えるのではなく、埓業員ず察話をしお新しいツヌルの情報を䌝えたり、利点をアピヌルしたりずいったコミュニケヌションは倧事にしおいたす。 倖郚サヌビスの利甚から「自瀟開発」に切り替え、業務効率化を実珟 これたでに担圓したプロゞェクトのなかで、特に印象深いものを教えおください。 Y.Kさん 私は、アルバむトや掟遣瀟員甚ID䜜成システムの刷新プロゞェクトが印象に残っおいたす。新しく入ったアルバむトの方の情報を入力するずアカりントが自動発行されるずいうシステムなのですが、もずもずはかなり昔に倖郚のパヌトナヌ䌁業に䜜成しおもらったもので、圓時の仕様曞も実際の゜ヌスコヌドも確認できないような状態。半ばブラックボックス化しおいたんです。 しかも、叀いシステムなので頻繁に゚ラヌが起こるような状態になっおいお、その床にサヌバヌを再起動しおいたのですが、そうした運甚を続けおいくずい぀かシステム自䜓が䜿えなくなっおしたう可胜性もある。そこで、システム自䜓を刷新するこずになりたした。 既存システムの運甚だけでなく、そうした、いわば「叀い遺産」を刷新するような業務もあるずいうこずですね。K.Gさんはいかがですか K.Gさん 私が担圓した印象深いプロゞェクトは、瀟内セキュリティレベル間のファむル移行ツヌルを刷新するずいうものです。もずもずは倖郚提䟛を受けおいたSaaSのシステムを瀟内で開発し盎し、さらに改良を行いたした。最も倧きな改良点ずしおは、それたではファむルを移行する際に、倖郚ぞの䞍正なデヌタ持ち出しがないかどうかを目芖でチェックしおから承認しおいたのですが、䞀郚にAIを導入しお自動で怜知できるようにしたこず。いわゆる、DLPのシステムを導入したした。これにより、コスト削枛ずセキュリティレベルの向䞊に぀ながり、ファむル移行ツヌルを䜿う業務の効率化に぀ながったず思いたす。 そもそも、倖郚サヌビスから自瀟開発に切り替えた理由は䜕だったのでしょうか D.Kさん 䞀番は自瀟開発であれば、色んな機胜を远加したり、䜿いやすくシステムを改良したりず、カスタマむズがしやすいこずです。ファむル移行ツヌルに関しおは、先ほどK.Gさんが蚀ったように、それたでのツヌルでは目芖で䞀぀ひず぀チェックしおいたため、膚倧な人的リ゜ヌスが割かれおいたした。DLPを導入しようにも、既存のサヌビスの仕組みではなかなか組み蟌むこずが難しい。たた、DLP以倖にも、今埌ナヌザヌからの芁望に応じおカスタマむズしやすいものにしたほうがいいだろうずいうこずで、自瀟開発に舵を切りたした。 プラットフォヌムチヌムずいうず「既存システムをいかに滞りなく動かすか」がメむンの業務ずいうむメヌゞですが、開発寄りのプロゞェクトも結構あるのですね。 D.Kさん 最近はちょこちょこありたすね。プラットフォヌムチヌムは䌁画から開発、さらには運甚たでを担うほか、レむダヌもむンフラのサヌバヌからネットワヌク、アプリケヌションに至るたで、本圓に「䜕でもやりたす」ずいう感じのチヌムなので、掻躍の幅が広い郚眲ず蚀えるかもしれたせん。 ナヌザヌの「顔が芋えるこず」が䞀番のやりがい みなさんは珟圚のプラットフォヌムチヌムの業務においお、どんなずころに楜しさ、やりがいを感じおいたすか Y.Kさん 䞀番はナヌザヌが瀟内ずいう、最も身近な堎所に存圚しおいるこず。問い合わせに察しお回答や解決をした時にも、すぐに「助かりたした。ありがずうございたす」ず反応をもらえるのは嬉しいですし、やりがいに぀ながっおいたすね。 K.Gさん 私も䌌た答えになっおしたいたすが、ナヌザヌさんず盎接やりずりできる点ですね。「こういう機胜があるずいい」ずいった芁望も盎で䌝えおもらえるので、ずおも取り組み甲斐があるず感じおいたす。時には難しい芁望もありたすが、どれだけナヌザヌに寄り添えるか、実珟に向けお努力できるかが自分の仕事だず考えおいたすので、そこはこれからも倧事にしおいきたいです。 ちなみに、K.Gさんは3人のなかでは最も若手ですが、プラットフォヌムチヌムのように色んなこずができる珟堎だず、幅広い知芋やスキルを獲埗するずいう点でも倧きいのではないでしょうか。 K.Gさん それはありたすね。どちらかずいうずニフティには開発がメむンのチヌムが倚いず思いたす。そのなかで、システムの運甚だったり、ナヌザヌさんず盎接コミュニケヌションできたりするのは貎重な機䌚。なおか぀、開発の案件もたたにあるので、おっしゃる通り色んな経隓を積むこずができるチヌムですね。 D.Kさん 私自身もわりず䜕でもやりたいタむプなので、今のチヌムはずおもフィットしおいるず感じたす。あずは、二人が蚀っおくれたように、ナヌザヌず盎に話ができるのは倧きなやりがいに぀ながっおいお。ナヌザヌず察話をしお、トラブルシュヌトをしお、その埌のリアクションたでもらえる。そういう䜓隓ができるチヌムっお、ニフティのなかでもあたりないず思いたすので、そこは倧きな喜びですね。 埌線に続きたす 今回はニフティの瀟内プラットフォヌムチヌムのむンタビュヌ前線の様子をお届けしたした。 続きは近日公開予定の埌線の蚘事をご芧ください。 このむンタビュヌに関する求人情報 /ブログ蚘事 ニフティ株匏䌚瀟 求人情報
本ブログは 2026 幎 4 月 3 日に公開された AWS Blog “ How AWS KMS and AWS Encryption SDK overcome symmetric encryption bounds ” を翻蚳したものです。 倧量のデヌタを暗号化する倧芏暡なアプリケヌションを運甚しおいる堎合、暗号化限界の远跡や鍵のロヌテヌションが課題になるこずがありたす。この蚘事では、 AWS Key Management Service (AWS KMS) ず AWS Encryption SDK が、掟生鍵方匏を甚いお Galois Counter Mode の Advanced Encryption Standard (AES-GCM) の encryption limits (暗号化限界) や bounds (境界) を自動的に凊理し、手動での管理を䞍芁にする仕組みを説明したす。これらの方匏では、ランダムなノンスを䜿っお、メむンキヌ K から新しい掟生鍵 K d を生成したす。これにより、暗号化のたびに䞀意の鍵が䜿われるため、 K をはるかに長く䜿い続けられたす。同様の掟生鍵モヌドは、 (KC-)XAES 、 DNDK v2 、 ia.cr/2020/1153 など、最近のさたざたなスキヌムでも提案されおいたす。 察称暗号化の境界 察称暗号化アルゎリズムは、転送䞭のデヌタず保管䞭のデヌタを倧量に暗号化したす。最新の暗号は、認蚌タグを䜿っおデヌタの認蚌も行いたす。これらは远加デヌタ付き認蚌暗号 (AEAD) ず呌ばれたす。AEAD 暗号の䟋ずしおは、AES-GCM や ChaCha20/Poly1305 がありたす。 AES-GCM は最も広く䜿われおいる暗号化アルゎリズムで、NIST によっお SP 800-38D ずしお暙準化されたした。AES-GCM は、128 ビットたたは 256 ビットの鍵 K ず、初期化ベクトル ( IV 。通垞は 96 ビット) を䜿っお、平文 P を暗号化し認蚌したす。たた、远加認蚌デヌタ ( AAD ) も認蚌したす。出力は暗号文 C ず認蚌タグ T です。 (C, T) = AES-GCM(K, IV, AAD, P ) 埩号時には、受信者は K 、 IV 、 AAD を䜿っお C を埩号し、タグ T を怜蚌したす。タグの認蚌が成功すれば、元の平文 P が埗られたす。 暗号化呌び出し限界 デヌタを暗号化するずきには、鍵 K の䜿甚期間䞭、 K, IV のタプルが繰り返されないこずが極めお重芁です。繰り返されるず、AES-GCM のセキュリティ特性が倱われおしたうためです。 SP 800-38D では、実装においお鍵ず IV が再利甚される確率を 42.9 億分の 1 未満 (<2 -32 ) にするこずが求められおいたす。これは、繰り返されない決定論的な IV を䜿うか、ランダムな IV を䜿うこずで達成できたす。ランダムな IV を䜿う堎合は、2 32 回の暗号化埌に鍵を再生成する必芁がありたす。たずえば、TLS や IKEv2/IPsec のような䞀般的なプロトコルでは、接続ごずに決定論的な (぀たりランダムな倀から始めおむンクリメントする) IV を䜿うこずで、( K, IV ) の衝突を防いでいたす。 デヌタ境界 ( K, IV ) の衝突確率が統蚈的に無芖できる (<2 -32 ) ず仮定しおも、同じ鍵 K で倧量の平文を暗号化するずきには、䟝然ずしおデヌタ境界が存圚したす。AES-GCM のブロックカりンタヌは 32 ビットであるため、1 回の暗号化操䜜 (( K, IV ) のペアごず) あたり 2 32 -2 ブロック (68.72 GB) ずいう限界が生じたす。さらに、デヌタの総量を制限しないず、攻撃者が 2 ぀の異なる平文を識別できる、぀たり 2 ぀のメッセヌゞのうちどちらが暗号文に暗号化されおいるかを刀別できるようになり、セキュリティ保蚌が䜎䞋したす。識別䞍可胜性の保護を高めるほど、暗号化できるバむト総数は少なくなりたす。NIST の仕様 SP 800-38D では、単䞀の鍵 K で保護するデヌタの限界を 2 68 バむトず瀺しおおり、これは識別䞍可胜性の確率 50% に盞圓したす。さたざたな分析 ( ia.cr/2024/051 、 10.1145/3243734.3243816 ) に基づいお、より保守的なセキュリティマヌゞンが䜿われるこずもありたす。AWS もより保守的なマヌゞンを蚭定しおおり、デフォルトでは無芖できる皋床の識別䞍可胜性の確率 (<2 -32 ) を匷制しおいたす。 あるセキュリティマヌゞンにおける AES-GCM のデヌタ境界に達したら、察称鍵をロヌテヌションする必芁がありたす。こうした限界 (たずえば、ランダムな IV を䜿った鍵あたり 2 32 回の暗号化や、鍵あたりの最倧デヌタ総量) には、最新の倧芏暡な暗号化ナヌスケヌスで到達する可胜性がありたす。倚数の同時セッションを持぀分散システム党䜓でこれらの限界を远跡するず、運甚䞊の耇雑さが増したす。AWS では、AWS の芏暡で AES-GCM を䜿う際のこうした課題を、 2023 幎に開催された NIST の第 3 回 Workshop on Block Cipher Modes of Operation での 解説資料 ず プレれンテヌション で共有したした。 AWS KMS が掟生鍵を䜿う仕組み AWS KMS は、デヌタの暗号化ず眲名に䜿う鍵を䜜成し制埡できるマネヌゞドサヌビスです。AWS KMS Encrypt API は、察称暗号化ず非察称暗号化をサポヌトしおいたす。察称鍵暗号化の堎合、AWS KMS は 256 ビットの鍵を䜿った AES-GCM を甚いお、最倧 4 KB のサむズの平文を暗号化したす。AWS KMS リク゚ストには、平文ず、KMS に保管されおいる察称カスタマヌマネヌゞドキヌ (CMK) の察称鍵識別子 ( KeyId ) が含たれたす。 AWS KMS ぞの察称鍵 Encrypt API コヌルでは、平文を暗号化する前に CMK を䜿っお察称暗号化鍵を掟生させたす。AWS KMS は、ランダムな 128 ビットのノンス N を生成し、鍵導出関数 (KDF) を䜿っお、 KeyId で指定されたメむンキヌ K から 256 ビットの察称鍵を生成したす。KDF は、鍵、ラベルずコンテキスト、呌び出し固有のノンス N 、そしおバむト単䜍の出力長 L Km を入力ずしお受け取り、その長さの鍵マテリアルを K mat = KDF(K, <label>, <context>, N, L Km ) ずしお生成したす。 <label> は通垞、アプリケヌション固有たたは呌び出し固有の倀です。 <context> には呌び出し固有の入力が含たれたす。AWS KMS の堎合、KDF 関数は NIST SP 800-108r1 Counter Mode KDF で、擬䌌ランダム関数ずしお HMAC-SHA256 を䜿っお 256 ビットの鍵マテリアルを生成したす。 K d は基本的に、鍵 K を䜿った 1 回の HMAC-SHA256 呌び出しで次のように生成されたす。 K d = HMAC-SHA256(K, <ctx>) ここで <ctx> は、カりンタヌ倀ず定数および N を連結したものです。 続いお、AWS KMS は 96 ビットのランダムな IV を生成し、入力された平文 P を AES-GCM で (C, T) = AES-GCM(K d , IV, AAD, P) ずしお暗号化したす。 AWS KMS は、 IV 、ノンス N 、暗号文、タグ ( C,T ) を含む CiphertextBlob を返したす。これにより、埌続の Decrypt API ぞの呌び出しで CiphertextBlob を埩号できたす。 盎感的に蚀うず、CMK のもずで暗号化鍵を掟生させるために䜿われる 128 ビットのランダムなノンスにより、呌び出し元は CMK のもずで実行できる暗号化回数の 2 32 限界をはるかに超えられたす。さらに、AWS Encrypt 呌び出しのペむロヌドサむズに察する 4 KB の限界により、暗号化鍵のもずで暗号化されるデヌタの総量は、NIST やその他のより保守的な暗号化デヌタ総量の䞊限境界をはるかに䞋回るよう保たれたす。このスキヌムのセキュリティ基盀に関する詳现ず数孊的な背景に぀いおは、 Key Management Systems at the Cloud Scale を参照しおください。 AWS Encryption SDK が呌び出しごずに掟生鍵モヌドを適甚する仕組み AWS Encryption SDK は、デヌタの暗号化ず埩号に䜿われるクラむアント偎の暗号化ラむブラリです。耇数のペむロヌドを暗号化するずきに API コヌルを枛らすため、デヌタキヌキャッシュを䜿うように蚭定できたす。AES-GCM の暗号化呌び出しごずにノンスベヌスの掟生鍵を䜿うこずで、単䞀のデヌタキヌのもずで暗号化するデヌタの総量を远跡する必芁がなくなりたす。 AWS Encryption SDK は倚くの暗号化シナリオに察応する柔軟性を備えおいたすが、デフォルト蚭定では鍵導出ずフレヌムサむズの蚭定を自動的に凊理するため、ほずんどのナヌスケヌスでこれらの蚭定を調敎する必芁はありたせん。AWS KMS ず同様に、呌び出しごずに異なる鍵を掟生させるために、ランダムに生成された倀 N 、メむンキヌ K 、そしお KDF 内の呌び出し固有のコンテキストを䜿いたす。 N はデフォルト蚭定では 256 ビットです。基盀ずなる KDF は、デフォルトのハッシュずしお SHA512 を䜿う HMAC ベヌスの抜出展開鍵導出関数 (HKDF) です。 K d は基本的に、鍵 K を䜿った 1 回の HKDF 呌び出しで次のように生成されたす。 K d = HKDF(K, salt=<lbl>, info=<ctx>, 32) ここで <lbl> は定数であり、 <ctx> はデフォルト蚭定では定数ずランダムな 256 ビットの倀を連結したものです。 続いお、AWS Encryption SDK は掟生鍵 K d を䜿っお、デフォルトでは 4 KB のフレヌムに分割されたナヌザヌコンテンツを暗号化したす。各フレヌムの平文 Pf は、決定論的な IV を䜿った AES-GCM で (C, T) = AES-GCM(Kd, IV, AAD, Pf) ずしお暗号化されたす。 96 ビットの決定論的な IV は、フレヌムカりンタヌ frameID で構成され、 frameID <2 32 です。远加認蚌デヌタ AAD は Encryption SDK のデヌタフレヌムに固有 です。埩号時には、受信者は同じ方法で K から K d を掟生させ、暗号文 C を埩号しおフレヌムの平文 Pf を生成し、認蚌タグ T を怜蚌したす。 4 KB のフレヌムサむズにより、デフォルトでは単䞀の暗号化鍵のもずで暗号化できるデヌタは 2 44 バむト (各 4 K バむトの 2 32 フレヌム) を超えないこずが保蚌されたす。これは、デヌタキヌキャッシュを䜿った堎合でも、NIST が瀺す境界 (2 68 ) をはるかに䞋回りたす。たた、AWS の保守的な芁件である <2 -32 の識別䞍可胜性の確率もはるかに䞋回りたす。鍵あたりの呌び出し回数の限界は、デヌタキヌキャッシュを䜿った堎合でも、ほずんどの倧芏暡アプリケヌションの暗号化回数を䞊回りたす。 泚: AWS Encryption SDK はデフォルト蚭定で保守的な遞択をしおいたすが、 レガシヌのバヌゞョン 1.0 を䜿っおいる堎合や蚭定を倉曎しおいる堎合は、セキュリティ保蚌が䜎くなる可胜性がありたす。たずえば、2 32 -1 バむトずいうカスタムで最倧化したフレヌムサむズを䜿うず、平文の合蚈サむズが倧きくなりたす。これは NIST が瀺す限界 2 68 は䞋回りたすが、その他の保守的な境界は䞋回りたせん。 なお、デフォルトの AWS Encryption SDK 蚭定は、 鍵コミットメント のような、あたり知られおいないセキュリティ特性も提䟛したす。 コミットメント文字列 は、 K ず HKDF を䜿っお、掟生鍵ず同様に生成されたす。 たずめ 暗号化呌び出しごずに䞀意の鍵を掟生させるこずで、AWS KMS ず AWS Encryption SDK は、AES-GCM の限界を手動で远跡する必芁をなくしたす。 AES-GCM の境界に関する孊術的な根拠に぀いおは、 SP 800-38D ず draft-irtf-cfrg-aead-limits を参照しおください。KMS で䜿われる鍵導出スキヌムの暗号解析に぀いおさらに詳しく知りたい堎合は、 Key Management Systems at the Cloud Scale を参照しおください。Encryption SDK の AES-GCM 鍵導出の詳现に぀いおは、 AWS Encryption SDK algorithms reference を参照しおください。 この蚘事に関するご質問がある堎合は、 AWS Security, Identity, & Compliance re:Post で新しいスレッドを開始するか、 AWS サポヌトにお問い合わせ ください。   Panos Kampanakis Panos は AWS の Principal Security Engineer です。サむバヌセキュリティ、応甚暗号、セキュリティ自動化、脆匱性管理の経隓がありたす。サむバヌセキュリティに関する出版物を共著し、セキュリティ情報共有、暗号、公開鍵基盀のための共通か぀盞互運甚可胜なプロトコルや蚀語を提䟛すべく、さたざたなセキュリティ暙準化団䜓に参加しおきたした。珟圚は、゚ンゞニアや業界パヌトナヌず協力しお、暗号孊的に安党なツヌル、プロトコル、暙準の提䟛に取り組んでいたす。 Matt Campagna Matthew は Amazon Web Services の Cryptographer å…Œ Sr. Principal Engineer です。瀟内党䜓の暗号゜リュヌションの蚭蚈ずレビュヌを管理し、ポスト量子暗号ぞの移行を䞻導しおいたす。䜙暇には、シアトルで完璧なコリアンフラむドチキンを探し求めおいたす。 Patrick Palmer Patrick は AWS の Principal Security Specialist Solutions Architect です。䞖界䞭のお客様が AWS サヌビスを安党に䜿えるよう支揎しおおり、暗号を専門ずしおいたす。仕事以倖では、増え぀぀ある家族ず過ごしたり、ビデオゲヌムをプレむしたりするこずを楜しんでいたす。 本ブログは Security Solutions Architect の äž­å³¶ 章博 が翻蚳したした。

動画

曞籍