以下の内容はhttps://acro-engineer.hatenablog.com/entry/2025/12/15/120000より取得しました。


AWSでElastic Cloudを利用する 2025年12月版(構築編)

こんにちは、Elastic認定資格3種(※)を保持しているノムラです。
※Elastic社の公式認定資格(Elastic Certified Engineer / Elastic Certified Analyst / Elastic Certified Observability Engineer)

この記事は、Elastic Stack (Elasticsearch) Advent Calendar 2025 の15日目の記事です。
qiita.com

昨年公開した以下の記事の2025年版になります。
AWSでElastic Cloudを利用する 2024年版(構築編) - Taste of Tech Topics

昨年の記事執筆時点から、構築手順や設定方法、UIなどに変更が加えられており、以前の記事では最新環境に対応しづらくなってきました。
そこで本記事では、2024年版と同様に AWS Marketplace を利用して Elastic Cloud を構築し、その後に Security設定/認証設定 を行う手順を紹介します。

はじめに
1. Marketplace経由で構築
2. Security強化(IPフィルタリング設定)
3. Security強化(Private Link設定)
4. KibanaにCognito認証を追加
まとめ

はじめに

以下本記事ではElastic Cloud(Elasticsearch Service)の名称を統一して「Elastic Cloud」で記載します。

AWSでElastic Cloudを構築するステップ

AWS Marketplaceを利用することで以下の4つのステップでAWS上にElastic Cloudを構築することが可能です。

  1. Marketplace経由で構築
  2. Security強化(IPフィルタリング設定)
  3. Security強化(Private Link設定)
  4. KibanaにCognito認証を追加

構成イメージは下図です

構成イメージ

以下それぞれのステップについて構築/設定方法を解説していきます。

1. Marketplace経由で構築

Marketplaceでの導入手順

1つ目のSTEPとして、AWS Marketplace経由でElastic Cloudを構築していきます。

(1) AWS MarketplaceのElastic Cloudのページにアクセスし、「View purchase options」を押下

aws.amazon.com

View purchase optionsを押下

(2) 購入画面の「Subscribe」を押下

Subscribeを押下

押下すると画面に以下のような案内が表示されるため、「Set up your account」を押下します。

Set up your accountを押下
Elastic Cloudのアカウント作成

※注意点:既存のElastic CloudのアカウントをAWS MarketplaceのElastic Cloudに紐づけて利用することはできません

そのため新規メールアドレスを利用しアカウントを作成します。

アカウント作成画面

(3) 画面に表示されるSTEPに従って各種設定を実施

Elastic Cloudアカウントの作成後、画面に表示されるソリューションからユースケースに従って選択しElastic Cloudをデプロイすることができます。

ソリューション選択画面
デプロイ中画面

(4) DeployしたKibanaにログイン確認する

作成されたDeploymentのKibanaにログインしましょう。
URLは「https://<Deployment名>.kb.us-east-2.aws.elastic-cloud.com/app/home」のように作成されたDeployment名が付与されます。

Kibanaログイン成功

2. Security強化(IPフィルタリング設定)

次のステップとして構築したDeploymentにIPフィルタリングを設定していきます。

IPフィルタリングで出来ること/メリット

IPフィルタリングを設定することで、Deployment(Elasticsearch、Kibana)へのアクセス制限が可能となります。
詳細については以下を参照ください
www.elastic.co

では実際に設定してみましょう。

IPフィルタリング設定方法

(1) 作成したDeploymentの管理画面のAccess and securityから「Network security」を選択後、「Create」から「IP filter」を押下

Network securityを押下後、CreateからIP filterを押下

(2) IPアドレス等の条件を入力後、「Create」を押下

作成に成功すると以下のように作成されたIPフィルタリングの定義が表示されます。

作成されたIPフィルタリング定義

(3) DeploymentのSecurity設定画面の「Apply policies」を押下し、作成したIPフィルタリング定義をDeploymentに適用

Apply policiesを押下し、作成したIPフィルタリング定義を適用する

以上でElastic Cloud上に構築したDeploymentにIPフィルタリングの定義を適用することができます。

3. Security強化(Private Link設定)

続いてPrivate Linkも設定していきましょう。
Private Linkを設定しVPC同士を接続することで、インターネットを経由しない通信となりセキュアにすることが可能です。

Private Link設定方法

(1) AWSのEndpointを作成

作成方法については以下を参照ください
www.elastic.co

