Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ストレージクラスを作成する

フォーカスモード
ストレージクラスを作成する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Amazon EKS Auto Mode の StorageClass は、アプリケーションが永続的ストレージをリクエストしたときの Amazon EBS ボリュームを自動的にプロビジョニングする方法を定義します。このページでは、Amazon EKS Auto Mode で動作する StorageClass を作成して設定し、EBS ボリュームをプロビジョニングする方法について説明します。

StorageClass を設定することで、ボリュームタイプ、暗号化、IOPS、その他のストレージパラメータなど、EBS ボリュームのデフォルト設定を指定できます。暗号化管理に AWS KMS キーを使用するように StorageClass を設定することもできます。

EKS Auto Mode では、お客様用の StorageClass は作成されません。EKS Auto Mode のストレージ機能を使用するには、ebs.csi.eks.amazonaws.com を参照する StorageClass を作成する必要があります。

まず、storage-class.yaml という名前のファイルを作成します。

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: auto-ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true"

次に、ストレージクラスをクラスターに適用します。

kubectl apply -f storage-class.yaml

主要コンポーネント:

  • provisioner: ebs.csi.eks.amazonaws.com - EKS Auto Mode を使用する

  • volumeBindingMode: WaitForFirstConsumer - ポッドが必要とするまでボリュームの作成を遅らせる

  • type: gp3 - EBS ボリュームタイプを指定する

  • encrypted: "true" – EBS は、StorageClass を使用して作成されたすべてのボリュームを暗号化します。EBS はデフォルトの aws/ebs キーエイリアスを使用します。詳細については、「Amazon EBS ユーザーガイド」の「How Amazon EBS encryption works」を参照してください。この値は省略可能ですが、推奨です。

  • storageclass.kubernetes.io/is-default-class: "true" – 永続ボリュームのクレームで別のボリュームクラスを指定しない限り、Kubernetes はデフォルトでこのストレージクラスを使用します。この値はオプションです。別のストレージコントローラーから移行する場合は、この値を設定するときに注意してください。

セルフマネージド KMS キーを使用して EBS ボリュームを暗号化する

セルフマネージド KMS キーを使用して EKS Auto Mode によって自動化される EBS ボリュームを暗号化するには、以下を実行する必要があります。

  1. セルフマネージド KMS キーを作成します。

  2. KMS キーへのアクセスを許可する新しいポリシーを作成します。

  3. ポリシーを EKS クラスターロールにアタッチします。

    • AWS コンソールを使用して、EKS クラスターロールの ARN を見つけます。ロール情報は [概要] セクションに表示されます。詳細については「Amazon EKS クラスター の IAM ロール」を参照してください。

  4. parameters.kmsKeyId フィールドの KMS キー ID を参照するように StorageClass を更新します。

サンプルセルフマネージド KMS IAM ポリシー

以下のポリシーで次の値を更新します。

  • <account-id> – AWS アカウント ID (111122223333 など)

  • <aws-region> – クラスターの AWS リージョン (us-west-2 など)

{ "Version": "2012-10-17", "Id": "key-auto-policy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account-id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access through EBS for all principals in the account that are authorized to use EBS", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "<account-id>", "kms:ViaService": "ec2.<aws-region>.amazonaws.com" } } } ] }

サンプルセルフマネージド KMS StorageClass

parameters: type: gp3 encrypted: "true" kmsKeyId: <custom-key-arn>

StorageClass パラメータリファレンス

Kubernetes StorageClass リソースの一般的な情報については、Kubernetes ドキュメントの「ストレージクラス」を参照してください。

StorageClass リソースの parameters セクションは AWS に固有です。次の表を使用して使用可能なオプションを確認してください。

パラメータ デフォルト 説明

「csi.storage.k8s.io/fstype」

xfs、ext2、ext3、ext4

ext4

ボリュームの作成時にフォーマットされるファイルシステムタイプ。このパラメータは大文字と小文字が区別されます。

「type」

io1、io2、gp2、gp3、sc1、st1、standard、sbp1、sbg1

gp3

EBS ボリュームタイプ。

「iopsPerGB」

GiB ごとの 1 秒あたりの I/O オペレーション回数秒。IO1、IO2、GP3 ボリュームで指定できます。

「allowAutoIOPSPerGBIncrease」

true、false

false

