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

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

このページでは、適切なアクセス許可を持つBring-Your-Own-Cloud(BYOC)プロジェクトのルートストレージを作成および構成する方法について説明します。

📘ノート

Zilliz BYOCは現在一般提供中です。アクセスと実装の詳細については、Zilliz Cloudサポートにお問い合わせください。

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

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

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

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

手続き

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

ステップ1: S3バケットを作成する

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

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

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

    EDPzbdL3qoL07Zxn20scT2shnW4

  3. [バケット名]にバケットの名前を入力し、他の設定ではデフォルト値を維持します。

    As0YbBOo5orZD0x46Y2co4VQnqc

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

    M84BbzFwNomzQSxnjoPcPUgWnLh

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

    NDNeb6jePo9mQhxe9vzcmhcTn1g

ステップ2: S3バケットにアクセスするためのIAMロールを作成する

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

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

  2. アカウント情報を展開し、AWSアカウントIDの前にあるコピーボタンをクリックしてください。

    A7vYbCzp1osavYxEx0wcPaZan1d

  3. 左サイドバーの[役割]タブをクリックし、[役割を作成]をクリックします。

    C5bbbRXxioqdrXxYhWiczehwndh

  4. [信頼できるエンティティの選択]で、[カスタム信頼ポリシー]タイルをクリックします。[共通信頼ポリシー]で、下の信頼JSONを[カスタム信頼ポリシー]セクションのエディタに貼り付け、{account tId}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"
    }
    }
    }
    ]
    }

    GYHgb2VNIocfN2xWCkXcuRhanCd

  5. へ」をクリックして、アクセス権の追加をスキップします。

  6. 名前、レビュー、および作成」ステップで、役割に名前を付け、信頼されたエンティティを確認し、「役割を作成」をクリックします。

    📘ノート

    ロールに名前を付けるときは、プレフィックスzilliz-byocを使用します。

  7. ロールが作成されたら、緑色のバーにあるView roleをクリックしてロールの詳細に移動します。

    XPKub0oMNoyGPgxntQpcLXJznRE

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

    DgzNbw3WIoIbg9xGAJ5cVPFhngc

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

    FIVObWf57onQEpxJHbxczL8CnNg

ステップ3:権限を追加する

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

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

    Iwf4b7aL0oPRHmxFf4ocpud6n9g

  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}/*"
    ]
    }
    ]
    }

    TaqNb47MzonywUxQqBucQWcfn0D

  3. [レビューと作成]で、ポリシー名を入力し、権限を確認して、[ポリシーを作成]をクリックします。

    📘ノート

    ポリシーに名前を付けるときは、プレフィックスzilliz-byocを使用します。

    HnCtbqVUrotnStxlp4nc2LqznNf