Data Credentialの作成
VeloDBは、ストレージとコンピュートを分離したアーキテクチャを採用しており、データは通常オブジェクトストレージに保存されます。ウェアハウスが基盤となるデータに適切にアクセスできるようにするために、事前にData Credentialを作成する必要があります。Data Credentialのコアは、IAMポリシーとIAMロールの作成です。VeloDBは、このロールをVeloDBウェアハウスで使用されるEC2に自動的にアタッチします。以下に詳細な手順を示します。
ステップ 1: S3 Bucketの作成
まず、S3 Bucketを準備する必要があります。すでにお持ちの場合は、この手順をスキップしてStep 2に進むことができます。
NOTE 使用するS3バケットは、VeloDBウェアハウスがデプロイされるのと同じAWSリージョンに配置されている必要があります。そのリージョンにバケットをまだお持ちでない場合は、続行する前にバケットを作成してください。
- 管理者権限を持つユーザーとしてAWS S3 Consoleにログインします。
- Create bucketボタンをクリックします。
- create bucketページで、以下のオプションを設定します:
- バケットの名前を入力します。
- VeloDBウェアハウスのデプロイメントに使用するAWSリージョンを選択します。
- バケット Versioningを有効にします(推奨)。
- Create bucketをクリックします。
- バケット名をコピーしてVeloDB consoleに追加します。
ステップ 2: IAMポリシーの作成
S3バケットのプロビジョニングが完了したら、バケットへの読み取りおよび書き込みアクセスを許可するIAMポリシーを作成します。
-
管理者権限を持つユーザーとして**AWS IAM Console**にログインします。
-
サイドバーのPoliciesタブをクリックします。
-
Create policyボタンをクリックします。
-
ポリシーエディターで、JSONタブをクリックします。
-
以下のアクセスポリシーをエディターにコピーして貼り付け、
<YOUR-BUCKET-NAME>を前の手順で準備したS3バケットの名前に置き換えます。{
"Version": "2012-10-17",
"Statement":
[
{
"Effect": "Allow",
"Resource": "arn:aws:s3:::<YOUR-BUCKET-NAME>",
"Action":
[
"s3:GetBucketLocation",
"s3:GetBucketVersioning",
"s3:PutBucketCORS",
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:ListBucketMultipartUploads"
]
},
{
"Effect": "Allow",
"Resource": "arn:aws:s3:::<YOUR-BUCKET-NAME>/*",
"Action":
[
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
]
},
{
"Effect": "Allow",
"Action":
[
"sts:AssumeRole"
],
"Resource": "*"
}
]
} -
Nextボタンをクリックします。
-
Nameフィールドにポリシー名を入力します。(例:VeloDBDataStorageAccess)
-
Create policyをクリックします。
ステップ3:サービスIAMロールの作成
-
IAMコンソールのサイドバーでRolesタブをクリックします。
-
Create roleをクリックします。
- Trusted entity type:AWS serviceを選択します。
- Use cases:EC2を選択します。
- Nextボタンをクリックします。
- Attach 許可ポリシー:ポリシー検索ボックスに、ステップ2で作成したポリシー名を入力します。
- role nameフィールドにロール名を入力します。(例:VeloDBDataStorageAccessRole)
- Create roleをクリックします。
-
ロールの信頼関係を更新します。
ロールを作成したら、そのロールが自己引受可能になるように信頼ポリシーを更新する必要があります。作成したIAMロールで、Trust Relationshipsタブに移動し、
<YOUR-AWS-ACCOUNT-ID>と<YOUR-ROLE-NAME>の値を置き換えて、以下のように信頼関係ポリシーを編集します。{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com",
"AWS": "arn:aws:iam::<YOUR-AWS-ACCOUNT-ID>:role/<YOUR-ROLE-NAME>"
},
"Action": "sts:AssumeRole"
}
]
} -
ロール概要で、Instance Profile ARN(形式:arn:aws:iam::
<YOUR-AWS-ACCOUNT-ID>:instance-profile/<YOUR-ROLE-NAME>)をコピーして、VeloDBコンソールに追加します。