기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자체 관리형 OpenSearch 또는 Elasticsearch에서 OpenSearch Ingestion 파이프라인을 사용하여 Amazon OpenSearch Service 도메인 또는 OpenSearch Serverless VPC 컬렉션으로 데이터를 마이그레이션할 수 있습니다. OpenSearch Ingestion은 자체 관리형 OpenSearch 및 Elasticsearch에서 데이터를 마이그레이션하기 위해 퍼블릭 및 프라이빗 네트워크 구성을 모두 지원합니다.
퍼블릭 OpenSearch 클러스터에 대한 연결
OpenSearch Ingestion 파이프라인을 사용하여 퍼블릭 구성을 통해 자체 관리형 OpenSearch 또는 Elasticsearch 클러스터에서 데이터를 마이그레이션할 수 있습니다. 즉, 도메인 DNS 이름을 공개적으로 확인할 수 있습니다. 이렇게 하려면 자체 관리형 OpenSearch 또는 Elasticsearch를 소스로, OpenSearch Service 또는 OpenSearch Serverless를 대상으로 하는 OpenSearch Ingestion 파이프라인을 설정합니다. 그러면 자체 관리형 소스 클러스터에서 AWS 관리형 대상 도메인 또는 컬렉션으로 데이터를 효과적으로 마이그레이션할 수 있습니다.
사전 조건
OpenSearch Ingestion 파이프라인을 생성하기 전에 다음 단계를 수행하세요.
-
퍼블릭 DNS 이름을 마이그레이션하고 구성하려는 데이터가 포함된 자체 관리형 OpenSearch 또는 Elastisearch 클러스터를 생성합니다.
-
데이터를 마이그레이션할 OpenSearch Service 도메인 또는 OpenSearch Serverless 컬렉션을 생성합니다. 자세한 내용은 OpenSearch Service 도메인 생성 및 컬렉션 생성을 참조하세요.
-
AWS Secrets Manager를 사용하여 자체 관리형 클러스터에 인증을 설정합니다. AWS Secrets Manager 시크릿 교체의 단계를 수행하여 시크릿 교체를 활성화합니다.
-
리소스 기반 정책을 도메인에 연결하거나 데이터 액세스 정책을 컬렉션에 연결합니다. 이러한 액세스 정책을 통해 OpenSearch Ingestion은 자체 관리형 클러스터의 데이터를 도메인 또는 컬렉션에 쓸 수 있습니다.
다음 샘플 도메인 액세스 정책은 다음 단계에서 생성하는 파이프라인 역할을 사용하여 도메인에 데이터를 쓰도록 허용합니다. 자체 ARN으로
resource
을 업데이트해야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
{pipeline-account-id}
:role/pipeline-role
" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}
:{account-id}
:domain/domain-name
" ] } ] }컬렉션 또는 도메인에 쓰기 데이터에 액세스할 수 있는 올바른 권한이 있는 IAM 역할을 생성하려면 도메인에 필요한 권한 및 컬렉션에 필요한 권한을 참조하세요.
1단계: 파이프라인 역할 구성
OpenSearch 파이프라인 사전 조건을 설정한 후 파이프라인 구성에 사용할 파이프라인 역할을 구성하고 OpenSearch Service 도메인 또는 OpenSearch Serverless 컬렉션에 쓸 수 있는 권한과 Secrets Manager에서 시크릿을 읽을 수 있는 권한을 추가합니다.
2단계: 파이프라인 생성
이제 OpenSearch를 소스로 지정하는 다음과 같은 OpenSearch Ingestion 파이프라인을 구성할 수 있습니다.
여러 OpenSearch Service 도메인을 데이터의 대상으로 지정할 수 있습니다. 이 기능을 사용하여 조건부로 라우팅하거나 수신 데이터를 여러 OpenSearch Service 도메인으로 복제할 수 있습니다.
소스 OpenSearch 또는 Elasticsearch 클러스터의 데이터를 OpenSearch Serverless VPC 컬렉션으로 마이그레이션할 수도 있습니다. 파이프라인 구성 내에서 네트워크 액세스 정책을 제공해야 합니다.
version: "2"
opensearch-migration-pipeline:
source:
opensearch:
acknowledgments: true
host: [ "https://my-self-managed-cluster-name
:9200
" ]
indices:
include:
- index_name_regex: "include-.*"
exclude:
- index_name_regex: '\..*'
authentication:
username: ${aws_secrets:secret:username
}
password: ${aws_secrets:secret:password
}
scheduling:
interval: "PT2H"
index_read_count: 3
start_time: "2023-06-02T22:01:30.00Z"
sink:
- opensearch:
hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"]
aws:
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
region: "us-east-1
"
#Uncomment the following lines if your destination is an OpenSearch Serverless collection
#serverless: true
# serverless_options:
# network_policy_name: "network-policy-name
"
index: "${getMetadata(\"opensearch-index
\")}"
document_id: "${getMetadata(\"opensearch-document_id
\")}"
enable_request_compression: true
dlq:
s3:
bucket: "bucket-name
"
key_path_prefix: "apache-log-pipeline/logs/dlq"
region: "us-east-1
"
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
extension:
aws:
secrets:
secret:
secret_id: "my-opensearch-secret
"
region: "us-east-1
"
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
refresh_interval: PT1H
사전 구성된 블루프린트를 사용하여 이 파이프라인을 생성할 수 있습니다. 자세한 내용은 청사진을 사용하여 파이프라인 생성 단원을 참조하십시오.
VPC에서 OpenSearch 클러스터에 대한 연결
OpenSearch Ingestion 파이프라인을 사용하여 VPC에서 실행되는 자체 관리형 OpenSearch 또는 Elasticsearch 클러스터에서 데이터를 마이그레이션할 수도 있습니다. 이렇게 하려면 자체 관리형 OpenSearch 또는 Elasticsearch를 소스로, OpenSearch Service 또는 OpenSearch Serverless를 대상으로 하는 OpenSearch Ingestion 파이프라인을 설정합니다. 그러면 자체 관리형 소스 클러스터에서 AWS 관리형 대상 도메인 또는 컬렉션으로 데이터를 효과적으로 마이그레이션할 수 있습니다.
사전 조건
OpenSearch Ingestion 파이프라인을 생성하기 전에 다음 단계를 수행하세요.
-
마이그레이션하려는 데이터가 포함된 VPC 네트워크 구성을 사용하여 자체 관리형 OpenSearch 또는 Elastisearch 클러스터를 생성합니다.
-
데이터를 마이그레이션할 OpenSearch Service 도메인 또는 OpenSearch Serverless 컬렉션을 생성합니다. 자세한 내용은 OpenSearch Service 도메인 생성 및 컬렉션 생성을 참조하세요.
-
AWS Secrets Manager를 사용하여 자체 관리형 클러스터에 인증을 설정합니다. AWS Secrets Manager 시크릿 교체의 단계를 수행하여 시크릿 교체를 활성화합니다.
-
자체 관리형 OpenSearch 또는 Elasticsearch에 대한 액세스 권한을 보유한 VPC의 ID를 가져옵니다. OpenSearch Ingestion에서 사용할 VPC CIDR을 선택합니다.
참고
AWS Management Console을 사용하여 파이프라인을 생성하는 경우 자체 관리형 OpenSearch 또는 Elasticsearch를 사용하기 위해 OpenSearch Ingestion 파이프라인도 VPC에 연결해야 합니다. 이를 수행하려면 네트워크 구성 섹션을 찾아 VPC에 연결 확인란을 선택하고 제공된 기본 옵션 중 하나에서 CIDR을 선택하거나 직접 선택합니다. RFC 1918 Best Current Practice
에 정의된 대로 프라이빗 주소 공간에서 모든 CIDR을 사용할 수 있습니다. 사용자 지정 CIDR을 제공하려면 드롭다운 메뉴에서 기타를 선택합니다. OpenSearch Ingestion과 자체 관리형 OpenSearch 간의 IP 주소 충돌을 방지하려면 자체 관리형 OpenSearch VPC CIDR이 OpenSearch Ingestion의 CIDR과 달라야 합니다.
-
리소스 기반 정책을 도메인에 연결하거나 데이터 액세스 정책을 컬렉션에 연결합니다. 이러한 액세스 정책을 통해 OpenSearch Ingestion은 자체 관리형 클러스터의 데이터를 도메인 또는 컬렉션에 쓸 수 있습니다.
다음 샘플 도메인 액세스 정책은 다음 단계에서 생성하는 파이프라인 역할을 사용하여 도메인에 데이터를 쓰도록 허용합니다. 자체 ARN으로
resource
을 업데이트해야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
{pipeline-account-id}
:role/pipeline-role
" }, "Action": [ "es:DescribeDomain", "es:ESHttp*" ], "Resource": [ "arn:aws:es:{region}
:{account-id}
:domain/domain-name
" ] } ] }컬렉션 또는 도메인에 쓰기 데이터에 액세스할 수 있는 올바른 권한이 있는 IAM 역할을 생성하려면 도메인에 필요한 권한 및 컬렉션에 필요한 권한을 참조하세요.
1단계: 파이프라인 역할 구성
파이프라인 사전 조건을 설정한 후 파이프라인 구성에서 사용하려는 파이프라인 역할을 구성하고 역할에서 다음 권한을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": ["arn:aws:secretsmanager:
{region}
:{account-id}
:secret:secret-name
"] }, { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:{account-id}
:network-interface/*", "arn:aws:ec2:*:{account-id}
:subnet/*", "arn:aws:ec2:*:{account-id}
:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:RequestTag/OSISManaged": "true" } } } ] }
파이프라인은 이러한 권한을 사용하여 VPC에서 네트워크 인터페이스를 생성하고 삭제하므로 OpenSearch Ingestion 파이프라인을 생성하는 데 사용하는 IAM 역할에서 위의 Amazon EC2 권한을 제공해야 합니다. 파이프라인은 오직 이 네트워크 인터페이스를 통해 OpenSearch 클러스터에 액세스할 수 있습니다.
2단계: 파이프라인 생성
이제 OpenSearch를 소스로 지정하는 다음과 같은 OpenSearch Ingestion 파이프라인을 구성할 수 있습니다.
여러 OpenSearch Service 도메인을 데이터의 대상으로 지정할 수 있습니다. 이 기능을 사용하여 조건부로 라우팅하거나 수신 데이터를 여러 OpenSearch Service 도메인으로 복제할 수 있습니다.
소스 OpenSearch 또는 Elasticsearch 클러스터의 데이터를 OpenSearch Serverless VPC 컬렉션으로 마이그레이션할 수도 있습니다. 파이프라인 구성 내에서 네트워크 액세스 정책을 제공해야 합니다.
version: "2"
opensearch-migration-pipeline:
source:
opensearch:
acknowledgments: true
host: [ "https://my-self-managed-cluster-name
:9200
" ]
indices:
include:
- index_name_regex: "include-.*"
exclude:
- index_name_regex: '\..*'
authentication:
username: ${aws_secrets:secret:username
}
password: ${aws_secrets:secret:password
}
scheduling:
interval: "PT2H"
index_read_count: 3
start_time: "2023-06-02T22:01:30.00Z"
sink:
- opensearch:
hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"]
aws:
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
region: "us-east-1
"
#Uncomment the following lines if your destination is an OpenSearch Serverless collection
#serverless: true
# serverless_options:
# network_policy_name: "network-policy-name
"
index: "${getMetadata(\"opensearch-index
\")}"
document_id: "${getMetadata(\"opensearch-document_id
\")}"
enable_request_compression: true
dlq:
s3:
bucket: "bucket-name
"
key_path_prefix: "apache-log-pipeline/logs/dlq"
region: "us-east-1
"
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
extension:
aws:
secrets:
secret:
secret_id: "my-opensearch-secret
"
region: "us-east-1
"
sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role"
refresh_interval: PT1H
사전 구성된 블루프린트를 사용하여 이 파이프라인을 생성할 수 있습니다. 자세한 내용은 청사진을 사용하여 파이프라인 생성 단원을 참조하십시오.