当ページでは、Data Uploader上でS3アップロードを行う場合の事前設定について解説します。
AWS CLI設定
データソース設定を行うための事前準備
AWS CLIの認証情報を使う方法
認証情報の設定
当該項目の設定を行うには、アップロードを行うAmazon S3バケットのAWSアカウント上でアクセスキーを発行し、AWS CLIの設定を済ませておく必要があります。
最低限必要なアクセスキーの権限は以下の通りです。
- 対象のAmazon S3バケットに対するPut権限
- 対象のAmazon S3バケットに対するList権限
最低限必要な権限を設定するIAM Policyの例は以下の通りです。(target-bucket
には対象バケット名を記載)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
],
"Resource": "arn:aws:s3:::target-bucket"
},
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::target-bucket/*"
}
]
}
必要なアクセスキー情報が準備出来たら、AWS CLIを対象OS環境にインストールし、アクセスキー設定(aws configure)を行ってください。
- Microsoft Windows で AWS Command Line Interface をインストールする - AWS Command Line Interface
- AWS CLI の設定 - AWS Command Line Interface
C:\>aws configure --profile csa
AWS Access Key ID [None]: AKIAXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: C5aZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
C:\>
aws configureコマンド実行時の注意
・Windows版で設定を行う際は、(WindowsOSの)管理者権限で上記コマンドを操作を行ってください。
・Linux版で設定を行う際は、上記コマンド操作を管理者権限(sudo aws configure〜)で行ってください。
Note
・「--profile」オプションを付与し、プロファイル名は「csa」を設定してください。
・アウトプットの形式(Default output format)は「json」を指定してください。
Amazon S3接続設定の作成
Data UploaderがS3のデータソースにアクセス出来るように、Data Uploader側でも設定が必要となります。
「設定」メニューより、[接続設定] - [Amazon S3]を選択。
Amazon S3接続設定画面に遷移します。[追加]ボタンを押下。
接続に必要な情報を設定します。
項目 | 説明 |
---|---|
S3接続情報名 | 識別可能な任意の接続名を設定。 |
AWSプロファイル名 | 前述手順で設定したプロファイル名を指定。 |
設定が作成出来ました。入力及び出力作成でこの設定値を選択することにより、Amazon S3接続を利用することが出来るようになります。
AWS CLIプロファイル設定の切り替え
CSA Data Uploaderでは、複数のAWS CLIプロファイルを処理に応じて使い分けることが可能です。
--profileオプションを利用してプロファイルを指定する形で、予めAWS CLI設定を登録しておきます。用途に拠ってはここで複数のプロファイルが登録されているという状況もあるでしょう。
Data Uploaderでは、ジョブ内の入力・出力設定でS3アクセスを行う際、プロファイル指定を行うことが可能となっています。ここで(アクセスに)必要なプロファイル設定を個別に設定しておくことで、Data Uploaderから複数のAWSアカウントに於けるS3データアクセスを実現することが出来ます。
複数プロファイルを設定した一覧イメージは以下。
プロファイル指定で以下のように選択が可能になります。
EC2付与のIAM Roleを使う方法
Data Uploaderのインストール対象OSがEC2の場合、EC2に付与したIAM Roleの権限を用いてAWS CLIを利用する形を取ることが出来ます。
認証情報の設定
EC2付与のIAM Roleから必要な情報を取得するため、設定は不要です。対応する権限を持つIAM RoleをEC2に付与してください。
- EC2に付与するIAM Roleの「必要な権限」については上記AWS CLIでの設定手順と同様です。
EC2 IAM Roleを使う場合、aws configure
コマンド実行による個別プロファイル設定は必要ありませんが、config
設定への情報追記は必要となります。AWS CLIをインストールした上で、下記設定を対象ファイルに追記してください。
- Windows版OSの場合、
%UserProfile%/.aws/config
ファイルに以下の設定を追加してください。 - Linux版OSの場合、
/root/.aws/config
ファイルに以下の設定を追加してください。
[profile default]
output = json
region = ap-northeast-1
Amazon S3接続設定の作成
Data Uploaderが接続を作成するために、作成が必要です。
Amazon S3接続の作成を、以下の値で行ってください。
- S3接続情報名:任意の文字列
- AWSプロファイル名:
default
設定が作成出来ました。入力及び出力作成でこの設定値を選択することにより、Amazon S3接続を利用することが出来るようになります。
AWS CLI設定とサーバ起動方式の関連について
「AWS CLI設定を行ったユーザー」と「CSA Data Uploaderを起動するユーザー」の実行時ユーザーが異なる場合、ジョブ実行の際に認証情報が見つからず、エラーになる場合があります。いずれかを管理者権限で実行、もう片方を非管理者権限で実行していることに起因するものですので、設定・運用の際には実行時ユーザーの権限を合わせるようにしてください。
- サーバをサービス起動する(管理者権限で実行する)場合:AWS CLI設定についても管理者権限で行う
- 上記以外の場合:AWS CLIについても指定のユーザー権限(起動したユーザーの権限)で設定を行う