[AWS]「S3」ファイルサーバの構築
S3バケットをファイルサーバとして利用するように設定します。
1. ログ記録用S3バケットの作成
まず、ログを記録するためのS3バケットを作成します。
※ログを記録しない場合には、この作業は不要です。
- AWS マネジメントコンソールにログインします。
- サービスメニューより「s3」をクリックします。
(1) バケットの作成
- 左側のローカルメニューの「バケット」をクリックして、「バケットを作成」ボタンをクリックします。
■一般的な設定
バケット名 |
(例)example-jp-storage-logs |
リージョン |
アジアパシフィック(東京) |
既存のバケットから設定をコピー |
(コピーしないのでそのまま) |
※バケット名は任意ですので、分かりやすい名前を付けて下さい。
■オブジェクト所有者
■このバケットのブロックパブリックアクセス設定
■バケットのバージョニング
■タグ
(任意に設定)
■デフォルトの暗号化
サーバー側の暗号化
■詳細設定
オブジェクトロック
(2) ライフサイクルルールの作成
ログの保存期間を設定するためにライフサイクルルールを作成します。
- バケットの一覧から作成したバケットの名前をクリックします。
- 「管理」タブをクリックします。
- 「ライフサイクルルール」項目において、「ライフサイクルルールを作成する」をクリックします。
■ライフサイクルルールの設定
ライフサイクルルール名 |
(例)example-jp-storage-logs-life-cycle-rules |
ルールスコープを選択
|
1 つ以上のフィルターを使用してこのルールのスコープを制限する |
|
バケット内のすべてのオブジェクトに適用 |
バケット内のすべてのオブジェクトに適用
|
このルールがバケット内のすべてのオブジェクトに適用されることを了承します。 |
■ライフサイクルルールのアクション
|
オブジェクトの最新バージョンをストレージクラス間で移動 |
|
オブジェクトの非現行バージョンをストレージクラス間で移動 |
|
オブジェクトの現行バージョンを有効期限切れにする |
|
オブジェクトの非現行バージョンを完全に削除 |
|
有効期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除 |
※バージョニングが無効の場合には、削除になります。
■オブジェクトの現行バージョンの有効期限が切れる
2. ファイルサーバ用S3バケットの作成
ファイルサーバとして使用するためのS3バケットを作成します。
(1) バケットの作成
- 左側のローカルメニューの「バケット」をクリックして、「バケットを作成」ボタンをクリックします。
■一般的な設定
バケット名 |
(例)example-jp-storage |
リージョン |
アジアパシフィック(東京)ap-northeast-1 |
既存のバケットから設定をコピー |
(コピーしないのでそのまま) |
※バケット名は任意ですので、分かりやすい名前を付けて下さい。
■オブジェクト所有者
オブジェクト所有者
■このバケットのブロックパブリックアクセス設定
■バケットのバージョニング
■タグ
(任意に設定)
■デフォルトの暗号化
サーバー側の暗号化
暗号化キータイプ
|
Amazon S3 マネージドキー (SSE-S3) |
|
AWS Key Management Service キー (SSE-KMS) |
■詳細設定
オブジェクトロック
(2) サーバーアクセスのログ記録
サーバアクセスのログを記録します。
- バケット一覧より作成したバケット名をクリックします。
- 「プロパティ」タブを選択します。
- 「サーバーアクセスのログ記録」の項目の「編集」ボタンをクリックします。
■サーバーアクセスのログ記録
1.で作成したアクセスログ記録用バケットを指定します。
「(prefix)」はログの先頭に付ける文字列です。
ターゲットバケット |
s3://(バケット名)/(prefix) |
【例】
ターゲットバケット |
s3://example-jp-storage-logs/access-logs/ |
※prefixの名称の後に「/」を付加すると、prefix名のディレクトリを作成して記録します。
※ログ記録の有効化してから実際にログが記録されるまでに、数時間かかります。
(3) IP制限
特定のIPアドレスからしかアクセスを許可しない場合に設定します。
- バケット一覧から該当のバケット名をクリックします。
- 「アクセス許可」タブをクリックします。
- 「バケットポリシー」の「編集」をクリックします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::(バケット名)",
"arn:aws:s3:::(バケット名)/*"
],
"Condition": {
bool"NotIpAddress": {
"aws:SourceIp": [
"***.***.***.***/32",
"***.***.***.***/32"
]
},
"Bool": {
"aws:ViaAWSService": "false"
},
"StringNotEquals": {
"aws:sourceVpc": [
"(VPC ID)",
"(VPC ID)"
]
}
}
}
]
}
「(バケット名)」に実際のバケット名を記入します。
「***.***.***.***」にアクセスを許可するIPアドレスを記入します。
「(VPC ID)」に許可するVPCのIDを記入します。
※「Bool:"aws:ViaAWSService": "false"」は、他のAWSのサービスからのアクセスはDENYの対象外という意味なので、必ず指定しておきます。
3. ユーザーの作成
(1) ユーザーグループの作成
ファイルサーバとして利用するバケットにアクセスできるグループを作成します。
- サービスメニューより「IAM」(Identity and Access Management)を実行し、ダッシュボードを表示します。
- 「アクセス管理」から「User groups」をクリックします。
- 「グループを作成」ボタンをクリックします。
【例】
ユーザーグループ名 |
S3AccessFileServerGroup |
- アクセス許可ポリシーを何も選択せずに、「グループを作成」ボタンをクリックします。
- ユーザーグループのリストに作成されたグループが表示されます。
- 「許可」タブをクリックします。
- 右側の「アクセス許可を追加」リストから「インラインポリシーを作成」を選択します。
- 「JSON」タブをクリックして、以下のコードを貼り付けます。
※「(バケット名1)」、「(バケット名2)」にアクセスするバケット名を記入します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetBucketLocation",
"s3:GetObjectVersion",
"s3:ListBucketVersions",
"s3:GetObjectACL",
"s3:PutObjectACL"
],
"Resource": [
"arn:aws:s3:::(バケット名1)",
"arn:aws:s3:::(バケット名1)/*",
"arn:aws:s3:::(バケット名2)",
"arn:aws:s3:::(バケット名2)/*"
]
}
]
}
【例】
名前 |
S3AccessFileServerPolicy |
(2) ユーザーの作成
- 左側のローカルメニューから「ユーザー」を実行します。
- 「ユーザーを追加」ボタンをクリックします。
■ユーザーを追加
ユーザー詳細の設定
ユーザー名 |
(例)example-jp-user01 |
AWS アクセスの種類を選択
|
アクセスキー・プログラムによるアクセス |
|
パスワード・AWSマネジメントコンソールへのアクセス |
- 「次のステップ:アクセス権限」ボタンをクリックします。
■アクセス許可の設定
ユーザーをグループに追加
- (1)で作成したユーザグループにチェックを付けます。
|
(例)S3AccessFileServerGroup |
■タグの追加 (オプション)
- 必要に応じてタグを登録します。
- 「次のステップ:確認」ボタンをクリックします。
■確認
■成功
- この画面に表示されている「アクセスキーID」、「シークレットアクセスキー」をコピーするか、「.csvのダウンロード」ボタンをクリックして、アカウント情報をダウンロードします。
※この画面を閉じると「アクセスキーID」、「シークレットアクセスキー」は再表示できなくなるので注意して下さい。
最終更新:2022年06月14日 06:56