<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>S3 &#8211; エンジニア見習い</title>
	<atom:link href="https://otonan-syusyoku.work/archives/tag/s3/feed" rel="self" type="application/rss+xml" />
	<link>https://otonan-syusyoku.work</link>
	<description>三流プログラマー</description>
	<lastBuildDate>Sun, 25 May 2025 03:46:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://otonan-syusyoku.work/wp-content/uploads/2023/10/cropped-名称未設定のデザイン-16-32x32.png</url>
	<title>S3 &#8211; エンジニア見習い</title>
	<link>https://otonan-syusyoku.work</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>S3の機能の洗い出し</title>
		<link>https://otonan-syusyoku.work/archives/1958</link>
					<comments>https://otonan-syusyoku.work/archives/1958#respond</comments>
		
		<dc:creator><![CDATA[hrokig2]]></dc:creator>
		<pubDate>Tue, 22 Oct 2024 08:30:00 +0000</pubDate>
				<category><![CDATA[インフラ]]></category>
		<category><![CDATA[生涯独学]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[S3]]></category>
		<guid isPermaLink="false">https://otonan-syusyoku.work/?p=1958</guid>

					<description><![CDATA[「静的Webホスティングができるよ〜」「ストレージサーバーとして使っているよ〜」という使い方はしてきたのですが、実は高機能だという事を最近知ったので、改めてS3の機能について洗い出してみました。 自戒の意味を込めた記事で [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>「静的Webホスティングができるよ〜」「ストレージサーバーとして使っているよ〜」という使い方はしてきたのですが、実は高機能だという事を最近知ったので、改めてS3の機能について洗い出してみました。</p>
<p>自戒の意味を込めた記事です</p>
<h2>S3のアクセス制御</h2>
<table style="width: 100%; height: 492px;">
<thead>
<tr style="height: 45px;">
<th style="height: 45px;">制御方法</th>
<th style="height: 45px;">説明</th>
<th style="height: 45px;">適用範囲</th>
<th style="height: 45px;">ユースケース例</th>
</tr>
</thead>
<tbody>
<tr style="height: 74px;">
<td style="height: 74px;">バケットポリシー</td>
<td style="height: 74px;">&#8211; 特定のバケットやオブジェクトに対するアクセスを制御する<br />
&#8211; 他のアカウントに対しても適用できる<br />
&#8211; IPアドレスやドメイン単位での制御ができる</td>
<td style="height: 74px;">バケット全体</td>
<td style="height: 74px;">静的ウェブサイトのホスティングで「GetObject」を許可。</td>
</tr>
<tr style="height: 74px;">
<td style="height: 74px;">IAMポリシー</td>
<td style="height: 74px;">&#8211; AWSユーザーやロール単位でS3のアクセス権限を付与する<br />
&#8211; IPアドレスやドメイン単位での制御ができる</td>
<td style="height: 74px;">IAMユーザー、グループ、ロール</td>
<td style="height: 74px;">バックアップ用のS3バケットに特定のIAMユーザーだけがアクセス。</td>
</tr>
<tr style="height: 74px;">
<td style="height: 74px;">ACL（アクセス制御リスト）</td>
<td style="height: 74px;">&#8211; オブジェクトやバケット単位で細かなアクセス制御を設定する<br />
&#8211; 推奨されない<br />
&#8211; 他のアカウントに対しても適用できる<br />
&#8211; IPアドレスやドメイン単位での制御はできない</td>
<td style="height: 74px;">バケットまたはオブジェクト</td>
<td style="height: 74px;">一部のオブジェクトを公開アクセスにする。</td>
</tr>
</tbody>
</table>
<h2>S3のストレージクラス</h2>
<table style="border-collapse: collapse; width: 100%; border: 1px solid #dddddd; height: 621px;">
<thead>
<tr style="height: 45px;">
<th style="width: 16.8074%; border: 1px solid #dddddd; padding: 8px; height: 45px;">ストレージクラス</th>
<th style="width: 33.1926%; border: 1px solid #dddddd; padding: 8px; height: 45px;">特徴</th>
<th style="width: 25%; border: 1px solid #dddddd; padding: 8px; height: 45px;">料金</th>
<th style="width: 25%; border: 1px solid #dddddd; padding: 8px; height: 45px;">ユースケース</th>
</tr>
</thead>
<tbody>
<tr style="height: 103px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 103px;">S3 Standard</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 103px;">&#8211; 高い可用性と耐久性（99.999999999%）<br />
&#8211; 即時アクセス可能</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 103px;">最も高いストレージ料金</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 103px;">&#8211; 頻繁にアクセスするデータ<br />
&#8211; 重要なWebアプリケーションのデータ</td>
</tr>
<tr style="height: 74px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 74px;">S3 Intelligent-Tiering</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 74px;">&#8211; アクセス頻度に応じて自動的に階層を移動<br />
&#8211; アクセスがない場合は低コストになる</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">アクセスと移行ごとに追加料金あり</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">アクセス頻度が不明なデータや長期間保存される可能性のあるデータ</td>
</tr>
<tr style="height: 74px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 74px;">S3 Standard-IA (Infrequent Access)</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 74px;">&#8211; 高耐久で即時アクセス可能だが、アクセス頻度が低いデータ向け</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">保存コストは安いが、アクセスごとに取り出し料金が発生</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">バックアップデータやアーカイブなど、たまにアクセスするデータ</td>
</tr>
<tr style="height: 74px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 74px;">S3 One Zone-IA</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 74px;">&#8211; 1つのAZにのみ保存されるため、低コストだが耐久性は低い。</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">Standard-IAより安い</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">再生成可能なデータや、特定の地域に限定されたデータ</td>
</tr>
<tr style="height: 74px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 74px;">S3 Glacier Instant Retrieval</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 74px;">&#8211; アクセスされることがほとんどなく、ミリ秒単位の取り出しが可能</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">標準よりやや安価</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">すぐにアクセスする必要のあるアーカイブデータ</td>
</tr>
<tr style="height: 103px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 103px;">S3 Glacier Flexble Retrieval（旧S3 Glacier）</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 103px;">&#8211; 低コストの長期保存向け<br />
&#8211; 取り出しに数時間かかる場合あり。</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 103px;">非常に安価だが、取り出し時の料金が高い</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 103px;">監査記録や法的なデータ保存</td>
</tr>
<tr style="height: 74px;">
<td style="border: 1px solid #dddddd; padding: 8px; width: 16.8074%; height: 74px;">S3 Glacier Deep Archive</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 33.1926%; height: 74px;">&#8211; 最も安価なストレージクラス<br />
&#8211; 取り出しに12時間以上かかることも。</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">最も低いストレージコスト</td>
<td style="border: 1px solid #dddddd; padding: 8px; width: 25%; height: 74px;">ほとんどアクセスされないデータの保存（数年単位のアーカイブ）</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>S3の暗号化方式</h2>
<h3><strong>サーバー側暗号化 (SSE: Server-Side Encryption)</strong></h3>
<p>Amazon S3がデータを保存する際に暗号化を実施</p>
<h4>SSE-S3 (Server-Side Encryption with Amazon S3-Managed Keys)</h4>
<table style="border-collapse: collapse; width: 100%; height: 135px;">
<tbody>
<tr style="height: 45px;">
<td style="width: 15.625%; height: 45px;">特徴</td>
<td style="width: 84.375%; height: 45px;">S3が自動的に管理するキーを使用して暗号化</td>
</tr>
<tr style="height: 45px;">
<td style="width: 15.625%; height: 45px;">管理</td>
<td style="width: 84.375%; height: 45px;">ユーザー側のキー管理は不要<br />
AWSでやってくれる</td>
</tr>
<tr style="height: 45px;">
<td style="width: 15.625%; height: 45px;">ユースケース</td>
<td style="width: 84.375%; height: 45px;">デフォルトで簡単な暗号化を利用したい場合</td>
</tr>
</tbody>
</table>
<h4>SSE-KMS (Server-Side Encryption with AWS Key Management Service)</h4>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 15.625%;">特徴</td>
<td style="width: 84.375%;">AWS KMSを使用して、ユーザーが管理するキーで暗号化</td>
</tr>
<tr>
<td style="width: 15.625%;">管理</td>
<td style="width: 84.375%;">ユーザーはAWS KMSのキー管理が必要。アクセス制御や監査ログが可能</td>
</tr>
<tr>
<td style="width: 15.625%;">ユースケース</td>
<td style="width: 84.375%;">高度なキー管理や監査が必要な場合</td>
</tr>
</tbody>
</table>
<ul></ul>
<h4>SSE-C (Server-Side Encryption with Customer-Provided Keys)</h4>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 15.625%;">特徴</td>
<td style="width: 84.375%;">ユーザーが提供したカスタムキーを使用して暗号化<br />
AWSはキーを保持しない</td>
</tr>
<tr>
<td style="width: 15.625%;">管理</td>
<td style="width: 84.375%;">ユーザーがキーを完全に管理する必要あり</td>
</tr>
<tr>
<td style="width: 15.625%;">ユースケース</td>
<td style="width: 84.375%;">ユーザーが完全にキーを管理したい場合</td>
</tr>
</tbody>
</table>
<h3><strong>クライアント側暗号化 (CSE: Client-Side Encryption)</strong></h3>
<p>クライアント（ユーザー）がデータをS3にアップロードする前に暗号化します。AWSは暗号化されたデータしか保存しません。</p>
<h4>クライアント側暗号化 (CSE) の種類:</h4>
<ul>
<li><strong>CSE-KMS</strong>: AWS KMSを使用してクライアントがデータを暗号化。</li>
<li><strong>CSE-C</strong>: ユーザーが独自に管理するキーを使用してクライアント側で暗号化。</li>
</ul>
<h3><strong>暗号化方式の選択ポイント</strong></h3>
<ul>
<li><strong>デフォルトの簡単な暗号化</strong>: SSE-S3</li>
<li><strong>監査ログやアクセス制御が必要</strong>: SSE-KMS</li>
<li><strong>カスタムキー管理が必要</strong>: SSE-C</li>
<li><strong>データをAWSに渡す前に暗号化したい</strong>: CSE-KMSまたはCSE-C</li>
</ul>
<h2>オブジェクトロック</h2>
<p>S3バケット内のオブジェクトを一定期間、または無期限に「変更不可能」にするための機能です。<br />
これにより、意図的または誤って削除・上書きされることを防ぎ、データの不変性（immutability）を保証します。</p>
<p>これは、金融・医療分野など、<strong>法的なデータ保持</strong>や<strong>監査要件</strong>のあるシステムに役立ちます。</p>
<ul></ul>
<h3><span>リテンションモード</span></h3>
<p>保存期間のあるロックモード。</p>
<ul>
<li><span>ガバナンスモード</span>
<ul>
<li>保存期間が到来すると自動解除</li>
<li><span>`s3:BypassGovernanceRetention` の権限を持っていれば削除可能</span></li>
</ul>
</li>
<li><span>コンプライアンスモード</span>
<ul>
<li>保存期間が到来すると自動解除</li>
<li><span>root ユーザーも含めて全てのユーザーが更新， 削除ができない</span></li>
</ul>
</li>
</ul>
<h3><span>リーガルホールド</span></h3>
<p>保存期間のないロックモード</p>
<ul>
<li>`<span>s3:PutObjectLegalHold</span>` の権限を持っていれば適用及び削除が可能</li>
</ul>
<h2><span>Transfer Acceleration</span></h2>
<p>AWSのネットワークを用いて高速にデータを転送する機能。<br />
（CloudFront経由のほうが早い説があったりする…？</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://otonan-syusyoku.work/archives/1958/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