(2) 「Create」を押下し、「Private connection」を押下

IPフィルタリングの時と同様にPrivate connection作成画面を開きます。
VPC filter (optional)」の項目に(1)で作成したVPCエンドポイントIDを入力してください。

(3) IPフィルタリングと同様に作成したルールを「Apply policies」でDeploymentに適用

IPフィルタリングとPrivate Linkの2つのSecurity設定が適用されました

適用後画面

4. KibanaにCognito認証を追加

ElasticsearchはOIDC(OpenID Connect)による認証が可能です。
OIDC連携による認証のメリットはユーザ管理を1つのサービスに集約可能なため管理/運用が容易になります。

そこで最後にKibanaにCognito認証を追加しましょう。

CognitoによるKibana認証設定方法

OIDC認証の設定は以下の手順が必要です。詳細は公式ドキュメントを参照ください。
www.elastic.co

  1. SSL/TLSの設定
  2. Token Serviceの有効化
  3. OIDC認証の設定
  4. role mapping (Kibana操作権限の設定)

上記のうち 1.と2. はElastic Cloudではデフォルトで設定済みのため、今回は3. のOIDC認証の設定からになります。

(1) AWS Cognitoのユーザープールを作成し、ユーザを登録する

今回OP(OpenID Provider)とRP(Relying Party)は両方Cognitoを利用します。
Cognito自体の設定/構築方法は本記事では割愛します。

(2) Deploymentの管理画面から「Security」を押下し、Elasticsearch keystoreの「Add settings」を押下

Add Settingsを押下

(3) Setting nameに「xpack.security.authc.realms.oidc.oidc1.rp.client_secret」を入力、Secretに(1)で作成したクライアントのシークレットを入力する

クライアントのシークレットの値を入力

(4) 「Save」を押下し、クライアントのシークレットをElasticsearch keystoreに登録する

クライアントのシークレットをElasticsearch keystoreに登録する

(5) 作成したDeploymentの管理画面から「Edit」を押下

Editを押下

(6) Elasticsearch右側のリンク「Manage user settings and extensions」を押下

Manage user settings and extensionsを押下

(7) ElasticsearchにOIDC設定を適用

設定内容は以下

xpack:​
  security:​
    authc:​
      realms:​
        oidc:​
          oidc1:​
            order: 2​
            rp.client_id: "<RPクライアントID>"​
            rp.response_type: code​
            rp.redirect_uri: https://<Kibana URL>/api/security/oidc/callback
            op.issuer: https://cognito-idp.<リージョン名>.amazonaws.com/<OPユーザプールID>​
            op.authorization_endpoint: https://<OPドメイン>/oauth2/authorize​
            op.token_endpoint: https://<OPドメイン>/oauth2/token​
            op.userinfo_endpoint: https://<OPドメイン>/oauth2/userInfo​
            op.jwkset_path: "https://cognito-idp.<リージョン名>.amazonaws.com/<OPユーザプールID>/.well-known/jwks.json"​
            claims.principal: sub

(8) 画面下の「Save」を押下しElasticsearchに設定を適用

Saveを押下

(9) Kibana画面左側メニューの「Stack management」を押下し、その後「Role mappings」を押下

Role mappingsを定義することで、Cognito(OIDC)で認証されたユーザに対してKibana操作権限の設定が可能です。

Role mappingsを押下

(10) 「Create role mapping」を押下し、OIDCのアカウントに権限を紐づける

Role Mapping画面でCreate role mappingを押下

以下の通り、OIDC経由でログインしたユーザの権限を設定していきます

OIDC経由でログインしたユーザの権限を設定する

Kibanaへのログイン

設定後、ユーザ登録したメールアドレスとパスワードでログインが可能です。

ログイン後画面

まとめ

2025年には、Elastic Cloudと各種クラウドサービスとの連携がさらに容易になり、構築や運用の負荷を一層軽減できるようになりました。
Elasticsearchをご利用の際は、ぜひElastic Cloudの活用をご検討ください。

Acroquest Technologyでは、キャリア採用を行っています。

  • Azure OpenAI/Amazon Bedrock等を使った生成AIソリューションの開発
  • ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
  • マイクロサービス、DevOps、最新のOSSクラウドサービスを利用する開発プロジェクト
  • 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長

 

少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

www.wantedly.com






以上の内容はhttps://acro-engineer.hatenablog.com/entry/2025/12/15/120000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14