Skip to main content
Skip table of contents

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 コンソールで認証モードを変更しておくことをお勧めします。

image-20240512-134234.png
  1. EKS の管理者権限を持つアカウントで AWS マネジメントコンソールにログインします。

  2. Elastic Kubernetes Service (EKS) メニューに移動します。

  3. 対象の EKS クラスターがある AWS リージョンを選択します。

    • image-20240512-134604.png

  4. 管理したい特定の EKS クラスターを選択します。

  5. Access タブをクリックして、現在のアクセス設定を表示します。

  6. 認証モードが "ConfigMap" に設定されている場合は、右側のアクセス管理ボタンをクリックします。

  7. "EKS API and ConfigMap" を選択します。

  8. Save changesをクリックして変更を適用します。

QueryPie への AWS 認証情報の登録

image-20240721-054036.png
  1. 管理者 > クーバネティス > 接続管理 > クラウドプロバイダー メニューに移動します。

  2. 右上にある+ プロバイダー作成ボタンをクリックします。

  3. Name: プロバイダを区別する名前を入力します。

  4. Cloud Provider: “Amazon Web Services"を選択します。

  5. Region: リソースを同期するリージョンを選択します。

  6. Credential: リソースの同期に必要な認証情報を入力します。

    image-20240721-054206.png
    • Default Credentials: 同じ AWS アカウント内に QueryPie がインストールされている場合、同じAWS アカウント内の同期には QueryPie がデプロイされている EC2 インスタンスに割り当てられたIAM ロールを使用する。

    • Cross Account Role: 別の AWS アカウントからリソースを同期するための IAM ロールを作成する。画面上の手順に従って、必要な権限を作成し、同期用のポリシーを割り当てます。

  7. Search Filter: このオプションを使用して、同期するリソースタイプのリストを取得します。

    • 検索フィルターは AWS の検索方法と同様に動作し、名前やタグなどの値をフィルタリングに使用できます。

      • キー値を入力 → 検索条件を選択 → 値を入力

    • 詳しい使い方は Linuxインスタンス (AWS) ユーザーガイド.

  8. Replication Frequency: 同期方法を選択します:

    • Manual: 必要なときにリソースを手動で同期します。

    • Scheduling: Cron 式を使用して定期的な同期を設定します。

  9. Dry Run: 実際の変更を行わずに同期をシミュレートするには、Dry Runボタンをクリックします。

  10. Saveボタンをクリックして、クラウドプロバイダーの設定を保存します。

Q: Saveボタンをクリックしましたが、"Already exists cloud providers." というエラーメッセージが表示されます。

A:Default Credentialsを使用して同じリージョンに既にクラウドプロバイダーが登録されている場合、重複のため別のクラウドプロバイダーを登録することはできません。これを解決するには、別のリージョンで登録を行ってみてください。

AWS クラウドプロバイダーの同期と管理

image-20240721-054313.png
  1. 管理者 > クーバネティス > 接続管理 > クラウドプロバイダー メニューに移動します。

  2. 登録したクラウドプロバイダーをクリックし、詳細情報画面にアクセスします。

  3. 右上のSynchronizeボタンをクリックし、AWS からリソースを同期します。

    1. Dry Run/同期ログについては、以下の定義を参照してください。

    2. 表示される同期ログで同期の進捗を確認したり、一般 > システム > ジョブ メニューで同期履歴を確認することができます。

  4. クラウドプロバイダーは一度登録すると変更できない項目があります:

    • 名前: 変更可能

    • クラウドプロバイダー : 変更不可

    • リージョン: 変更不可

    • 認証情報: 変更不可

    • ロール ARN: 変更不可

    • 検索フィルター: 変更可能

    • レプリケーション頻度: 変更可能

ドライラン/同期ログ

トリガー

ステートメント

(tick)

Dry Run または同期: 同期の開始

クラスター同期開始

(tick)

新しいクラスターの追加完了

新しいクラスターが追加されました: {Cluster Name} ({API URL}).

(tick)

既存のクラスター情報の更新の完了

クラスター {Cluster Name} が更新されました。

(tick)

既存クラスターの削除完了

クラスター {Cluster Name} が削除されました。

(tick)

Dry Run または同期: 同期が正常に完了しました。

クラスターの同期に成功しました。

image-20240822-082024.png

EKS クラスターの認証モードが EKS API を許可していない場合は同期をスキップします。

同期をスキップします。クラスター {Cluster Name} の認証モードが EKS アクセスエントリ API をブロックしています。アクセスを管理するには、EKS API アクセスを有効にしてください。

(오류)

クラスター名が重複しているため同期に失敗しました。

クラスターの同期に失敗しました。クラスター {Cluster Name} はすでに別のクラスターで使用されています。同期するには、既存のクラスターを削除してください。

(오류)

Dry Run または同期を実行します: 同期の完了に失敗しました。

クラスターの同期に失敗しました。+ {additional statement}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.