AWS でのクーバネティスリソースの同期
概要
QueryPie はクーバネティスクラスターの登録と管理のために AWS との統合をサポートしています。AWS から QueryPie が管理するクラスターにリソースを同期することができます。さらに、同期されたクラスターのユーザーとグループにクーバネティス API アクセス許可を付与し、それに応じてポリシーを設定できます。
前提条件
QueryPie インスタンスに割り当てられた AWS IAM ロールに、AWS リソースとの同期に必要なポリシーアクションがアタッチされていることを確認します。ポリシーには以下のアクションが含まれている必要があります:
eks:ListClusters
eks:ListClusters
eks:ListAccessEntries
eks:DescribeAccessEntry
eks:CreateAccessEntry
eks:ListAssociatedAccessPolicies
eks:AssociateAccessPolicy
AWS EKS クラスターの認証モードの編集
QueryPie は同期時に AWS EKS クーバネティスクラスターへの接続に EKS アクセスエントリ API を利用します。そのため、クラスターの認証モードが現在 "ConfigMap" のみで設定されている場合、接続の確立が困難になる可能性があります。同期をスムーズに行うためには、事前に AWS コンソールで認証モードを変更しておくことをお勧めします。

EKS の管理者権限を持つアカウントで AWS マネジメントコンソールにログインします。
Elastic Kubernetes Service (EKS) メニューに移動します。
対象の EKS クラスターがある AWS リージョンを選択します。
例
管理したい特定の EKS クラスターを選択します。
Access タブをクリックして、現在のアクセス設定を表示します。
認証モードが "ConfigMap" に設定されている場合は、右側のアクセス管理ボタンをクリックします。
"EKS API and ConfigMap" を選択します。
Save changes
をクリックして変更を適用します。
QueryPie への AWS 認証情報の登録

管理者 > クーバネティス > 接続管理 > クラウドプロバイダー メニューに移動します。
右上にある
+ プロバイダー作成
ボタンをクリックします。Name: プロバイダを区別する名前を入力します。
Cloud Provider: “Amazon Web Services"を選択します。
Region: リソースを同期するリージョンを選択します。
Credential: リソースの同期に必要な認証情報を入力します。
Default Credentials: 同じ AWS アカウント内に QueryPie がインストールされている場合、同じAWS アカウント内の同期には QueryPie がデプロイされている EC2 インスタンスに割り当てられたIAM ロールを使用する。
Cross Account Role: 別の AWS アカウントからリソースを同期するための IAM ロールを作成する。画面上の手順に従って、必要な権限を作成し、同期用のポリシーを割り当てます。
Search Filter: このオプションを使用して、同期するリソースタイプのリストを取得します。
検索フィルターは AWS の検索方法と同様に動作し、名前やタグなどの値をフィルタリングに使用できます。
キー値を入力 → 検索条件を選択 → 値を入力
詳しい使い方は Linuxインスタンス (AWS) ユーザーガイド.
Replication Frequency: 同期方法を選択します:
Manual: 必要なときにリソースを手動で同期します。
Scheduling: Cron 式を使用して定期的な同期を設定します。
Dry Run: 実際の変更を行わずに同期をシミュレートするには、
Dry Run
ボタンをクリックします。Save
ボタンをクリックして、クラウドプロバイダーの設定を保存します。
Q: Save
ボタンをクリックしましたが、"Already exists cloud providers." というエラーメッセージが表示されます。
A:Default Credentials
を使用して同じリージョン
に既にクラウドプロバイダーが登録されている場合、重複のため別のクラウドプロバイダーを登録することはできません。これを解決するには、別のリージョンで
登録を行ってみてください。
AWS クラウドプロバイダーの同期と管理

管理者 > クーバネティス > 接続管理 > クラウドプロバイダー メニューに移動します。
登録したクラウドプロバイダーをクリックし、詳細情報画面にアクセスします。
右上の
Synchronize
ボタンをクリックし、AWS からリソースを同期します。Dry Run/同期ログについては、以下の定義を参照してください。
表示される同期ログで同期の進捗を確認したり、一般 > システム > ジョブ メニューで同期履歴を確認することができます。
クラウドプロバイダーは一度登録すると変更できない項目があります:
名前: 変更可能
クラウドプロバイダー : 変更不可
リージョン: 変更不可
認証情報: 変更不可
ロール ARN: 変更不可
検索フィルター: 変更可能
レプリケーション頻度: 変更可能
ドライラン/同期ログ
トリガー | ステートメント | |
---|---|---|
Dry Run または同期: 同期の開始 | クラスター同期開始 | |
新しいクラスターの追加完了 | 新しいクラスターが追加されました: {Cluster Name} ({API URL}). | |
既存のクラスター情報の更新の完了 | クラスター {Cluster Name} が更新されました。 | |
既存クラスターの削除完了 | クラスター {Cluster Name} が削除されました。 | |
Dry Run または同期: 同期が正常に完了しました。 | クラスターの同期に成功しました。 | |
![]() | EKS クラスターの認証モードが EKS API を許可していない場合は同期をスキップします。 | 同期をスキップします。クラスター {Cluster Name} の認証モードが EKS アクセスエントリ API をブロックしています。アクセスを管理するには、EKS API アクセスを有効にしてください。 |
クラスター名が重複しているため同期に失敗しました。 | クラスターの同期に失敗しました。クラスター {Cluster Name} はすでに別のクラスターで使用されています。同期するには、既存のクラスターを削除してください。 | |
Dry Run または同期を実行します: 同期の完了に失敗しました。 | クラスターの同期に失敗しました。+ {additional statement} |