Mountpoint for Amazon S3
このセクションに進む前に、ストレージの主要セクションで説明されているKubernetesのストレージ概念(ボリューム、永続ボリューム(PV)、永続ボリューム要求(PVC)、動的プロビジョニング、一時ストレージ)を理解することが重要です。
Mountpoint for Amazon S3 Container Storage Interface(CSI)ドライバを使用すると、KubernetesアプリケーションがAmazon S3オブジェクトに標準ファイルシステムインターフェースからアクセスできるようになります。Mountpoint for Amazon S3を基盤としており、Mountpoint CSIドライバはAmazon S3バケットをストレージボリュームとして公開し、Kubernetesクラスター内のコンテナがシームレスにアクセスできるようにします。このドライバはCSI仕様を実装しており、コンテナオーケストレータ(CO)がストレージボリュームを効率的に管理できるようにします。
以下のアーキテクチャ図は、Mountpoint for Amazon S3をPodの永続ストレージとして使用する方法を示しています:

まず、イメージホスティングWebアプリケーションに必要な画像のためのステージングディレクトリを作成しましょう:
Archive: /tmp/sample-images.zip
inflating: /home/ec2-user/environment/assets-images/1ca35e86-4b4c-4124-b6b5-076ba4134d0d.jpg
inflating: /home/ec2-user/environment/assets-images/4f18544b-70a5-4352-8e19-0d070f46745d.jpg
inflating: /home/ec2-user/environment/assets-images/631a3db5-ac07-492c-a994-8cd56923c112.jpg
inflating: /home/ec2-user/environment/assets-images/79bce3f3-935f-4912-8c62-0d2f3e059405.jpg
inflating: /home/ec2-user/environment/assets-images/8757729a-c518-4356-8694-9e795a9b3237.jpg
inflating: /home/ec2-user/environment/assets-images/87e89b11-d319-446d-b9be-50adcca5224a.jpg
inflating: /home/ec2-user/environment/assets-images/a1258cd2-176c-4507-ade6-746dab5ad625.jpg
inflating: /home/ec2-user/environment/assets-images/cc789f85-1476-452a-8100-9e74502198e0.jpg
inflating: /home/ec2-user/environment/assets-images/d27cf49f-b689-4a75-a249-d373e0330bb5.jpg
inflating: /home/ec2-user/environment/assets-images/d3104128-1d14-4465-99d3-8ab9267c687b.jpg
inflating: /home/ec2-user/environment/assets-images/d4edfedb-dbe9-4dd9-aae8-009489394955.jpg
inflating: /home/ec2-user/environment/assets-images/d77f9ae6-e9a8-4a3e-86bd-b72af75cbc49.jpg
次に、aws s3 cpコマンドを使用して、これらの画像アセットをS3バケットにコピーします:
upload: assets-images/79bce3f3-935f-4912-8c62-0d2f3e059405.jpg to s3://eks-workshop-mountpoint-s320250709143521722200000002/79bce3f3-935f-4912-8c62-0d2f3e059405.jpg
[...]
aws s3 lsコマンドを使用して、バケット内のコンテンツをリスト表示し、アップロードされたオブジェクトを確認できます:
2025-07-09 14:43:36 102950 1ca35e86-4b4c-4124-b6b5-076ba4134d0d.jpg
2025-07-09 14:43:36 118546 4f18544b-70a5-4352-8e19-0d070f46745d.jpg
2025-07-09 14:43:36 147820 631a3db5-ac07-492c-a994-8cd56923c112.jpg
2025-07-09 14:43:36 100117 79bce3f3-935f-4912-8c62-0d2f3e059405.jpg
2025-07-09 14:43:36 106911 8757729a-c518-4356-8694-9e795a9b3237.jpg
2025-07-09 14:43:36 113010 87e89b11-d319-446d-b9be-50adcca5224a.jpg
2025-07-09 14:43:36 171045 a1258cd2-176c-4507-ade6-746dab5ad625.jpg
2025-07-09 14:43:36 170438 cc789f85-1476-452a-8100-9e74502198e0.jpg
2025-07-09 14:43:36 97592 d27cf49f-b689-4a75-a249-d373e0330bb5.jpg
2025-07-09 14:43:36 169246 d3104128-1d14-4465-99d3-8ab9267c687b.jpg
2025-07-09 14:43:36 151884 d4edfedb-dbe9-4dd9-aae8-009489394955.jpg
2025-07-09 14:43:36 134344 d77f9ae6-e9a8-4a3e-86bd-b72af75cbc49.jpg
初期オブジェクトがAmazon S3バケットに保存されたので、Mountpoint for Amazon S3 CSIドライバを設定して、Pod用の永続的な共有ストレージを提供します。
EKSクラスタにMountpoint for Amazon S3 CSIアドオンをインストールしましょう。この操作は完了するまで数分かかります:
完了したら、デプロイされたDaemonSetを確認することで、アドオンがEKSクラスタに何を作成したのかを確認できます:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
s3-csi-node 3 3 3 3 3 kubernetes.io/os=linux 61s