USER MANUALS

AWS S3

Amazon EKS に Denodo 組み込み MPP をデプロイする前に、 Denodo 組み込み MPP AWS チェックリスト で必要な準備がすべて完了していることを確認します。

AWS S3 データセットにアクセスする Denodo 組み込み MPP をデプロイするには、以下に示す 2 つのオプションがあります。

  1. cluster.sh deploy コマンドで AWS S3 資格情報を指定しません (推奨 オプション)。

    cluster.sh deploy --credstore-password xxx
    

    Denodo 組み込み MPP が Amazon EKS で実行され、以下の 2 つの方法のどちらかを使用して S3 にアクセスする場合に使用します。

    1. サービスアカウントの IAM ロール

      そのために、以下に示す例のように、 values.yamlserviceAccount.annotations を使用して IAM ロールと serviceAccount を関連付けることができます。

      serviceAccount:
        create: true
        annotations:
          eks.amazonaws.com/role-arn: arn:aws:iam::<awsaccountid>:role/<role>
      

      これで、Denodo 組み込み MPP は、その IAM ロールに構成されている権限を使用して、S3 にアクセスします。

    2. IAM EC2 インスタンスプロファイル

  2. cluster.sh deploy コマンドで AWS S3 資格情報を指定します。

    cluster.sh deploy --s3-access-key xxx --s3-secret-access yyy --credstore-password zzz
    
    • --s3-access-key: アクセスキー ID。

    • --s3-secret-access: シークレットアクセスキー。

      コマンドラインでこのシークレットが指定されない場合、 cluster.sh deploy がシークレットの入力を要求し、bash の履歴にシークレットが残らないようにします。

AWS S3 にアクセスするための AWS の権限

Denodo 組み込み MPP が AWS S3 バケットにアクセスする場合に必要な AWS の権限を以下に示します。

  • AWS S3 からの読み込み:

    • s3:GetObject

    • s3:ListBucket

  • AWS S3 への書き込み(読み込みと同じ権限に加えて以下の権限が必要):

    • s3:PutObject

    • s3:DeleteObject

重要

AWS 資格情報プロバイダー

Denodo 組み込み MPP には、デフォルトで構成されている資格情報プロバイダーチェーン DenodoAWSCredentialsProviderChain が付属しています。

このチェーンは、以下の順序で AWS 資格情報を探します。

  • SimpleAWSCredentialsProvider: Hadoop 構成ファイルのプロパティ fs.s3a.access.keyfs.s3a.secret.key から資格情報を読み込みます。

  • EnvironmentVariableCredentialsProvider: 環境変数 AWS_ACCESS_KEY_IDAWS_SECRET_KEY から資格情報を読み込みます。

  • SystemPropertiesCredentialsProvider: Java システムプロパティ aws.accessKeyIdaws.secretKey から資格情報を読み込みます。

  • WebIdentityTokenCredentialsProvider: 環境またはコンテナーから Web ID トークン資格情報を読み込みます。

  • ProfileCredentialsProvider: デフォルトの場所 ~/.aws/credentials にある資格情報プロファイルファイルを読み込みます。

  • EC2ContainerCredentialsProviderWrapper: 通常は InstanceProfileCredentialsProvider を使用して、EC2 から資格情報を読み込みます。

上記のプロバイダーがどれもニーズに適合しない場合、以下のファイルで構成されている資格情報プロバイダーを変更する必要があります。

  1. presto/conf/catalog/core-site.xml:

    1. presto.s3.credentials-provider プロパティの値を任意の AWS 資格情報プロバイダーで置き換えます。

    2. この資格情報プロバイダーが必要とする他のプロパティを含めます。

  2. hive-metastore/conf/core-site.xml:

    1. fs.s3a.aws.credentials.provider プロパティの値を任意の AWS 資格情報プロバイダーで置き換えます。

    2. この資格情報プロバイダーが必要とする他のプロパティを含めます。

Add feedback