Logo Zephyrnet

Sử dụng Amazon OpenSearch Ingestion để di chuyển sang Amazon OpenSearch Serverless | Dịch vụ web của Amazon

Ngày:

Amazon OpenSearch Serverless là cấu hình tự động mở rộng quy mô theo yêu cầu dành cho Dịch vụ Tìm kiếm Mở của Amazon. Kể từ khi phát hành, sự quan tâm dành cho OpenSearch Serverless đã tăng lên đều đặn. Khách hàng thích để dịch vụ tự động quản lý dung lượng hơn là phải cung cấp dung lượng theo cách thủ công. Cho đến nay, khách hàng phải dựa vào việc sử dụng mã tùy chỉnh hoặc giải pháp của bên thứ ba để di chuyển dữ liệu giữa các miền Dịch vụ OpenSearch được cung cấp và OpenSearch Serverless.

Gần đây chúng tôi đã giới thiệu một tính năng với Nhập liệu Amazon OpenSearch (OSI) để giúp việc di chuyển này trở nên dễ dàng hơn nữa. OSI là một công cụ thu thập dữ liệu không có máy chủ, được quản lý hoàn toàn, cung cấp dữ liệu theo dõi, số liệu và nhật ký theo thời gian thực cho các miền Dịch vụ OpenSearch và bộ sưu tập OpenSearch Serverless.

Trong bài đăng này, chúng tôi phác thảo các bước để di chuyển dữ liệu giữa các miền Dịch vụ OpenSearch được cung cấp và OpenSearch Serverless. Việc di chuyển siêu dữ liệu như vai trò bảo mật và đối tượng bảng điều khiển sẽ được đề cập trong một bài đăng tiếp theo khác.

Tổng quan về giải pháp

Sơ đồ sau đây hiển thị các thành phần cần thiết để di chuyển dữ liệu giữa các miền được cung cấp Dịch vụ OpenSearch và OpenSearch Serverless bằng OSI. Bạn sẽ sử dụng OSI với Dịch vụ OpenSearch làm nguồn và bộ sưu tập OpenSearch Serverless làm phần chìm.

Điều kiện tiên quyết

