クライアントと Elasticsearch クラスター間で送信されるデータを暗号化するため、Elasticsearch クラスターで HTTPS を有効化します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
Alibaba Cloud Elasticsearch クラスターが存在すること。クラスターを作成する場合は、「Alibaba Cloud Elasticsearch クラスターの作成」をご参照ください。
クライアントコードを HTTPS を使用するように更新済みであること。この手順は HTTPS の有効化より前に必須です。この手順を省略すると、HTTPS 切り替え後にクライアントがクラスターに接続できなくなります。
Elasticsearch REST クライアントでは、
"https"を第 3 引数としてHttpHostに指定する必要があります。HTTPS 有効化前:
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "Your password")); RestClientBuilder restClientBuilder = RestClient.builder( new HttpHost("es-cn-xxxxx.elasticsearch.aliyuncs.com", 9200)); RestClient restClient = restClientBuilder.setHttpClientConfigCallback( new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }).build();HTTPS 有効化後:
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "Your password")); RestClientBuilder restClientBuilder = RestClient.builder( new HttpHost("es-cn-xxxxx.elasticsearch.aliyuncs.com", 9200, "https")); RestClient restClient = restClientBuilder.setHttpClientConfigCallback( new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }).build();
HTTPS の有効化
Alibaba Cloud Elasticsearch コンソールにログインします。
左側ナビゲーションウィンドウで、Elasticsearch クラスター をクリックします。
上部ナビゲーションバーで、ご利用のクラスターが存在するリソースグループおよびリージョンを選択します。Elasticsearch クラスター ページで、ご利用のクラスターの ID をクリックします。
左側ナビゲーションウィンドウで、セキュリティ をクリックします。
ネットワーク設定 セクションで、HTTPS を有効化 をオンにします。
警告HTTPS の有効化または無効化により、クラスターサービスが一時的に中断され、クラスターが再起動します。操作を実行する前に、業務への影響がないことを必ず確認してください。
注意 ダイアログボックスで、HTTPS クライアントを作成済みである を選択し、OK をクリックします。
説明一部のクラスターバージョンでは、HTTPS を有効化する前にクライアントノードを購入する必要があります。クライアントノードを購入していない場合、HTTPS を有効化 をオンにすると、コンソールから購入を促すメッセージが表示されます。画面上の指示に従って、クライアントノードを購入してください。
クライアントノードの購入方法については、「購入ページのパラメーター(クラスター作成時)または「クラスターの構成をアップグレード」(既存クラスター向け)をご参照ください。
ご利用のクラスターバージョンでクライアントノードが必要かどうかを確認するには、「クライアントノードを含まない Elasticsearch クラスターで HTTPS を有効化できますか?」をご参照ください。
OK をクリックすると、クラスターが再起動します。タスク ダイアログボックスで再起動の進捗状況を確認できます。再起動が完了すると、クラスターは HTTPS 経由での接続を受付けるようになります。
よくある質問
HTTPS を有効化した後に証明書を取得するにはどうすればよいですか?
Alibaba Cloud Elasticsearch では、証明書を一般公開していません。これは、サービスのセキュリティおよび安定性を確保するための設計上の仕様です。