AWS Backup for S3 の新機能「バックアップアクセスポイント」でバックアップデータの直接アクセスを試してみた
はじめに
2026年8月6日、AWS Backup for S3 にアクセスポイント機能が追加されました。
従来はバックアップから1ファイルを取り出すにも、リストアジョブの実行が必要でした。新機能では、バックアップに対してアクセスポイントを作成して直接アクセスできます。
| 従来のリストア | アクセスポイント経由 |
|---|---|
| リストアジョブを実行 | アクセスポイントを作成 |
| ジョブ完了まで待機が必要 | 即時アクセス可能 *1 |
| 復元先バケットの指定が必要 | 復元先バケット不要(直接ダウンロード) |
| 復元ジョブ単位での取得 | 任意のオブジェクトを選択的に取得 |
*1 バックアップ完了状態(AVAILABLE)であればアクセス可能
本記事では、AWS CLI でアクセスポイントを作成し、バックアップデータに直接アクセスできることを検証します。
検証内容
検証環境
- AWS CLI 2.36.18 以上(
create-backup-access-pointコマンドに対応) - 管理者権限で実行
S3 バケットの準備
テスト用バケットを作成し、バージョニングを有効化します(AWS Backup for S3 はバージョニング有効なバケットが対象)。
# バケット作成
aws s3api create-bucket \
--bucket backup-access-point-test-YYYYMMDD \
--create-bucket-configuration '{"LocationConstraint": "ap-northeast-1"}' \
--region ap-northeast-1
# バージョニング有効化
aws s3api put-bucket-versioning \
--bucket backup-access-point-test-YYYYMMDD \
--versioning-configuration '{"Status": "Enabled"}' \
--region ap-northeast-1
テストデータを配置します。
for i in $(seq 1 10); do
echo "Test content for file $i - created at $(date -Iseconds)" | \
aws s3 cp - "s3://backup-access-point-test-YYYYMMDD/test-data/file-$(printf '%02d' $i).txt" \
--region ap-northeast-1
done
AWS Backup の設定
バックアップボルトを作成します。
aws backup create-backup-vault \
--backup-vault-name s3-access-point-test-vault \
--region ap-northeast-1
IAM ロールを作成し、AWS 管理ポリシーをアタッチします。
# ロール作成
aws iam create-role \
--role-name AWSBackupS3TestRole \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "backup.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}'
# ポリシーアタッチ
aws iam attach-role-policy \
--role-name AWSBackupS3TestRole \
--policy-arn arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Backup
aws iam attach-role-policy \
--role-name AWSBackupS3TestRole \
--policy-arn arn:aws:iam::aws:policy/AWSBackupServiceRolePolicyForS3Restore
S3 リソースタイプを有効化し、オンデマンドバックアップを開始します。
# S3 リソースタイプ有効化
aws backup update-region-settings \
--resource-type-opt-in-preference '{"S3": true}' \
--region ap-northeast-1
# オンデマンドバックアップ開始
aws backup start-backup-job \
--backup-vault-name s3-access-point-test-vault \
--iam-role-arn arn:aws:iam::xxxxxxxxxxxx:role/AWSBackupS3TestRole \
--resource-arn arn:aws:s3:::backup-access-point-test-YYYYMMDD \
--region ap-northeast-1
{
"BackupJobId": "1dddfe69-5d32-4eee-a1bb-77bc75b8a7e0",
"CreationDate": "2026-08-07T16:41:24.596000+09:00",
"IsParent": false
}
バックアップジョブの完了後、RecoveryPointArn を取得します。
aws backup describe-backup-job \
--backup-job-id 1dddfe69-5d32-4eee-a1bb-77bc75b8a7e0 \
--region ap-northeast-1
{
"State": "COMPLETED",
"RecoveryPointArn": "arn:aws:backup:ap-northeast-1:xxxxxxxxxxxx:recovery-point:backup-access-point-test-YYYYMMDD-20260807074125-1de2a2cd"
}
アクセスポイントの作成
復旧ポイント(バックアップの実体)に対してアクセスポイントを作成します。1つの復旧ポイントに対して最大5個のアクセスポイントを作成できます。また、アクセスポイントポリシーを設定することで、IAM プリンシパル、VPC、オブジェクトプレフィックスによるアクセス制限も可能です。
aws backup create-backup-access-point \
--name test-access-point \
--recovery-point-arn "arn:aws:backup:ap-northeast-1:xxxxxxxxxxxx:recovery-point:backup-access-point-test-YYYYMMDD-20260807074125-1de2a2cd" \
--region ap-northeast-1
{
"AccessPointArn": "arn:aws:backup:ap-northeast-1:xxxxxxxxxxxx:accesspoint/test-access-point",
"Status": "CREATING"
}
ステータスが AVAILABLE になったことを確認します。
aws backup describe-backup-access-point \
--access-point-arn "arn:aws:backup:ap-northeast-1:xxxxxxxxxxxx:accesspoint/test-access-point" \
--region ap-northeast-1
{
"AccessPointArn": "arn:aws:backup:ap-northeast-1:xxxxxxxxxxxx:accesspoint/test-access-point",
"AccessPointMetadata": {
"S3AccessPointAlias": "example-alias-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-ext-s3alias"
},
"Status": "AVAILABLE",
"BackupVaultName": "s3-access-point-test-vault",
"ResourceType": "S3"
}
バックアップデータへの直接アクセス
S3AccessPointAlias の値をバケット名として指定し、S3 標準 API でアクセスします。アクセスポイント経由では読み取り専用です(本記事では読み取り系 API のみ検証)。
ListObjectsV2(オブジェクト一覧取得)
aws s3api list-objects-v2 \
--bucket "example-alias-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-ext-s3alias" \
--region ap-northeast-1
{
"Contents": [
{
"Key": "test-data/file-01.txt",
"LastModified": "2026-08-07T07:40:15+00:00",
"Size": 63,
"StorageClass": "AWS_BACKUP_WARM"
}
]
}
file-02.txt 〜 file-10.txt も同様に取得でき、いずれも Size 63 / StorageClass AWS_BACKUP_WARM でした。これは AWS Backup のバックアップデータに対して返される値です。
HeadObject(メタデータ取得)
aws s3api head-object \
--bucket "example-alias-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-ext-s3alias" \
--key "test-data/file-01.txt" \
--region ap-northeast-1
{
"ContentLength": 63,
"ETag": "\"fdef648f5a8cf52454ed8db9c21559b6\"",
"VersionId": "Kjfj_zH.wbVvhruWZnprEe8RBRYd10Wg",
"ServerSideEncryption": "aws:backup",
"StorageClass": "AWS_BACKUP_WARM"
}
ServerSideEncryption には aws:backup(AWS Backup が管理する暗号化)が設定されていました。
GetObject(ファイル内容取得)
aws s3api get-object \
--bucket "example-alias-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-ext-s3alias" \
--key "test-data/file-01.txt" \
/tmp/backup-file-01.txt \
--region ap-northeast-1
$ cat /tmp/backup-file-01.txt
Test content for file 1 - created at 2026-08-07T16:40:14+09:00
リストアジョブを実行することなく、バックアップデータを直接取得できました。
まとめ
AWS Backup for S3 のアクセスポイント機能により、バックアップデータへのファイル単位のアクセスが簡単になりました。アクセスポイントを作成すれば、リストアジョブの実行や復元先バケットの準備なしに、S3 標準 API(ListObjectsV2、HeadObject、GetObject)で直接アクセスできます。
「誤って削除したファイルを1つだけ取り戻したい」「バックアップ内容を確認したい」といったユースケースで有効に使えそうです。公式ブログでは、コンプライアンス監査やフォレンジック調査なども有効として紹介されています。