Trước khi bắt đầu, hãy hoàn thành các bước sau để tạo các tài nguyên cần thiết:

  1. tạo một Quản lý truy cập và nhận dạng AWS (IAM) mà đường dẫn Nhập OpenSearch sẽ đảm nhận để ghi vào bộ sưu tập OpenSearch Serverless. Vai trò này cần được xác định rõ trong sts_role_arn tham số cấu hình đường ống.
  2. Đính kèm chính sách quyền vào vai trò cho phép nó đọc dữ liệu từ miền Dịch vụ OpenSearch. Sau đây là chính sách mẫu có ít đặc quyền nhất:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect":"Allow",
             "Action":"es:ESHttpGet",
             "Resource":[
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/_cat/indices",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/_search",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/_search/scroll",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/*/_search"
             ]
          },
          {
             "Effect":"Allow",
             "Action":"es:ESHttpPost",
             "Resource":[
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/*/_search/point_in_time",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/*/_search/scroll"
             ]
          },
          {
             "Effect":"Allow",
             "Action":"es:ESHttpDelete",
             "Resource":[
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/_search/point_in_time",
                "arn:aws:es:us-east-1:{account-id}:domain/{domain-name}/_search/scroll"
             ]
          }
       ]
    }

  3. Đính kèm chính sách quyền vào vai trò để cho phép nó gửi dữ liệu đến bộ sưu tập. Sau đây là chính sách mẫu có ít đặc quyền nhất:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "aoss:BatchGetCollection",
            "aoss:APIAccessAll"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:aoss:{region}:{your-account-id}:collection/{collection-id}"
        },
        {
          "Action": [
            "aoss:CreateSecurityPolicy",
            "aoss:GetSecurityPolicy",
            "aoss:UpdateSecurityPolicy"
          ],
          "Effect": "Allow",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "aoss:collection": "{collection-name}"
            }
          }
        }
      ]
    }

  4. Cấu hình vai trò để đảm nhận mối quan hệ tin tưởng, như sau:
    {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "osis-pipelines.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole"
                }
            ]
        }

  5. Nên thêm aws:SourceAccountaws:SourceArn điều kiện khóa cho chính sách bảo vệ chống lại vấn đề cấp phó bối rối:
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "{your-account-id}"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:osis:{region}:{your-account-id}:pipeline/*"
        }
    }

  6. Ánh xạ ARN vai trò của miền Truyền dẫn OpenSearch với tư cách là người dùng phụ trợ (với tư cách là all_access user) cho người dùng miền. Chúng tôi đưa ra một ví dụ đơn giản để sử dụng all_access vai trò. Đối với các kịch bản sản xuất, hãy đảm bảo sử dụng vai trò có đủ quyền đọc và ghi.
  7. Tạo bộ sưu tập OpenSearch Serverless, đó là nơi dữ liệu sẽ được nhập vào.
  8. Liên kết chính sách dữ liệu, như minh họa trong đoạn mã sau, để cấp quyền cho vai trò Nhập tìm kiếm mở trên bộ sưu tập:
    [
      {
        "Rules": [
          {
            "Resource": [
              "index/collection-name/*"
            ],
            "Permission": [
              "aoss:CreateIndex",
              "aoss:UpdateIndex",
              "aoss:DescribeIndex",
              "aoss:WriteDocument",
            ],
            "ResourceType": "index"
          }
        ],
        "Principal": [
          "arn:aws:iam::{account-id}:role/pipeline-role"
        ],
        "Description": "Pipeline role access"
      }
    ]

  9. Nếu bộ sưu tập được xác định là bộ sưu tập VPC, bạn cần tạo một chính sách mạng và định cấu hình nó trong đường dẫn nhập.

Bây giờ bạn đã sẵn sàng di chuyển dữ liệu từ miền được cấp phép của mình sang OpenSearch Serverless.

Di chuyển dữ liệu từ các miền được cấp phép sang Serverless

Thiết lập quá trình nhập Amazon OpenSearch
Để bắt đầu, bạn phải có miền Dịch vụ OpenSearch (nguồn) đang hoạt động và bộ sưu tập OpenSearch Serverless (chìm). Hãy hoàn tất các bước sau để thiết lập quy trình Nhập liệu OpenSearch cho quá trình di chuyển:

  1. Trên bảng điều khiển Dịch vụ Tìm kiếm Mở, hãy chọn Pipeline Dưới Nhập trong khung điều hướng.
  2. Chọn Tạo một đường ống.
  3. Trong Tên đường ống, hãy nhập tên (ví dụ: octank-migration).
  4. Trong Công suất đường ống, bạn có thể xác định dung lượng tối thiểu và tối đa để mở rộng quy mô tài nguyên. Hiện tại, bạn có thể để mức tối thiểu mặc định là 1 và tối đa là 4.
  5. Trong Sơ đồ cấu hình, lựa chọn AWS-OpenSearchDataMigrationPipeline.
  6. Cập nhật thông tin sau cho nguồn:
    1. Bỏ ghi chú hosts và chỉ định điểm cuối của điểm cuối Dịch vụ OpenSearch hiện có.
    2. Bỏ ghi chú distribution_version nếu cụm nguồn của bạn là cụm Dịch vụ OpenSearch có bật chế độ tương thích; nếu không, hãy để lại bình luận.
    3. Bỏ ghi chú indices, include, index_name_regexvà thêm tên chỉ mục hoặc mẫu mà bạn muốn di chuyển (ví dụ: octank-iot-logs-2023.11.0*).
    4. Cập nhật region Dưới aws miền nguồn của bạn ở đâu (ví dụ: us-west-2).
    5. Cập nhật sts_role_arn Dưới aws vai trò có quyền đọc dữ liệu từ miền Dịch vụ OpenSearch (ví dụ: arn:aws:iam::111122223333:role/osis-pipeline). Vai trò này phải được thêm dưới dạng vai trò phụ trợ trong các vai trò bảo mật của Dịch vụ OpenSearch.
  7. Cập nhật thông tin sau cho bồn rửa:
    1. Bỏ ghi chú hosts và chỉ định điểm cuối của điểm cuối OpenSearch Serverless hiện có.
    2. Cập nhật sts_role_arn Dưới aws vào vai trò có quyền ghi dữ liệu vào bộ sưu tập OpenSearch Serverless (ví dụ: arn:aws:iam::111122223333:role/osis-pipeline). Vai trò này phải được thêm vào như một phần của chính sách truy cập dữ liệu trong bộ sưu tập OpenSearch Serverless.
    3. Cập nhật serverless cờ là true.
    4. Trong index, bạn có thể để nó làm mặc định, nó sẽ lấy siêu dữ liệu từ chỉ mục nguồn và ghi vào cùng tên ở đích với tên của nguồn. Ngoài ra, nếu bạn muốn có tên chỉ mục khác ở đích, hãy sửa đổi giá trị này bằng tên bạn muốn.
    5. Trong document_id, bạn có thể lấy ID từ siêu dữ liệu tài liệu trong nguồn và sử dụng ID đó trong mục tiêu. Lưu ý rằng ID tài liệu tùy chỉnh chỉ được hỗ trợ cho loại bộ sưu tập TÌM KIẾM; nếu bạn có bộ sưu tập của mình dưới dạng TIMESERIES hoặc VECTORSEARCH, bạn nên nhận xét dòng này.
  8. Tiếp theo, bạn có thể xác thực quy trình của mình để kiểm tra khả năng kết nối giữa nguồn và phần chìm nhằm đảm bảo điểm cuối tồn tại và có thể truy cập được.
  9. Trong Thiết lập mạng, hãy chọn cài đặt ưa thích của bạn:
    1. Chọn truy cập VPC và chọn VPC, mạng con và nhóm bảo mật của bạn để thiết lập quyền truy cập riêng tư.
    2. Chọn Công khai sử dụng quyền truy cập công cộng. AWS khuyến nghị bạn nên sử dụng điểm cuối VPC cho tất cả khối lượng công việc sản xuất, nhưng trong hướng dẫn này, hãy chọn Công khai.
  10. Trong Tùy chọn xuất bản nhật ký, bạn có thể tạo một cái mới amazoncloudwatch nhóm hoặc sử dụng nhóm CloudWatch hiện có để ghi nhật ký nhập. Điều này cung cấp quyền truy cập vào thông tin về lỗi và cảnh báo được đưa ra trong quá trình vận hành, điều này có thể hữu ích trong quá trình khắc phục sự cố. Đối với hướng dẫn này, hãy chọn Tạo nhóm mới.
  11. Chọn Sauvà xác minh các chi tiết bạn đã chỉ định cho cài đặt quy trình của mình.
  12. Chọn Tạo đường ống.

Sẽ mất vài phút để tạo đường dẫn nhập.
Hình ảnh sau đây minh họa nhanh cách tạo quy trình Nhập tìm kiếm mở thông qua các bước trước đó.

Xác minh dữ liệu đã nhập trong bộ sưu tập OpenSearch Serverless mục tiêu

Sau khi quy trình được tạo và hoạt động, hãy đăng nhập vào Bảng thông tin OpenSearch cho bộ sưu tập OpenSearch Serverless của bạn và chạy lệnh sau để liệt kê các chỉ mục:

NHẬN _cat/chỉ số?v

Hình ảnh sau đây minh họa nhanh cách liệt kê các chỉ mục trước và sau khi quy trình hoạt động.

Kết luận

Trong bài đăng này, chúng ta đã biết cách OpenSearch Ingestion có thể nhập dữ liệu vào bộ sưu tập OpenSearch Serverless mà không cần sử dụng giải pháp của bên thứ ba. Với cấu hình tạo dữ liệu tối thiểu, nó sẽ tự động nhập dữ liệu vào bộ sưu tập. OSI cũng cho phép bạn chuyển đổi hoặc lập chỉ mục lại dữ liệu từ phiên bản ES7.x trước khi đưa vào miền Dịch vụ OpenSearch hoặc bộ sưu tập OpenSearch Serverless. OSI loại bỏ nhu cầu cung cấp, mở rộng quy mô hoặc quản lý máy chủ. AWS cung cấp nhiều loại tài nguyên để bạn nhanh chóng bắt đầu xây dựng quy trình bằng cách sử dụng OpenSearch Ingestion. Bạn có thể sử dụng nhiều tính năng tích hợp khác nhau tích hợp đường ống để nhanh chóng nhập dữ liệu từ Máy phát điện Amazon, Truyền trực tuyến được quản lý của Amazon cho Apache Kafka (Amazon MSK), Hồ bảo mật Amazon, Fluent Bit, và nhiều hơn nữa. Quá trình nhập OpenSearch sau đây bản thiết kế cho phép bạn xây dựng đường dẫn dữ liệu với những thay đổi cấu hình tối thiểu.


Về các tác giả

Muthu Pitchaimani là Chuyên gia tìm kiếm với Dịch vụ tìm kiếm mở của Amazon. Anh xây dựng các giải pháp và ứng dụng tìm kiếm quy mô lớn. Muthu quan tâm đến các chủ đề về mạng và bảo mật, và có trụ sở tại Austin, Texas.

Prashant Agrawal là Kiến trúc sư giải pháp chuyên gia tìm kiếm cấp cao với Dịch vụ tìm kiếm mở của Amazon. Anh ấy làm việc chặt chẽ với khách hàng để giúp họ di chuyển khối lượng công việc của mình sang đám mây và giúp khách hàng hiện tại tinh chỉnh các cụm của họ để đạt được hiệu suất tốt hơn và tiết kiệm chi phí. Trước khi gia nhập AWS, anh ấy đã giúp nhiều khách hàng sử dụng OpenSearch và Elaticsearch cho các trường hợp sử dụng phân tích nhật ký và tìm kiếm của họ. Khi không làm việc, bạn có thể thấy anh ấy đi du lịch và khám phá những địa điểm mới. Tóm lại, anh ấy thích Ăn → Du lịch → Lặp lại.

La Mã là Giám đốc tài khoản kỹ thuật tại Amazon Web Services. Anh ấy đam mê các công nghệ dữ liệu giúp tận dụng dữ liệu như một tài sản chiến lược và có trụ sở tại thành phố New York, New York.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img