メインコンテンツまでスキップ

AWS Controllers for Kubernetes (ACK)

開始する前に

このセクションの環境を準備してください:

~$prepare-environment automation/controlplanes/ack

これにより、ラボ環境に以下の変更が適用されます:

  • Amazon EKSクラスタにDynamoDB用のAWS Controllersをインストールします

これらの変更を適用するTerraformはこちらで確認できます。

AWS Controllers for Kubernetes (ACK)プロジェクトを使用すると、馴染みのあるYAMLコンストラクトを使用して、KubernetesからAWSサービスのリソースを直接定義し、使用することができます。

ACKを使用すると、データベース(RDSや他のもの)やキュー(SQSなど)などのAWSサービスをKubernetesアプリケーション用に活用できます。クラスター外部でリソースを手動で定義することなく、これによりアプリケーションの依存関係を管理する全体的な複雑さが軽減されます。

サンプルアプリケーションはデータベースやメッセージキューなどのステートフルなワークロードを含め、クラスター内で完全に実行できますが(開発に適しています)、テストや本番環境ではAmazon DynamoDBやAmazon MQなどのAWSマネージドサービスを使用することで、チームはデータベースやメッセージブローカーの管理ではなく、顧客やビジネスプロジェクトに集中できます。

このラボでは、ACKを使用してこれらのサービスをプロビジョニングし、アプリケーションをこれらのAWSマネージドサービスに接続するためのバインディング情報を含むシークレットとコンフィグマップを作成します。

学習目的のために、ACKコントローラーのインストールにはhelmを使用しています。もう一つの選択肢は、クラスターへのAWSサービスコントローラーの迅速なデプロイを可能にするTerraformを使用することです。詳細については、ACK Terraformモジュールのドキュメントをご覧ください。

EKS with DynamoDB