

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

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

# コンソールを使用して kro 機能を作成する
<a name="kro-create-console"></a>

このトピックでは、AWS マネジメントコンソール を使用して kro (Kube Resource Orchestrator) 機能を作成する方法について説明します。

## kro 機能を作成する
<a name="_create_the_kro_capability"></a>

1. https://console.aws.amazon.com/eks/home\$1/clusters で Amazon EKS コンソールを開きます。

1. クラスター名を選択して、クラスターの詳細ページを開きます。

1. **[機能]** タブを選択します。

1. 左側のナビゲーションで、**[kro (Kube Resource Orchestrator)]** を選択します。

1. **[kro 機能の作成]** を選択します。

1. **IAM 機能ロール**に対して以下の操作を行います。
   + IAM 機能ロールが既に存在する場合は、ドロップダウンから選択します。
   + 新しいロールを作成する必要がある場合は、**[kro ロールを作成]** を選択します。

     これにより、信頼ポリシーが事前に入力された新しいタブで IAM コンソールが開きます。kro はクラスター内で完全に動作するため、このロールには追加の IAM アクセス許可は必要ありません。

     ロールを作成して EKS コンソールに戻ると、そのロールが自動的に選択されます。
**注記**  
ACK や Argo CD とは異なり、kro は信頼ポリシー以外の追加の IAM アクセス許可を必要としません。kro はクラスター内で完全に動作し、AWS API コールを行いません。

1. **[作成]** を選択します。

機能作成プロセスが始まります。

## 機能がアクティブであることを確認する
<a name="_verify_the_capability_is_active"></a>

1. **[機能]** タブで、kro 機能のステータスを表示します。

1. ステータスが `CREATING` から `ACTIVE` に変わるまで待ちます。

1. アクティブになったら、この機能を使用する準備は完了です。

機能のステータスとトラブルシューティングの詳細については、「[機能リソースの使用](working-with-capabilities.md)」を参照してください。

## Kubernetes リソースを管理するためのアクセス許可を付与する
<a name="_grant_permissions_to_manage_kubernetes_resources"></a>

kro 機能を作成すると、`AmazonEKSKROPolicy` を使用して EKS アクセスエントリが自動的に作成されます。これにより、kro で ResourceGraphDefinitions とそのインスタンスを管理できます。ただし、ResourceGraphDefinitions で定義されている基盤となる Kubernetes リソース (デプロイ、サービス、ConfigMaps など) を作成するアクセス許可はデフォルトでは付与されません。

この設計は、最小特権の原則に従った意図的なものです。異なる ResourceGraphDefinitions にはそれぞれ異なるアクセス許可が必要となります。それぞれの ResourceGraphDefinitions が管理するリソースに基づいて、kro に必要なアクセス許可を明示的に設定する必要があります。

迅速な開始、テスト、または開発環境については、`AmazonEKSClusterAdminPolicy` を使用します。

1. EKS コンソールで、クラスターの **[アクセス]** タブに移動します。

1. **[アクセスエントリ]** で、kro 機能ロールのエントリを見つけます (以前に作成したロール ARN が表示されます)。

1. アクセスエントリを選択して詳細を開きます。

1. **[アクセスポリシー]** セクションで、**[アクセスポリシーを関連付ける]** を選択します。

1. ポリシーリストから `AmazonEKSClusterAdminPolicy` を選択します。

1. **[アクセスの範囲]** で、**[クラスター]** を選択します。

1. **関連付ける** を選択してください。

**重要**  
`AmazonEKSClusterAdminPolicy` は、すべての名前空間について任意のリソースタイプを作成する機能など、すべての Kubernetes リソースを作成および管理するための広範なアクセス許可を付与します。これは開発や POC には便利ですが、本番環境では使用しないでください。本番環境では、それぞれの ResourceGraphDefinitions が管理する特定のリソースに必要なアクセス許可のみを付与する、カスタム RBAC ポリシーを作成してください。最小特権のアクセス許可の設定に関するガイダンスについては、「[kro アクセス許可の設定](kro-permissions.md)」および「[EKS 機能のセキュリティに関する考慮事項](capabilities-security.md)」を参照してください。

## カスタムリソースが使用可能であることを確認する
<a name="_verify_custom_resources_are_available"></a>

機能がアクティブになったら、kro カスタムリソースがクラスターで使用可能になっていることを確認します。

 **コンソールの使用** 

1. Amazon EKS コントロールでクラスターに移動します。

1. **[リソース]** タブを選択します。

1. **[拡張機能]** を選択します。

1. **[CustomResourceDefinitions]** を選択します。

`ResourceGraphDefinition` リソースタイプがリストされます。

 **kubectl を使用する** 

```
kubectl api-resources | grep kro.run
```

`ResourceGraphDefinition` リソースタイプがリストされます。

## 次のステップ
<a name="_next_steps"></a>
+  [kro の概念](kro-concepts.md) - kro の概念とリソース構成を理解する
+  [kro の概念](kro-concepts.md) - SimpleSchema、CEL 式、構成パターンについて学ぶ
+  [機能リソースの使用](working-with-capabilities.md) - kro 機能リソースを管理する