Amazon EKS

Amazon EKS のMAPタグ付け手順

Amazon EKSの移行追跡は、引き続き既存のMAP2.0タグ付けプロセスに依存します。 tag-keyとtag-valueは、MAPタグ付けガイドで詳しく説明されている標準のMAPタグと同じになります。

Amazon EKSは複数のAWSサービスを起動する可能性があるため、Amazon EKSによって起動されるすべてのリソースとサービスにタグを付ける必要があります。以下のガイドは、すべてのAmazon EKSリソースに正しくタグを付ける方法の詳細な手順を示しています。

現在、EKSはタグを伝播しません。 EKSがタグの伝播をサポートするまでの代替ソリューションとして、以下に詳述する以下の手順が必要です。

Kubernetes APIでは、クラスターのコンテキスト内から複数のリソースタイプを定義できますが、リソースを複数のクラスターまたはAWSリソース間で共有できない場合、AWSはこれらのリソースをクラスターの内部としてモデル化します。料金は、Amazon EKSクラスター時間と以下の内部クラスターリソースに基づいています。

  1. ノード(EC2インスタンス):EKSマネージドノードまたはセルフマネージドノード
  2. ロードバランサー -アプリケーションロードバランサー(ALB)または ネットワークロードバランサー(NLB)
  3. EBS ボリューム

Kubernetesクラスター自体と、ノード、ロードバランサー、EBSボリュームなどのすべての有料内部クラスターリソースにタグを適用するには、以下の手順に従います。

Kubernetesクラスターのタグ付け

タグは、Amazon EKSコンソール、eksctl、AWS CLI、AWS API、またはInfrastructure-as-a-Codeツールを使用して、新規または既存のKubernetesクラスターに追加できます。

  • 新しいクラスターの場合、クラスターの作成中に、CreateCluster APIアクションの tags パラメータを使用して新しいクラスターにタグを適用します。
  • 既存のクラスターには、TagResourceAPI を使用してタグが適用されます。
  • Amazon EKSコンソールを使用する場合、クラスターのタグのタブを使用して、タグを新規または既存のクラスターに適用できます。
  • Infrastructure-as-a-Codeのツールを使用する場合、Amazon EKSにタグを付ける方法について、それぞれのツールのドキュメントを参照してください。たとえば、ツールがTerraformの場合は、EKSクラスターの作成時にtags引数を使用します。Terraformを使用したタグ追加の詳細については、こちらを参照してください。

ノードのタグ付け

ノードグループ内のノードのタグ付け -AmazonEKSクラスターは、自己管理ノードとEKS管理ノードの任意の組み合わせでポッドをスケジュールできます。管理対象ノードまたは自己管理対象ノードが適切にタグ付けされていることを確認するには、以下の手順に従ってください。

  • マネージド ノード: マネージドノードグループのノードにタグを付けるには、カスタム起動テンプレートを使用します。起動テンプレートの TagSpecificationparameter を使用して、ノードグループ内のノード(EC2インスタンス)に適用するタグを指定します。タグ指定の詳細については、こちらにアクセスしてください。管理対象ノードグループは、EKS API、AWS CLI、CloudFormation、またはEKSコンソールを使用してカスタム起動テンプレートで起動できます。詳細については、こちらをご覧ください。

  • セルフマネージドノード: タグパラメータを使用してeksctlでノードグループを作成することにより、タグを自己管理ノードに適用できます。タグは、セルフマネージドノードグループ作成の一部として作成されたすべてのEC2インスタンスに適用されます。タグは、AWSマネジメントコンソールを使用してセルフマネージドノードに適用することもできます。詳細については、こちらをご覧ください。

ロードバランサーのタグ付け

AWSロードバランサーコントローラーは、KubernetesクラスターのためのAWS Elastic LoadBalancerを管理します。コントローラーは以下をプロビジョニングします。 AWS Load Balancer Controllerは、KubernetesクラスターのためのElastic Load Balancingを管理します。AWS Load Balancer Controllerは以下をプロビジョニングします。

  • Application Load Balancer (ALB): Kubernetes Ingress を作成すると、コントローラーがALBの作成をトリガーします。 ALBにタグを付けるには、ALB Ingress コントローラーのアノテーションalb.ingress.kubernetes.io/tagsを追加し、作成されたALBに適用する必要のある追加のタグを指定する必要があります。タグアノテーションの詳細については、こちらにアクセスしてください。EKSのアプリケーション負荷分散の設定詳細については、こちらにアクセスしてください。

  • Network Load Balancer(NLB): IPターゲットを使用してタイプLoadBalancerのKubernetes Serviceを作成すると、コントローラーがNLBの作成をトリガーします。詳細については、こちらにアクセスしてください。NLB にタグを付けるには、作成時にアノテーションservice.beta.kubernetes.io/aws-load-balancer-additional-resource-tagsをNLBに追加する必要があります。詳細については、こちらにアクセスしてください。EKSでのNLBの使用詳細については、こちらを参照してください。

EBSボリュームのタグ付け

Amazon EBS Container Storage Interface (CSI) ドライバーは、Amazon EKSクラスターがEBSボリュームのライフサイクルを管理できるようにする CSIインターフェースを提供します。動的にプロビジョニングされたEBSボリュームにタグを追加するには、CSIドライバーでコマンドオプション -extra-tags を使用します。詳細な手順については、ドキュメントを参照してください。

EKS上のAWS Fargate

AWS Fargateは請求目的でEKSの下に製品グループとしてリストされているため、EKSクラスターにタグを付けるとFargateの使用コストが組み込まれます。

リファレンス

タグ付けの手順は、EKSのドキュメントにも記載されています。