AWS S 3との統合Private Preview
Zilliz Cloudを使用すると、Amazon Simple Storage Service(Amazon S 3)と統合して、バックアップファイルを指定されたS 3バケットにエクスポートできます。
この機能は、プライベートプレビューとしてDedicated-Enterpriseプランのクラスターで提供されています。この機能を有効にするか、関連するコストについては、Zilliz Cloudサポートにお問い合わせください。
始める前に
-
Zilliz CloudをAWS S 3に統合するには、組織オーナーまたはプロジェクト管理者がプロジェクトにアクセスできる必要があります。必要な権限がない場合は、Zilliz Cloudの管理者にお問い合わせください。
-
AWSマネジメントコンソールへの管理アクセスがあります。
ステップ1: Zilliz Cloudでの統合を開始する
-
ZillizCloudコンソールにログインします。
-
左側のナビゲーションペインから[統合]に移動します。
-
[Amazon S 3]セクションで、[+Configuration]をクリックします。
-
表示されるダイアログボックスで、基本設定を完了します。
-
構成名:この統合の一意の名前(例:
bucket_for_backup
)。 -
Configuration Description (オプション):この統合の説明(例:
バックアップファイルのエクスポート
)。
-
-
次のステップ2に進みます。
ステップ2: S 3バケットを作成する
-
まず、AWSマネジメントコンソールにログインし、Amazon S 3コンソールを開きます。
-
ページの上部で、Zilliz Cloudクラスターのリージョンに一致するAWSリージョンを選択してください。
📘ノートバケットを作成するAWSリージョンは、Zilliz Cloudクラスターが存在するリージョンと一致する必要があります。Zilliz Cloudがサポートするリージョンについては、「クラウドプロバイダー&地域」を参照してください。
異なるリージョンで実行されているクラスターの場合、バックアップファイルを適切にエクスポートできるように、リージョンごとに個別の統合を作成します。
-
左側のナビゲーションウィンドウで、[**汎用バケット]**を選択し、[バケットを作成]をクリックします。
-
バケットの設定を行う:
-
[バケットタイプ]で[**汎用]**を選択します。
-
[バケット名]には、バケットの名前を入力します(例:
bucket-for-backup
)。このバケット名は、今後の手順で必要になるため、必ず覚えておいてください。 -
他の設定はデフォルトのままにして、バケットを作成をクリックしてください。
詳細については、バケットを作成するを参照してください。
-
-
[Zilliz Cloudコンソール]に戻ります。[バケット名]と[バケット地域]を[Amazon S 3バケット作成]のステップで入力します。完了したら、ステップ3に進みます。
ステップ3: IAMポリシーを作成する
Zilliz CloudにAWS S 3へのアクセスを許可するには、IAMポリシーを作成してください。このポリシーには、Zilliz CloudとS 3バケット間でバックアップファイルを転送するための具体的なアクションとリソースが含まれている必要があります。
シンプルにするために、JSONエディタを使用してポリシーを作成してください。
-
まず、AWSマネジメントコンソールにログインし、IAMコンソールを開きます。
-
コンソールで、[ポリシー]>[ポリシーを作成]を選択します。
-
[ポリシーエディター]セクションで、[JSON]オプションを選択します。
-
Zilliz Cloudが提供するJSONポリシードキュメントをポリシーエディターにコピー&ペーストして、次へをクリックしてください。
以下はサンプルのJSONポリシードキュメントです。統合に合わせた正確なポリシーについては、Zilliz CloudコンソールのCreate IAM Policyステップを参照してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::$bucket",
"arn:aws:s3:::$bucket/*"
]
}
]
}📘ノート$bucket
は、S 3バケットの実際の名前に置き換えてください。 -
[レビューと作成]ページで、作成するポリシーのポリシー名(例:
policy-for-backup
)と説明(オプション)を入力し、このポリシーで定義された権限を確認します。今後の手順で必要になるため、ポリシー名を覚えておいてください。 -
[ポリシーを作成]を選択して、新しいポリシーを保存します。完了したら、ステップ4に進みます。
ステップ4: IAMロールを作成する
-
IAMコンソールで、[ロール]>[ロールを作成]を選択します。
-
[カスタム信頼ポリシー]役割タイプを選択します。
-
[カスタム信頼ポリシー]セクションで、ロールのカスタム信頼ポリシーをコピーして貼り付けます。次に、[次へ]をクリックします。
以下はJSONの信頼ポリシーのサンプルです。統合に合わせた正確な信頼ポリシーについては、Zilliz Cloudコンソールの「Create IAM Role」ステップを参照してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "965570967084"
},
"Condition": {
"StringEquals": {
"sts:ExternalId": "my-external-id"
}
}
}
]
}📘ノート9655 7 0 9670 8 4
とmy-outside-id
は、Zilliz CloudコンソールのCreate IAM Roleステップで表示される実際のAWSアカウントIDと外部IDに置き換えてください。 -
「アクセス許可ポリシー」の「アクセス許可を追加」ステップで、ステップ3で作成したポリシーを検索して選択し、「次へ」をクリックします。
-
[名前、レビュー、および作成]ステップで、役割名を入力して設定を確認します。次に、[役割を作成]をクリックします。
-
作成したロールの詳細ページに移動し、ロールに対応するARNをコピーします。これはZilliz Cloudで必要となります。
-
ZillizCloudコンソールに戻ります。Role ARNをCreate IAM Roleのステップで入力します。その後、設定を完了します。
ステップ5:検証して統合を作成する
-
ZillizCloudコンソールで、[連携の検証]をクリックして、S 3バケットとIAMロールの設定を確認します。
-
検証が成功したら、統合を作成をクリックします。
この統合を使用して、バックアップファイルをAmazon S 3バケットにエクスポートできるようになりました。詳細については、「バックアップファイルのエクスポートのエクスポート」を参照してください。
インテグレーションの管理
統合が追加されると、その詳細を閲覧可能になり、必要に応じて統合を削除できます。
トラブルシューティング
統合の過程で問題が発生した場合は、一般的なエラーメッセージとその解決策を以下に示します。
バケット領域の不一致
説明:次の例のエラーは、S 3バケットのリージョンがZilliz Cloudクラスタのリージョンと一致しない場合に発生します。
"bucket region not match, want[us-west-1] got[us-west-2]"
ソリューション:
-
S 3バケットが配置されているAWSリージョンが、Zilliz Cloudクラスターのリージョンと一致していることを確認してください。
-
必要に応じて、適切なリージョンに新しいバケットを作成するか、バケットのリージョンに合わせてクラスターのリージョンを調整します。
バケットが見つかりません
説明:このエラーは、指定されたS 3バケットが存在しないか、バケット名が正しくない場合に発生します。
check bucket failed: get bucket location: operation error S3: GetBucketLocation, https response error StatusCode: 404, RequestID: ..., HostID: ..., api error NoSuchBucket: The specified bucket does not exis
ソリューション:
-
Zilliz CloudコンソールとAWS S 3コンソールの両方でバケット名を再確認してください。
-
バケットが存在し、Zilliz Cloudの設定に名前が正しく入力されていることを確認してください。
バケットの場所へのアクセスが拒否されました
説明:このエラーは、IAMロールにS 3バケットの場所にアクセスするために必要な権限がない場合に発生します。
check bucket failed: get bucket location: operation error S3: GetBucketLocation, https response error StatusCode: 403 ...
ソリューション:
-
Zilliz Cloudで使用されているロールに添付されているIAMポリシーを確認してください。
-
ポリシーに
s 3: GetBucketLocation
権限と、s 3:GetObject、s 3:GetObject
、s 3:PutObject
、s 3:ListBucket
などの必要な権限が含まれていることを確認します。
ロール仮定の失敗
説明:このエラーは、誤ったロールARN、外部ID、または信頼ポリシーによりIAMロールの想定に問題がある場合に発生します。
try assume role from[zilliz-role] to [arn:aws:iam::041623484421:role/testoss121703] with externalId[zilliz-external-1umVCIK7q96kzDE] failed
ソリューション:
-
Zilliz Cloudコンソール上のロールARNと外部IDが、IAM信頼ポリシーの対応する値と一致していることを確認します。
-
IAMロールの信頼ポリシーにより、Zilliz Cloudがロールを引き継ぐことができるようにしてください。