メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

S3バケットとIAMロールの作成

このページでは、Bring-Your-Own-Cloud(BYOC)プロジェクトのルートストレージを適切な権限で作成・設定する手順について説明します。

📘Notes

Zilliz BYOCは現在一般提供されています。アクセスおよび実装の詳細については、Zilliz Cloud セールスまでお問い合わせください。

S3バケットのベストプラクティス

プロジェクトのデプロイ時に指定するバケットは、そのプロジェクト内で作成されたクラスタのルートストレージとして使用されます。S3バケットを作成する前に、以下のベストプラクティスを確認してください。

  • S3バケットは、プロジェクトのデプロイと同じAWSリージョンに存在する必要があります。

  • プロジェクト内のすべてのクラスタは、プロジェクトのデプロイ時に作成されたS3バケットを共有します。Zilliz Cloudは、プロジェクト専用のS3バケットを使用し、他のサービスやリソースと共有しないことを推奨しています。

手順

AWSコンソールを使用してバケットとロールを作成できます。または、Zilliz Cloudが提供するTerraformスクリプトを使用して、AWS上のZilliz Cloudプロジェクトのインフラストラクチャをブートストラップすることもできます。詳細については、Terraform Provider を参照してください。

ステップ1: S3バケットの作成

このステップでは、BYOCプロジェクトのデプロイ用にAWS上にS3バケットを作成します。既存のS3バケットを使用する場合は、そのバケットがBYOCプロジェクトと同じリージョンにあることを確認してください。作成後、Zilliz Cloudコンソールのストレージ設定にバケット名を入力します。

1

管理者権限を持つユーザーとしてAWSコンソールにログインし、S3サービスに移動します。

2

汎用バケットタブで、バケットを作成をクリックします。

3

バケット名に、バケットの名前を入力し、その他の設定はデフォルト値のままにします。

4

バケットを作成をクリックします。

5

Zilliz Cloud コンソールに戻り、ストレージ設定バケットにバケット名を貼り付けます。

ステップ2: S3バケットへのアクセス用IAMロールの作成

このステップでは、前のステップで作成したS3バケットにZilliz Cloudが代わりにアクセスするためのIAMロールをAWS上に作成します。

1

管理者権限を持つユーザーとしてAWSコンソールにログインし、IAMダッシュボードに移動します。

2

アカウント情報を展開し、AWS アカウントIDの前にあるコピーボタンをクリックします。

3

左側のサイドバーでロールタブをクリックし、次にロールを作成をクリックします。

4

信頼されたエンティティを選択で、カスタム信頼ポリシータイルをクリックします。共通信頼ポリシーに、以下の信頼JSONをカスタム信頼ポリシーセクションのエディタに貼り付け、{accountId}をご自身のAWS アカウントIDに置き換えます。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::{accountId}:oidc-provider/eks_oidc_url"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringLike": {
"eks_oidc_url:sub": [
"system:serviceaccount:milvus-*:milvus*",
"system:serviceaccount:loki:loki*",
"system:serviceaccount:index-pool:milvus*"
],
"eks_oidc_url:aud": "sts.amazonaws.com"
}
}
}
]
}
5

次へ をクリックし、権限の追加をスキップします。

6

名前を付けて確認し、作成 ステップで、ロールに名前を付け、信頼できるエンティティを確認し、ロールの作成 をクリックします。

7

ロールが作成されたら、緑色のバーにある ロールを表示 をクリックして、ロールの詳細に進みます。

8

ロールの ARN の前にあるコピーアイコンをクリックします。

9

Zilliz Cloud コンソールに戻り、ストレージ設定IAM ロール ARN にロール ARN を貼り付けます。

ステップ 3: 権限の追加

このステップは AWS コンソールでのみ行います。このステップでは、ステップ 2 で作成したロールにインラインポリシーを作成します。

1

作成したロールの詳細ページに移動します。権限ポリシー セクションで、権限の追加 をクリックし、インラインポリシーの作成 を選択します。

2

権限の指定 ページで、ポリシーエディター セクションの JSON をクリックして、ポリシーエディターを開きます。次に、以下の権限をコピーして、ポリシーエディターに貼り付けます。

{bucketName}ステップ 1 で作成したバケットの名前に置き換える必要があります。変更したポリシー JSON をコピーし、AWS の ポリシーエディター に貼り付けてください。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::{bucketName}"
},
{
"Sid": "AllowS3ReadWrite",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::{bucketName}/*"
]
}
]
}
3

Review and create で、ポリシー名を入力し、権限を確認して、Create policy をクリックします。