AWS IAM ユーザーと S3 バケットの作成方法
このガイドでは、AWS で IAM ユーザーと S3 バケットをセットアップする方法を説明します。 これは、S3 へのバックアップ取得や、ClickHouse が S3 上にデータを保存するよう構成するための前提となる手順です。
AWS IAM ユーザーを作成する
この手順では、ログインユーザーではなく、サービスアカウント用ユーザーを作成します。
-
AWS IAM マネジメントコンソールにログインします。
-
UsersタブでCreate userを選択します。

- ユーザー名を入力します。

Nextを選択します。

Nextを選択します。

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

Create access keyを選択します。

Application running outside AWSを選択します。

Create access keyを選択します。

- 後で使用するために、アクセスキーとシークレットアクセスキーを .csv ファイルとしてダウンロードします。

S3 バケットを作成する
- S3 バケットセクションで Create bucket をクリックします。

- バケット名を入力し、その他のオプションはデフォルトのままにします。

注記
バケット名は組織単位ではなく AWS 全体で一意である必要があり、そうでない場合はエラーになります。
Block all Public Accessは有効のままにしておきます。パブリックアクセスは不要です。

- ページ下部の Create Bucket をクリックします。

- リンクを選択し、ARN をコピーして、後でバケットのアクセスポリシーを設定する際に使用できるよう保存します。

- バケットが作成されたら、S3 バケット一覧から新しい S3 バケットを探し、バケット名を選択します。次の画面が表示されます。

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

- フォルダがバケットの一覧に表示されているはずです。

- 新しいフォルダのチェックボックスを選択し、
Copy URLをクリックします。次のセクションで ClickHouse のストレージ設定に使用できるよう、この URL を保存しておきます。

- Permissions タブを選択し、Bucket Policy セクションの Edit ボタンをクリックします。

- バケットポリシーを追加します。例を以下に示します。
注記
上記のポリシーにより、このバケットに対してあらゆるアクションを実行できるようになります。
| Parameter | Description | Example Value |
|---|---|---|
| Version | ポリシーインタープリタのバージョン。変更せずそのまま使用します。 | 2012-10-17 |
| Sid | ユーザー定義のポリシー ID | abc123 |
| 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
- ポリシー設定を保存します