このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
AWS CLI を使用して ACK 機能を作成する
このトピックでは、AWS CLI を使用して Kubernetes 用 AWS コントローラー (ACK) 機能を作成する方法について説明します。
前提条件
-
AWS CLI バージョン
2.12.3以降。バージョンを確認するには、aws --versionを実行します。詳細についてはAWS コマンドラインインターフェイスユーザーガイドの「インストール」を参照してください。 -
kubectl- Kubernetes クラスターを操作するためのコマンドラインツール。詳細については、「kubectl および eksctl のセットアップ」を参照してください。
ステップ 1: IAM 機能ロールを作成する
信頼ポリシーファイルを作成します。
cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF
IAM ロールを作成します。
aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json
AdministratorAccess マネージドポリシーをロールにアタッチします。
aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
重要
提案された AdministratorAccess ポリシーは、幅広いアクセス許可を付与し、使用開始を効率化することを目的としています。本番稼働で使用する場合は、これをカスタムポリシーに置き換えて、そのポリシーでは ACK で管理する特定の AWS サービスに必要なアクセス許可のみを付与します。最小特権ポリシーを作成する際のガイダンスについては、「ACK アクセス許可を設定する」および「EKS 機能のセキュリティに関する考慮事項」を参照してください。
ステップ 2: ACK 機能を作成する
ACK 機能リソースをクラスターに作成します。region-code はクラスターがある AWS リージョンに、my-cluster はクラスターの名前に置き換えます。
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --delete-propagation-policy RETAIN
このコマンドはすぐに戻りますが、EKS が必要な機能インフラストラクチャとコンポーネントを作成するため、機能がアクティブになるまでにはしばらく時間がかかります。EKS は、この機能に関連する Kubernetes カスタムリソース定義をその作成時にクラスターにインストールします。
注記
クラスターが存在しないというエラーやアクセス許可がないというエラーが表示された場合は、以下の点を確認します。
-
クラスター名が正しいこと
-
AWS CLI が正しいリージョンに設定されていること
-
必要な IAM アクセス許可を追加したこと
ステップ 3: 機能がアクティブであることを確認する
機能がアクティブになるまで待機します。region-code はクラスターがある AWS リージョンに、my-cluster はクラスターの名前に置き換えます。
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --query 'capability.status' \ --output text
ステータスが ACTIVE と表示されたら、機能の準備は完了です。ステータスが ACTIVE になるまで、次のステップに進まないでください。
機能の詳細全体を表示することもできます。
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack
ステップ 4: カスタムリソースが使用可能であることを確認する
機能がアクティブになったら、ACK カスタムリソースがクラスターで使用可能になっていることを確認します。
kubectl api-resources | grep services.k8s.aws
AWS リソースに使用可能な多数の API がリストされます。
注記
Kubernetes 用 AWS コントローラーの機能は、さまざまな AWS リソース用に多数の CRD をインストールします。
次のステップ
-
ACK の概念 - ACK の概念を理解して使用を開始する
-
ACK アクセス許可を設定する - 他の AWS サービスに対して IAM アクセス許可を設定する
-
機能リソースの使用 - ACK 機能リソースを管理する