この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
アライアンス統括部の佐々木です。AivenがOpenSearchに対応しました。
OpenSearchはElastic社がオープンソースで開発していたElasticsearchをAWSがフォークしてオープンソースとして開発しているものです。AWSではAmazon OpenSearch Serviceとして提供されています。
そんなわけで使ってみます!
やってみた
ログイン
前回使ったaiven-clientを使います。
まずはログインします。
% avn user login
Username (email): XXXX@XXXX.com
XXXX@XXXX.com's Aiven password:
INFO Aiven credentials written to: /Users/smokeymonkey/.config/aiven/aiven-credentials.json
サービスの作成
現在のプロジェクトを確認します。
% avn project details
PROJECT_NAME DEFAULT_CLOUD BILLING_CURRENCY VAT_ID
================= ================== ================ ======
smokeymonkey-aedd aws-ap-northeast-1 USD
credit_card = N/A
billing_address =
country_code =
OpenSearchを指定してサービスを作成します。
% avn service create testos -t opensearch --plan startup-4
確認。SERVICE_TYPEがopensearchとなっているサービスが立ち上がりました。
% avn service list testos
SERVICE_NAME SERVICE_TYPE STATE CLOUD_NAME PLAN CREATE_TIME UPDATE_TIME NOTIFICATIONS
============ ============ ======= ================== ========= ==================== ==================== =============
testos opensearch RUNNING aws-ap-northeast-1 startup-4 2021-12-02T07:51:32Z 2021-12-02T07:59:39Z
動作確認
今回はcurlを使って動作確認をします。まずは接続確認。接続情報はGUIのOverviewから確認できます。
% curl -XGET --insecure -u 'USER:PASS' 'https://testos-smokeymonkey-aedd.aivencloud.com:28813'
{
"name" : "testos-1",
"cluster_name" : "a6d7180b-df03-432c-a430-837917031a80",
"cluster_uuid" : "wW4kocxXRuS4IePy3l2cdQ",
"version" : {
"distribution" : "opensearch",
"number" : "1.1.0",
"build_type" : "unknown",
"build_hash" : "unknown",
"build_date" : "2021-11-15T16:09:53.881093Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
試験用のインデックスを作成します。
% curl -XPUT --insecure -u 'USER:PASS' 'https://testos-smokeymonkey-aedd.aivencloud.com:28813/test-index'
{"acknowledged":true,"shards_acknowledged":true,"index":"test-index"}%
試験用のインデックスにデータを投入します。
% curl -XPUT --insecure -u 'USER:PASS' 'https://testos-smokeymonkey-aedd.aivencloud.com:28813/test-index/_doc/1' -H 'Content-Type: application/json' -d '{"Description": "This is a test."}'
{"_index":"test-index","_type":"_doc","_id":"1","_version":1,"result":"created","_shards":{"total":1,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}%
投入したデータを読み込みます。
% curl -XGET --insecure -u 'USER:PASS' 'https://testos-smokeymonkey-aedd.aivencloud.com:28813/test-index/_doc/1'
{"_index":"test-index","_type":"_doc","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{"Description": "This is a test."}}%
ということで、当たり前なんですが、普通に使えるOpenSearchが簡単に起動しました!
さいごに
Amazon OpenSearch Serviceもとても簡単に使えるサービスですが、Aivenの良いところはAWS以外でも動かせるところなので、GCPやAzureでも簡単にOpenSearchが利用できます。パブリッククラウドベンダに依存せずに、どこでも同じように使えるのがAivenの素敵なところです。