メインコンテンツへスキップ
メインコンテンツへスキップ

AWS IAM ユーザーと S3 バケットの作成方法

このガイドでは、AWS で IAM ユーザーと S3 バケットをセットアップする方法を説明します。 これは、S3 へのバックアップ取得や、ClickHouse が S3 上にデータを保存するよう構成するための前提となる手順です。

AWS IAM ユーザーを作成する

この手順では、ログインユーザーではなく、サービスアカウント用ユーザーを作成します。

  1. AWS IAM マネジメントコンソールにログインします。

  2. Users タブで Create user を選択します。

AWS IAM Management Console - 新しいユーザーの追加
  1. ユーザー名を入力します。
AWS IAM Management Console - 新しいユーザーの追加
  1. Next を選択します。
AWS IAM Management Console - 新しいユーザーの追加
  1. Next を選択します。
AWS IAM Management Console - 新しいユーザーの追加
  1. Create user を選択します。

これでユーザーが作成されました。 新しく作成されたユーザーをクリックします。

AWS IAM Management Console - 新しいユーザーの追加
  1. Create access key を選択します。
AWS IAM Management Console - 新しいユーザーの追加
  1. Application running outside AWS を選択します。
AWS IAM Management Console - 新しいユーザーの追加
  1. Create access key を選択します。
AWS IAM Management Console - 新しいユーザーの追加
  1. 後で使用するために、アクセスキーとシークレットアクセスキーを .csv ファイルとしてダウンロードします。
AWS IAM Management Console - 新しいユーザーの追加

S3 バケットを作成する

  1. S3 バケットセクションで Create bucket をクリックします。
AWS IAM Management Console - Adding a new user
  1. バケット名を入力し、その他のオプションはデフォルトのままにします。
AWS IAM Management Console - Adding a new user
注記

バケット名は組織単位ではなく AWS 全体で一意である必要があり、そうでない場合はエラーになります。

  1. Block all Public Access は有効のままにしておきます。パブリックアクセスは不要です。
AWS IAM Management Console - Adding a new user
  1. ページ下部の Create Bucket をクリックします。
AWS IAM Management Console - Adding a new user
  1. リンクを選択し、ARN をコピーして、後でバケットのアクセスポリシーを設定する際に使用できるよう保存します。
AWS IAM Management Console - Adding a new user
  1. バケットが作成されたら、S3 バケット一覧から新しい S3 バケットを探し、バケット名を選択します。次の画面が表示されます。
AWS IAM Management Console - Adding a new user
  1. Create folder をクリックします。

  2. ClickHouse の S3 ディスクまたはバックアップのターゲットとなるフォルダ名を入力し、ページ下部の Create folder をクリックします。

AWS IAM Management Console - Adding a new user
  1. フォルダがバケットの一覧に表示されているはずです。
AWS IAM Management Console - Adding a new user
  1. 新しいフォルダのチェックボックスを選択し、Copy URL をクリックします。次のセクションで ClickHouse のストレージ設定に使用できるよう、この URL を保存しておきます。
AWS IAM Management Console - Adding a new user
  1. Permissions タブを選択し、Bucket Policy セクションの Edit ボタンをクリックします。
AWS IAM Management Console - Adding a new user
  1. バケットポリシーを追加します。例を以下に示します。
{
    "Version": "2012-10-17",
    "Id": "Policy123456",
    "Statement": [
        {
            "Sid": "abc123",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::782985192762:user/docs-s3-user"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::ch-docs-s3-bucket",
                "arn:aws:s3:::ch-docs-s3-bucket/*"
            ]
        }
    ]
}
注記

上記のポリシーにより、このバケットに対してあらゆるアクションを実行できるようになります。

ParameterDescriptionExample Value
Versionポリシーインタープリタのバージョン。変更せずそのまま使用します。2012-10-17
Sidユーザー定義のポリシー IDabc123
Effectユーザーのリクエストを許可するか拒否するかAllow
Principal許可されるアカウントまたはユーザーarn:aws:iam::782985192762:user/docs-s3-user
Actionバケット上で許可される操作s3:*
Resourceバケット内のどのリソースに対して操作を許可するか"arn:aws:s3:::ch-docs-s3-bucket", "arn:aws:s3:::ch-docs-s3-bucket/*"
注記

使用する権限についてはセキュリティチームと協議し、ここで示した内容はあくまで出発点として検討してください。 ポリシーと設定の詳細については、AWS ドキュメントを参照してください: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html

  1. ポリシー設定を保存します