接入教程
1. 注册AWS账户并获取访问密钥
2. 安装AWS SDK并配置凭证
3. 调用CreateDomain API创建Elasticsearch域
4. 配置索引映射和搜索设置
5. 使用API进行文档索引和查询
6. 监控域状态和性能指标
使用Python创建Elasticsearch域
python
import boto3
from botocore.config import Config
# 配置客户端
config = Config(region_name='us-east-1')
client = boto3.client('es', config=config, aws_access_key_id='YOUR_API_KEY', aws_secret_access_key='YOUR_SECRET_KEY')
# 创建域请求
response = client.create_elasticsearch_domain(
DomainName='my-search-domain',
ElasticsearchVersion='7.10',
ElasticsearchClusterConfig={
'InstanceType': 't3.small.elasticsearch',
'InstanceCount': 1,
'DedicatedMasterEnabled': False,
'ZoneAwarenessEnabled': False
},
EBSOptions={
'EBSEnabled': True,
'VolumeType': 'gp2',
'VolumeSize': 10
}
)
print(f"Domain ARN: {response['DomainStatus']['ARN']}")
使用PHP查询域信息
php
<?php
require 'vendor/autoload.php';
use Aws\ElasticsearchService\ElasticsearchServiceClient;
use Aws\Exception\AwsException;
// 创建客户端
$client = new ElasticsearchServiceClient([
'region' => 'us-west-2',
'version' => 'latest',
'credentials' => [
'key' => 'YOUR_API_KEY',
'secret' => 'YOUR_SECRET_KEY'
]
]);
try {
$result = $client->describeElasticsearchDomain([
'DomainName' => 'my-search-domain'
]);
echo "Domain Status: " . $result['DomainStatus']['Created'] . "\n";
echo "Endpoint: " . $result['DomainStatus']['Endpoint'] . "\n";
} catch (AwsException $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
使用JavaScript更新域配置
javascript
const AWS = require('aws-sdk');
// 配置AWS
AWS.config.update({
region: 'eu-west-1',
accessKeyId: 'YOUR_API_KEY',
secretAccessKey: 'YOUR_SECRET_KEY'
});
const es = new AWS.ES();
// 更新域配置
const params = {
DomainName: 'my-search-domain',
ElasticsearchClusterConfig: {
InstanceType: 't3.medium.elasticsearch',
InstanceCount: 2,
DedicatedMasterEnabled: false,
ZoneAwarenessEnabled: true
}
};
es.updateElasticsearchDomainConfig(params, function(err, data) {
if (err) {
console.log("Error:", err);
} else {
console.log("Update initiated:", data.DomainConfig.ElasticsearchClusterConfig.Status);
}
});
常见问题
如何获取API访问密钥?
访问AWS管理控制台,进入IAM服务创建访问密钥。密钥由Access Key ID和Secret Access Key组成,需妥善保管。
创建域后多久可以使用?
域创建通常需要10-30分钟。创建完成后会提供终端节点,可通过该端点访问Elasticsearch集群。
支持哪些Elasticsearch版本?
支持OpenSearch和Elasticsearch 7.x系列版本。具体可用版本请查阅AWS官方文档的最新版本说明。
Aitishiku.com