AWSからKubernetesリソース同期
Overview
QueryPieでは、Kubernetesクラスター登録および管理のためのAWS連携をサポートします。 AWS内のリソースを同期してQueryPieで管理するクラスターに登録し、ユーザーおよびグループに同期してきたクラスターに対するKubernetes APIアクセス権限を付与し、ポリシーを設定することができます。
AWS EKS認証モード修正
QueryPieは、AWS EKS Kubernetesクラスター接続のために、同期時にEKS access entry APIを活用します。 したがって、クラスター認証モードがConfigMapでのみ設定されている場合、接続が困難な部分があり、円滑な同期のためにAWSコンソールでモード変更を事前に作業しておくことをお勧めします。

AWS Console > EKS > Clusters > {cluster} > Access > Access configuration > Manage access
- AWS ConsoleにEKS管理者権限を持つアカウントでアクセスします。
- Elastic Kubernetes Service (EKS) メニューに移動します。
- 対象EKSクラスターが位置するリージョン(Region)に移動します。
- 예)

- 예)
- 対象EKSクラスターを選択して詳細ページに移動します。
- AccessタブをクリックしてAccess configuration現況を確認します。
- Authentication modeが “ConfigMap” であれば、右側の Manage access ボタンをクリックします。
- Cluster authentication modeを “EKS API and ConfigMap” に変更します。
Save changesを押して変更事項を保存します。
QueryPieでAWS連携情報登録

Administrator > Kubernetes > Connection Management > Cloud Providers > Create Provider
- Administrator > Kubernetes > Connection Management > Cloud Providersメニューに移動します。
- 右上の
+ Create Providerボタンをクリックします。 - Name 項目に該当プロバイダーを区別できる名前を入力します。
- Cloud Provider 項目でAmazon Web Servicesを選択します。
- Region 項目で同期したいリソースのリージョンを選択します。
- リソースを同期するために必要な Credential 情報を入力します。

- Default Credentials : QueryPieサーバーが同じAWSアカウントにインストールされている場合、QueryPieがインストールされたEC2インスタンスにIAMロールを割り当てて同じAWS内のリソースを同期することができます。
- Cross Account Role : IAMロールを作成して他のAWSアカウントのリソースを同期することができます。画面に表示されたステップに従って同期のための権限を作成し、ポリシーを割り当ててください。
- Search Filter を使用して同期したい一部のタイプのリソースリストを取得することができます。
- Search FilterはAWSの検索方式と同じように動作します。名前、タグなどの値をフィルターとして使用でき、以下の順序でEnterキーを活用して検索条件およびフィルターを便利に入力できます。
- Key値入力後Enter → 検索条件選択後Enter → Value値入力後Enter
- より詳細な使用方法はUser Guide for Linux Instances (AWS) で確認できます。
- Search FilterはAWSの検索方式と同じように動作します。名前、タグなどの値をフィルターとして使用でき、以下の順序でEnterキーを活用して検索条件およびフィルターを便利に入力できます。
- Replication Frequency 項目で同期方式を選択します。
- Manual : 同期したい時点にのみ手動で同期する方式です。
- Scheduling : 周期的なスケジューリングを通じてリソースを同期する方式です。Cron Expressionsを提供します。
- (
Dry Runボタンをクリックして同期に問題がないか事前に確認できます。) SaveボタンをクリックしてCloud Providerを保存します。
Q. Saveボタンをクリックしたのに「Already exists cloud provider.」というエラーが表示されます。
A. すでに Credential がDefault Credentialsでありながら同じRegionで登録されたCloud Providerがある場合、重複登録ができません。
この場合、他のRegionを選択して登録を試みると正常に保存されます。
登録されたAWS Cloud Provider同期および管理

Administrator > Kubernetes > Connection Management > Cloud Providers > List Details
- Administrator > Kubernetes > Connection Management > Cloud Providersメニューに移動します。
- 登録したCloud Providerをクリックして詳細情報画面に入ります。
- 右上の
SynchronizeボタンをクリックするとAWSからリソースを同期できます。- 表記文句に対する定義は以下の Dry Run/Synchronization Log表記文句 を参考にしてください。
- 表示されるSynchronization Logで同期進行状況を確認でき、Settings > Systems > Jobsメニューでも同期履歴を確認できます。
- Cloud Providerを一度登録すると、Provider一部情報は変更できません。
- Name : 変更可能
- Cloud Provider : 変更不可
- Region : 変更不可
- Credential : 変更不可
- Role ARN : 変更不可
- Search Filter : 変更可能
- Replication Frequency : 変更可能
Dry Run/Synchronization Log表記文句
| 발생 시점 | 문구 | |
|---|---|---|
| ✔️ | Dry Run 또는 Synchronize 동기화 시작 | Cluster synchronization started. |
| ✔️ | 신규 클러스터 추가 완료 | New Cluster is added: {Cluster Name} ({API URL}). |
| ✔️ | 기존 클러스터 정보 업데이트 완료 | Cluster {Cluster Name} is updated |
| ✔️ | 기존 클러스터 제거 완료 | Cluster {Cluster Name} is removed |
| ✔️ | Dry Run 또는 Synchronize 동기화 성공적으로 종료 | Cluster synchronization succeeded. |
| EKS 클러스터의 인증 모드가 EKS API를 허용하지 않는 경우 동기화 스킵. ConfigMap 모드에서 EKS API를 허용하도록 변경 필요. | Skipping sync. Cluster {Cluster Name}’s authentication mode blocks EKS access entry API. To manage access, enable EKS API access. | |
| ❌ | 이미 중복된 클러스터명이 확인되어 동기화 실패 | Cluster synchronization failed. The cluster name “{Cluster Name}” is already in use by another cluster. To synchronize it, delete the existing cluster. |
| ❌ | Dry Run 또는 Synchronize 동기화 실패 종료 | Cluster synchronization failed. + {additional statement} |