"true" であると、iopsPerGB * <volume size> が小さすぎて AWS でサポートされている IOPS 範囲に収まらない場合に、CSI ドライバーによりボリュームの IOPS が増加します。この結果、ユーザーが指定する PVC キャパシティーや iopsPerGB 値が小さすぎる場合でも、動的プロビジョニングが常に成功します。一方、このようなボリュームの IOPS は iopsPerGB でリクエストされた値よりも高くなるため、追加コストが発生する可能性があります。

「iops」

1 秒あたりの I/O オペレーション回数。IO1、IO2、GP3 ボリュームで指定できます。

「throughput」

125

単位 MiB/秒でのスループット。gp3 ボリュームタイプが指定されている場合にのみ有効です。

「encrypted」

true、false

false

ボリュームを暗号化するかどうか。有効な値は「true」または「false」です。

「blockExpress」

true、false

false

io2 Block Express ボリュームの作成を有効にします。

「kmsKeyId」

ボリュームの暗号化時に使用するキーの完全な ARN。指定されていない場合、AWS ではボリュームが存在するリージョンのデフォルトの KMS キーが使用されます。これは、変更されていない場合、/aws/ebs という名前の自動生成キーになります。

「blockSize」

基盤となるファイルシステムをフォーマットするときに使用するブロックサイズ。Linux ノードと fstype ext2ext3ext4 または xfs でのみサポートされます。

「inodeSize」

基盤となるファイルシステムをフォーマットするときに使用する inode サイズ。Linux ノードと fstype ext2ext3ext4 または xfs でのみサポートされます。

「bytesPerInode」

基盤となるファイルシステムをフォーマットするときに使用する bytes-per-inode。Linux ノードと fstype ext2ext3ext4 でのみサポートされます。

「numberOfInodes」

基盤となるファイルシステムをフォーマットするときに使用する number-of-inodes。Linux ノードと fstype ext2ext3ext4 でのみサポートされます。

「ext4BigAlloc」

true、false

false

bigalloc フォーマットオプションを有効にして、クラスター化されたブロック割り当てを使用するように ext4 ファイルシステムを変更します。警告: ノードの Linux カーネルでは bigalloc が完全にはサポートされない場合があります。

「ext4ClusterSize」

bigalloc 機能が有効になっている場合に、ext4 ファイルシステムをフォーマットするときに使用するクラスターサイズ。注: ext4BigAlloc パラメータを true に設定する必要があります。

詳細については、GitHub の「AWS EBS CSI Driver」を参照してください。

考慮事項

EKS Auto Mode のブロックストレージ機能は、EBS CSI ドライバーとは異なります。

  • 静的プロビジョニング

    • EKS Auto Mode で外部作成の EBS ボリュームを使用する場合は、キー eks:eks-cluster-name とクラスター名の値を含む AWS タグを手動で追加する必要があります。

  • ノード起動テイント

    • ノード起動テイント機能を使用して、ストレージ機能の準備が整う前にポッドのスケジューリングを防ぐことはできません

  • 動的にプロビジョニングされたボリュームのカスタムタグ

    • 追加タグ CLI フラグを使用して、動的にプロビジョニングされた EBS ボリュームにカスタムタグを設定することはできません

    • StorageClass タグ付けを使用してカスタムタグを追加できます。EKS Auto Mode は、関連付けられた AWS リソースにタグを追加します。カスタムタグのクラスター IAM ロールを更新する必要があります。詳細については「EKS Auto リソースのカスタム AWS タグ」を参照してください。

  • EBS 詳細パフォーマンスメトリクス

    • EBS 詳細パフォーマンスの Prometheus メトリクスにアクセスできません

CSI スナップショットコントローラーアドオンをインストールする

EKS Auto Mode は、CSI スナップショットコントローラー Amazon EKS アドオンと互換性があります。

AWS では、組み込み system ノードプールで実行するようにこのアドオンを設定することをお勧めします。

詳細については、以下を参照してください。

スナップショットコントローラーをシステムノードプールにインストールするには

  1. AWS コンソールで EKS クラスターを開きます

  2. [アドオン] タブから、[アドオンをさらに追加] を選択します

  3. [CSI スナップショットコントローラー][次へ] の順に選択します

  4. [選択したアドオン設定を構成する] ページで、[オプションの設定] を選択して [アドオン設定スキーマ] を表示します

    1. 次の yaml を挿入して、スナップショットコントローラーを system ノードプールに関連付けます。スナップショットコントローラーには、CriticalAddonsOnly テイントの許容が含まれています。

      { "nodeSelector": { "karpenter.sh/nodepool": "system" } }
    2. [次へ] を選択します

  5. アドオン設定を確認し、[作成] を選択します

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.