<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>ExRecord Blog Blog</title>
        <link>https://exrecord.net/</link>
        <description>ExRecord Blog Blog</description>
        <lastBuildDate>Sat, 18 Apr 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>ja</language>
        <item>
            <title><![CDATA[AWS Lambda とは？基本的な使い方や関数の作成を学ぼう]]></title>
            <link>https://exrecord.net/2026/04/18/how-to-aws-lambda</link>
            <guid>https://exrecord.net/2026/04/18/how-to-aws-lambda</guid>
            <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AWS Lambda の基本概念やサポートするランタイム、IAM ロールの設定から関数の作成・実行までの手順をわかりやすく解説します。]]></description>
            <content:encoded><![CDATA[<p>アプリケーション開発ではサーバーの管理や起動・停止の自動化など、コード以外の作業が増えがちです。AWS Lambda はサーバーのプロビジョニングや管理を気にしないで、コードの実行だけに集中できるサーバーレスコンピューティングサービスです。本記事では Lambda の基本概念から実際の関数作成・実行手順まで説明します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-lambda-とは">AWS Lambda とは<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#aws-lambda-%E3%81%A8%E3%81%AF" class="hash-link" aria-label="AWS Lambda とは への直接リンク" title="AWS Lambda とは への直接リンク" translate="no">​</a></h2>
<p>Lambda は AWS が提供するサーバーレスのコンピューティングサービスです。コードをアップロードするだけで実行環境が自動的に準備され、リクエストに応じてスケールします。サーバーの管理や容量のプロビジョニングを自分で行う必要はないです。</p>
<p>実行したいコードを「関数」という単位で管理し、HTTP リクエスト・S3 へのファイルアップロード・DynamoDB のストリームなど、さまざまなイベントをトリガーにして実行できます。料金はコードが実行されている時間にのみ発生するため、常時稼働のサーバーと比較してコストを抑えやすいです。</p>
<a href="https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">AWS Lambda とは - AWS Lambda</p><p class="link-card__description">Lambda は、サーバーをプロビジョニングまたは管理することなくアプリケーションを構築するために使用できるコンピューティングサービスです。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="主な特徴">主な特徴<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E4%B8%BB%E3%81%AA%E7%89%B9%E5%BE%B4" class="hash-link" aria-label="主な特徴 への直接リンク" title="主な特徴 への直接リンク" translate="no">​</a></h2>
<p>Lambda にはサーバーレスならではの特徴があります。それぞれの特徴を把握しておきましょう。</p>
<table><thead><tr><th>特徴</th><th>概要</th></tr></thead><tbody><tr><td>サーバー管理不要</td><td>OS のパッチ適用や容量の管理は AWS が行うため、コードの開発に集中できる</td></tr><tr><td>自動スケーリング</td><td>リクエスト数に応じて自動でスケールし、急なトラフィック増加にも対応する</td></tr><tr><td>従量課金</td><td>関数が実行された時間（1 ms 単位）とリクエスト数に応じた課金で、アイドル時間はコストが発生しない</td></tr><tr><td>イベント駆動</td><td>S3・API Gateway・DynamoDB など AWS の各サービスやカスタムイベントをトリガーにして実行できる</td></tr><tr><td>タイムアウト制限</td><td>最大実行時間は 15 分のため、長時間処理が必要なバッチ処理などには向かない場合がある</td></tr></tbody></table>
<p>コールドスタートと呼ばれる、初回実行時や一定時間アイドル後の起動遅延が発生することがある点も頭に入れておきましょう。プロビジョニング済み同時実行数とは、あらかじめ指定した数の実行環境を初期化した状態で待機させておく機能です。レスポンスタイムが重要な用途では、この機能を有効にすることでコールドスタートを回避できます。</p>
<a href="https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/provisioned-concurrency.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">関数に対するプロビジョニングされた同時実行数の設定 - AWS Lambda</p><p class="link-card__description">Lambda での 同時実行 は、関数が現在処理している未完了のリクエストの数です。利用できる同時実行コントロールには、次の 2 種類があります。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="サポートするランタイム">サポートするランタイム<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0" class="hash-link" aria-label="サポートするランタイム への直接リンク" title="サポートするランタイム への直接リンク" translate="no">​</a></h2>
<p>Lambda は多くのプログラミング言語のランタイムをサポートしています。サポート外の言語が必要な場合はカスタムランタイムを用意することもできます。</p>
<table><thead><tr><th>ランタイム</th><th>対応バージョン（例）</th></tr></thead><tbody><tr><td>Python</td><td>3.9 / 3.10 / 3.11 / 3.12 / 3.13</td></tr><tr><td>Node.js</td><td>18.x / 20.x / 22.x</td></tr><tr><td>Java</td><td>11 / 17 / 21</td></tr><tr><td>Go</td><td>1.x（provided.al2023）</td></tr><tr><td>Ruby</td><td>3.2 / 3.3</td></tr><tr><td>.NET</td><td>8</td></tr></tbody></table>
<p>各ランタイムには AWS が管理するマネージドランタイムと、カスタムランタイム（<code>provided.al2023</code>）の 2 種類があります。マネージドランタイムはセキュリティパッチの適用を AWS が行いますが、サポートが終了したランタイムは廃止されるため定期的なバージョンアップが必要になります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-runtimes.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Lambda ランタイム - AWS Lambda</p><p class="link-card__description">Lambda がランタイムでサポートする言語について説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-cli-で-lambda-を使ってみる">AWS CLI で Lambda を使ってみる<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#aws-cli-%E3%81%A7-lambda-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="AWS CLI で Lambda を使ってみる への直接リンク" title="AWS CLI で Lambda を使ってみる への直接リンク" translate="no">​</a></h2>
<p>AWS CLI を使って Python の Lambda 関数を作成し、実行するまでの流れを確認します。関数には実行に必要な権限を持つ IAM ロールが必要なため、まずロールを作成してから関数を作成する手順になります。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="iam-ロールの作成">IAM ロールの作成<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#iam-%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="IAM ロールの作成 への直接リンク" title="IAM ロールの作成 への直接リンク" translate="no">​</a></h3>
<p>Lambda 関数が実行時に使用する IAM ロールを作成します。まず、Lambda がロールを引き受けられるようにするための信頼ポリシーファイルを作成します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&lt;&lt;</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EOF'</span><span class="token string bash punctuation" style="color:rgb(248, 248, 242)"> </span><span class="token string bash punctuation operator" style="color:rgb(248, 248, 242)">&gt;</span><span class="token string bash punctuation" style="color:rgb(248, 248, 242)"> trust-policy.json</span><span class="token string" style="color:rgb(255, 121, 198)"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    "Version": "2012-10-17",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    "Statement": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">        {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">            "Effect": "Allow",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">            "Principal": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">                "Service": "lambda.amazonaws.com"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">            },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">            "Action": "sts:AssumeRole"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">        }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span></code></pre></div></div>
<p>作成したファイルを使って IAM ロールを作成します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam create-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-lambda-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --assume-role-policy-document file://trust-policy.json</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Role"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Path"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"/"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"RoleName"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-lambda-role"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"RoleId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"AROA0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Arn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:iam::123456789012:role/exrecord-lambda-role"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"CreateDate"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-18T04:00:35+00:00"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"AssumeRolePolicyDocument"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"Version"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2012-10-17"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"Statement"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Effect"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Allow"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Principal"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token string" style="color:rgb(255, 121, 198)">"Service"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"lambda.amazonaws.com"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Action"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sts:AssumeRole"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>次に、CloudWatch Logs へのロググループ・ストリームの作成とログ書き込みを許可するマネージドポリシーをアタッチします。<code>AWSLambdaBasicExecutionRole</code> は CloudWatch Logs への書き込みのみを許可するポリシーで、Lambda からログを記録するために必要です。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam attach-role-policy </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-lambda-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="関数コードの準備">関数コードの準備<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E9%96%A2%E6%95%B0%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%BA%96%E5%82%99" class="hash-link" aria-label="関数コードの準備 への直接リンク" title="関数コードの準備 への直接リンク" translate="no">​</a></h3>
<p>シンプルな Python 関数を作成し、zip ファイルにまとめます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&lt;&lt;</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EOF'</span><span class="token string bash punctuation" style="color:rgb(248, 248, 242)"> </span><span class="token string bash punctuation operator" style="color:rgb(248, 248, 242)">&gt;</span><span class="token string bash punctuation" style="color:rgb(248, 248, 242)"> lambda_function.py</span><span class="token string" style="color:rgb(255, 121, 198)"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">def lambda_handler(event, context):</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    print("Hello from Lambda!")</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    return {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">        "statusCode": 200,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">        "body": "Hello, World!"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span></code></pre></div></div>
<p>作成したファイルを zip に圧縮します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">zip</span><span class="token plain"> function.zip lambda_function.py</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  adding: lambda_function.py </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">deflated </span><span class="token number">21</span><span class="token plain">%</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="関数の作成">関数の作成<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E9%96%A2%E6%95%B0%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="関数の作成 への直接リンク" title="関数の作成 への直接リンク" translate="no">​</a></h3>
<p>IAM ロールの ARN と zip ファイルを指定して Lambda 関数を作成します。<code>--handler</code> には <code>ファイル名.関数名</code> の形式でエントリーポイントを指定します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws lambda create-function </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --function-name exrecord-hello </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--runtime</span><span class="token plain"> python3.12 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--role</span><span class="token plain"> arn:aws:iam::123456789012:role/exrecord-lambda-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--handler</span><span class="token plain"> lambda_function.lambda_handler </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --zip-file fileb://function.zip</span><br></span></code></pre></div></div>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>実行結果</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"FunctionName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-hello"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"FunctionArn"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:lambda:ap-northeast-1:123456789012:function:exrecord-hello"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Runtime"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"python3.12"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Role"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:iam::123456789012:role/exrecord-lambda-role"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Handler"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"lambda_function.lambda_handler"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"CodeSize"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">302</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Description"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">""</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Timeout"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">3</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"MemorySize"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">128</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"LastModified"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-18T04:01:54.411+0000"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"CodeSha256"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Version"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"$LATEST"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"TracingConfig"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"Mode"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"PassThrough"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"RevisionId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0a1b2c3d-4e5f-6789-0abc-def123456789"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"State"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Pending"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"StateReason"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"The function is being created."</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"StateReasonCode"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Creating"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"PackageType"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Zip"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"Architectures"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"x86_64"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"EphemeralStorage"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"Size"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">512</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"SnapStart"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"ApplyOn"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"None"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"OptimizationStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Off"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"RuntimeVersionConfig"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"RuntimeVersionArn"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:lambda:ap-northeast-1::runtime:0a1b2c3d4e5f67890"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"LoggingConfig"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"LogFormat"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Text"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"LogGroup"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"/aws/lambda/exrecord-hello"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div></div></div></details>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="関数の実行">関数の実行<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E9%96%A2%E6%95%B0%E3%81%AE%E5%AE%9F%E8%A1%8C" class="hash-link" aria-label="関数の実行 への直接リンク" title="関数の実行 への直接リンク" translate="no">​</a></h3>
<p>作成した関数を AWS CLI から実行します。実行結果は指定したファイルに書き込まれます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws lambda invoke </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --function-name exrecord-hello </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--payload</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'{}'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    response.json</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"StatusCode"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">200</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"ExecutedVersion"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"</span><span class="token string variable" style="color:rgb(189, 147, 249);font-style:italic">$LATEST</span><span class="token string" style="color:rgb(255, 121, 198)">"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>レスポンスの中身を確認します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> response.json</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token string" style="color:rgb(255, 121, 198)">"statusCode"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">200</span><span class="token plain">, </span><span class="token string" style="color:rgb(255, 121, 198)">"body"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Hello, World!"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>関数が正常に実行され、定義したレスポンスが返ってきています。ログは CloudWatch Logs の <code>/aws/lambda/exrecord-hello</code> グループに記録されます。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="関数の削除">関数の削除<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E9%96%A2%E6%95%B0%E3%81%AE%E5%89%8A%E9%99%A4" class="hash-link" aria-label="関数の削除 への直接リンク" title="関数の削除 への直接リンク" translate="no">​</a></h3>
<p>不要になった関数とロールは削除しましょう。関数を先に削除してから、IAM ロールのポリシーをデタッチしてロールを削除する順番で進めます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws lambda delete-function </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --function-name exrecord-hello</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"StatusCode"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">204</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>IAM ロールを削除する前に、アタッチしたポリシーをデタッチします。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam detach-role-policy </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-lambda-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole</span><br></span></code></pre></div></div>
<p>ポリシーをデタッチしてからロールを削除します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam delete-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-lambda-role</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://exrecord.net/2026/04/18/how-to-aws-lambda#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>AWS Lambda の基本概念と AWS CLI を使った関数の作成・実行手順について説明しました。</p>
<ul>
<li class="">Lambda はサーバーのプロビジョニングや管理が不要なサーバーレスコンピューティングサービス</li>
<li class="">イベント駆動で動作し、リクエスト数に応じて自動的にスケールする</li>
<li class="">料金はコードの実行時間とリクエスト数に基づく従量課金で、アイドル時間のコストは発生しない</li>
<li class="">Python・Node.js・Java など多くのランタイムをサポートしており、カスタムランタイムも利用できる</li>
<li class="">関数の実行には信頼ポリシーを設定した IAM ロールが必要で、CloudWatch Logs にログを記録するには <code>AWSLambdaBasicExecutionRole</code> をアタッチする</li>
</ul>]]></content:encoded>
            <category>AWS</category>
            <category>Lambda</category>
        </item>
        <item>
            <title><![CDATA[Amazon RDS とは？基本的な使い方やインスタンス作成を学ぼう]]></title>
            <link>https://exrecord.net/2026/04/15/how-to-amazon-rds</link>
            <guid>https://exrecord.net/2026/04/15/how-to-amazon-rds</guid>
            <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Amazon RDS の基本概念やサポートするデータベースエンジン、インスタンスの作成から接続までの手順をわかりやすく解説します。]]></description>
            <content:encoded><![CDATA[<p>アプリケーション開発においてデータベースは欠かせない存在ですが、サーバーのセットアップや OS のパッチ適用、バックアップの管理など、運用面の負担は小さくないです。Amazon RDS（Relational Database Service）はそうした管理作業の多くを AWS が代わりに担ってくれるマネージド型のリレーショナルデータベースサービスです。本記事では RDS の基本概念から実際のインスタンス作成・接続手順まで説明します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="amazon-rds-とは">Amazon RDS とは<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#amazon-rds-%E3%81%A8%E3%81%AF" class="hash-link" aria-label="Amazon RDS とは への直接リンク" title="Amazon RDS とは への直接リンク" translate="no">​</a></h2>
<p>RDS は AWS が提供するフルマネージドのリレーショナルデータベースサービスです。データベースエンジンのインストールや OS のパッチ適用、自動バックアップ、フェイルオーバーといった運用タスクを AWS が管理してくれるため、開発者はアプリケーションの構築に集中できます。</p>
<p>EC2 上にデータベースを自前でセットアップする方法と比較すると、日々の運用コストを大幅に削減できる点が大きなメリットです。一方で OS レベルへのアクセスや細かいエンジン設定のカスタマイズには制限があるため、そういった要件がある場合は EC2 上での自己管理型データベースが選択肢になります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Welcome.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon Relational Database Service (Amazon RDS) とは - Amazon Relational Database Service</p><p class="link-card__description">Amazon RDS ウェブサービスを使用して、AWS クラウドで簡単にリレーショナルデータベースを設定、運用、およびスケーリングします。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="サポートするデータベースエンジン">サポートするデータベースエンジン<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3" class="hash-link" aria-label="サポートするデータベースエンジン への直接リンク" title="サポートするデータベースエンジン への直接リンク" translate="no">​</a></h2>
<p>RDS は複数のデータベースエンジンをサポートしており、既存のシステムで使用しているエンジンをそのまま移行しやすくなっています。</p>
<table><thead><tr><th>エンジン</th><th>概要</th></tr></thead><tbody><tr><td>MySQL</td><td>最も広く普及したオープンソースのリレーショナルデータベース</td></tr><tr><td>PostgreSQL</td><td>高機能・高拡張性で、JSON サポートや豊富な型を持つオープンソース DB</td></tr><tr><td>MariaDB</td><td>MySQL から派生したオープンソース DB。MySQL と高い互換性を持つ</td></tr><tr><td>Oracle</td><td>エンタープライズ向けの商用データベース</td></tr><tr><td>Microsoft SQL Server</td><td>Windows 環境や .NET アプリとの親和性が高い Microsoft 製 DB</td></tr><tr><td>Amazon Aurora</td><td>AWS が独自開発したエンジン。MySQL・PostgreSQL 互換で高い性能と可用性を持つ</td></tr></tbody></table>
<p>中でも Amazon Aurora は RDS 専用に設計されており、同等の MySQL・PostgreSQL と比較してより高いスループットと可用性を実現しています。パフォーマンスや信頼性を重視する場合は Aurora を検討する価値があります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon Aurora とは - Amazon Aurora</p><p class="link-card__description">Aurora の概念について説明し、Aurora の初期計画を行います。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="主要な機能">主要な機能<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E4%B8%BB%E8%A6%81%E3%81%AA%E6%A9%9F%E8%83%BD" class="hash-link" aria-label="主要な機能 への直接リンク" title="主要な機能 への直接リンク" translate="no">​</a></h2>
<p>RDS にはデータベースの可用性・安全性・パフォーマンスを高めるための機能が複数備わっています。用途やコストに合わせて適切な機能を選択しましょう。</p>
<table><thead><tr><th>機能</th><th>概要</th><th>主な効果</th></tr></thead><tbody><tr><td>自動バックアップ・スナップショット</td><td>デフォルトで有効。最大 35 日のポイントインタイムリカバリが可能。手動スナップショットは明示的に削除するまで保持される</td><td>障害発生時に任意の時点へ復元できる</td></tr><tr><td>マルチ AZ 配置</td><td>別 AZ にスタンバイレプリカを自動作成し、障害時に 1〜2 分で自動フェイルオーバー。エンドポイントの変更は不要</td><td>単一障害点を排除し、高可用性を確保できる</td></tr><tr><td>リードレプリカ</td><td>読み取りクエリを別インスタンスに分散。クロスリージョン対応。スタンドアロン DB への昇格も可能</td><td>読み取り負荷の高いワークロードのパフォーマンスを改善できる</td></tr></tbody></table>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">バックアップの概要 - Amazon Relational Database Service</p><p class="link-card__description">自動バックアップと手動バックアップに関する概念。DB インスタンスとマルチ AZ DB クラスターの自動バックアップを有効化および無効化し、バックアップ保持期間を変更して、デフォルトの Amazon ...</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon RDS でのマルチ AZ 配置の設定と管理 - Amazon Relational Database Service</p><p class="link-card__description">マルチ AZ 配置を使用して、Amazon RDS で DB インスタンスの高可用性およびフェイルオーバーサポートを取得します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ReadRepl.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">DB インスタンスのリードレプリカの操作 - Amazon Relational Database Service</p><p class="link-card__description">ソース Amazon RDS DB インスタンスからリードレプリカを作成して、読み取り操作をスケールアウトします。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-cli-で-rds-を使ってみる">AWS CLI で RDS を使ってみる<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#aws-cli-%E3%81%A7-rds-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="AWS CLI で RDS を使ってみる への直接リンク" title="AWS CLI で RDS を使ってみる への直接リンク" translate="no">​</a></h2>
<p>AWS CLI を使って MySQL エンジンの RDS インスタンスを作成し、接続するまでの流れを確認します。サブネットグループとセキュリティグループを用意してからインスタンスを作成するのが基本的な手順です。事前に VPC・サブネットが作成済みであることを前提としています。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="サブネットグループの作成">サブネットグループの作成<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="サブネットグループの作成 への直接リンク" title="サブネットグループの作成 への直接リンク" translate="no">​</a></h3>
<p>RDS インスタンスは VPC 内に配置するため、まずデータベース用のサブネットグループを作成します。サブネットグループには 2 つ以上の AZ のサブネットを含める必要があります。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws rds create-db-subnet-group </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-subnet-group-name exrecord-rds-subnet-group </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-subnet-group-description </span><span class="token string" style="color:rgb(255, 121, 198)">"Subnet group for exrecord RDS"</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --subnet-ids subnet-0a1b2c3d4e5f67890 subnet-0a1b2c3d4e5f67891</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"DBSubnetGroup"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"DBSubnetGroupName"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-rds-subnet-group"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"DBSubnetGroupDescription"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Subnet group for exrecord RDS"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"VpcId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"vpc-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetGroupStatus"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Complete"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Subnets"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetIdentifier"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67891"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetAvailabilityZone"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Name"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1c"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetOutpost"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetStatus"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetIdentifier"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetAvailabilityZone"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Name"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1a"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetOutpost"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"SubnetStatus"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"DBSubnetGroupArn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:rds:ap-northeast-1:123456789012:subgrp:exrecord-rds-subnet-group"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"SupportedNetworkTypes"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"IPV4"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="セキュリティグループの作成">セキュリティグループの作成<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="セキュリティグループの作成 への直接リンク" title="セキュリティグループの作成 への直接リンク" translate="no">​</a></h3>
<p>RDS インスタンスへの接続を制御するセキュリティグループを作成します。ここでは MySQL のデフォルトポート 3306 への接続を許可します。実際の運用では、接続元を特定の IP アドレスや EC2 インスタンスのセキュリティグループに限定しましょう。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 create-security-group </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --group-name exrecord-rds-sg </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--description</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Security group for exrecord RDS"</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --vpc-id vpc-0a1b2c3d4e5f67890</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupArn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:ec2:ap-northeast-1:123456789012:security-group/sg-0a1b2c3d4e5f67890"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>作成したセキュリティグループに MySQL (3306) のインバウンドルールを追加します。ここでは AWS のデフォルト VPC の CIDR（<code>172.31.0.0/16</code>）を指定しています。カスタム VPC を使用している場合はご自身の VPC の CIDR に合わせて変更しましょう。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 authorize-security-group-ingress </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --group-id sg-0a1b2c3d4e5f67890 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--protocol</span><span class="token plain"> tcp </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--port</span><span class="token plain"> </span><span class="token number">3306</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--cidr</span><span class="token plain"> </span><span class="token number">172.31</span><span class="token plain">.0.0/16</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Return"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRules"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRuleId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sgr-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupOwnerId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"123456789012"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"IsEgress"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> false,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"IpProtocol"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"tcp"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"FromPort"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">3306</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"ToPort"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">3306</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"CidrIpv4"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"172.31.0.0/16"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRuleArn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:ec2:ap-northeast-1:123456789012:security-group-rule/sgr-0a1b2c3d4e5f67890"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rds-インスタンスの作成">RDS インスタンスの作成<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#rds-%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="RDS インスタンスの作成 への直接リンク" title="RDS インスタンスの作成 への直接リンク" translate="no">​</a></h3>
<p>サブネットグループとセキュリティグループが準備できたら、RDS インスタンスを作成します。<code>--no-publicly-accessible</code> を指定することで VPC 外からの直接接続を制限し、セキュアな構成にします。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws rds create-db-instance </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-instance-identifier exrecord-mysql </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-instance-class db.t3.micro </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--engine</span><span class="token plain"> mysql </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --engine-version </span><span class="token number">8.0</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --master-username admin </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --master-user-password MyPassword123</span><span class="token operator">!</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --allocated-storage </span><span class="token number">20</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-subnet-group-name exrecord-rds-subnet-group </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --vpc-security-group-ids sg-0a1b2c3d4e5f67890 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --no-publicly-accessible </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --backup-retention-period </span><span class="token number">7</span><br></span></code></pre></div></div>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>実行結果</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"DBInstance"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceClass"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"db.t3.micro"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"Engine"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"creating"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MasterUsername"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"admin"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AllocatedStorage"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PreferredBackupWindow"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"14:39-15:09"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"BackupRetentionPeriod"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBSecurityGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"VpcSecurityGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"VpcSecurityGroupId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"Status"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBParameterGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"DBParameterGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default.mysql8.0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"ParameterApplyStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"in-sync"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBSubnetGroup"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"DBSubnetGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-rds-subnet-group"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"DBSubnetGroupDescription"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Subnet group for exrecord RDS"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"VpcId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"vpc-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"SubnetGroupStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Complete"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"Subnets"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67891"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetAvailabilityZone"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token property">"Name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1c"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetOutpost"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetAvailabilityZone"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token property">"Name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1a"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetOutpost"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PreferredMaintenanceWindow"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sat:17:16-sat:17:46"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"UpgradeRolloutOrder"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"second"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PendingModifiedValues"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"MasterUserPassword"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"****"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MultiAZ"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"EngineVersion"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"8.0.45"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AutoMinorVersionUpgrade"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"ReadReplicaDBInstanceIdentifiers"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"LicenseModel"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"general-public-license"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageThroughput"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"OptionGroupMemberships"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"OptionGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default:mysql-8-0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"Status"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"in-sync"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PubliclyAccessible"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageType"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"gp2"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DbInstancePort"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageEncrypted"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DbiResourceId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"db-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CACertificateIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"rds-ca-rsa2048-g1"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DomainMemberships"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CopyTagsToSnapshot"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MonitoringInterval"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceArn"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:rds:ap-northeast-1:123456789012:db:exrecord-mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"IAMDatabaseAuthenticationEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DatabaseInsightsMode"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"standard"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PerformanceInsightsEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DeletionProtection"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AssociatedRoles"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"TagList"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CustomerOwnedIpEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"NetworkType"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"IPV4"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"BackupTarget"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"region"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CertificateDetails"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"CAIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"rds-ca-rsa2048-g1"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DedicatedLogVolume"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"EngineLifecycleSupport"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"open-source-rds-extended-support"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div></div></div></details>
<p>インスタンスの作成には数分かかります。以下のコマンドでステータスが <code>available</code> になるまで待ちます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws rds describe-db-instances </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-instance-identifier exrecord-mysql </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"DBInstances[0].DBInstanceStatus"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token string" style="color:rgb(255, 121, 198)">"available"</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="エンドポイントの確認">エンドポイントの確認<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%AE%E7%A2%BA%E8%AA%8D" class="hash-link" aria-label="エンドポイントの確認 への直接リンク" title="エンドポイントの確認 への直接リンク" translate="no">​</a></h3>
<p>インスタンスが <code>available</code> になったら、接続に使用するエンドポイントを確認します。エンドポイントはインスタンス作成時に自動で割り当てられる DNS 名で、アプリケーションや MySQL クライアントからの接続先として使用します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws rds describe-db-instances </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-instance-identifier exrecord-mysql </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"DBInstances[0].Endpoint"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Address"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-mysql.c0a1b2c3d4e5.ap-northeast-1.rds.amazonaws.com"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Port"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">3306</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"HostedZoneId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Z24O6O9L7SGTNB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="mysql-クライアントからの接続">MySQL クライアントからの接続<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#mysql-%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%81%AE%E6%8E%A5%E7%B6%9A" class="hash-link" aria-label="MySQL クライアントからの接続 への直接リンク" title="MySQL クライアントからの接続 への直接リンク" translate="no">​</a></h3>
<p>同一 VPC 内の EC2 インスタンスや踏み台サーバーから、取得したエンドポイントを使って接続できます。RDS インスタンスをパブリックアクセス不可に設定しているため、インターネット経由での直接接続はできないです。接続元のサーバーに <code>mysql</code> クライアントがインストールされている必要があります。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">ec2-user@ip-172-31-x-x ~</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain">$ mysql </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-h</span><span class="token plain"> exrecord-mysql.c0a1b2c3d4e5.ap-northeast-1.rds.amazonaws.com </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-u</span><span class="token plain"> admin </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-p</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Enter password:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Welcome to the MariaDB monitor.  Commands end with </span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"> or </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain">g.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Your MySQL connection </span><span class="token function" style="color:rgb(80, 250, 123)">id</span><span class="token plain"> is </span><span class="token number">39</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Server version: </span><span class="token number">8.0</span><span class="token plain">.45 Source distribution</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Copyright </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">c</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token number">2000</span><span class="token plain">, </span><span class="token number">2018</span><span class="token plain">, Oracle, MariaDB Corporation Ab and others.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Type </span><span class="token string" style="color:rgb(255, 121, 198)">'help;'</span><span class="token plain"> or </span><span class="token string" style="color:rgb(255, 121, 198)">'\h'</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">for</span><span class="token plain"> help. Type </span><span class="token string" style="color:rgb(255, 121, 198)">'\c'</span><span class="token plain"> to </span><span class="token function" style="color:rgb(80, 250, 123)">clear</span><span class="token plain"> the current input statement.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">MySQL </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">none</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token operator">&gt;</span><br></span></code></pre></div></div>
<p>接続が確認できたら、通常の MySQL コマンドでデータベースの操作が行えます。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="インスタンスの削除">インスタンスの削除<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4" class="hash-link" aria-label="インスタンスの削除 への直接リンク" title="インスタンスの削除 への直接リンク" translate="no">​</a></h3>
<p>不要になったインスタンスは削除しましょう。<code>--skip-final-snapshot</code> を指定すると最終スナップショットを作成せずに削除できますが、本番環境では省略してスナップショットを残しておくことをお勧めします。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws rds delete-db-instance </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --db-instance-identifier exrecord-mysql </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --skip-final-snapshot</span><br></span></code></pre></div></div>
<details class="details_lb9f alert alert--info details_b_Ee" data-collapsed="true"><summary>実行結果</summary><div><div class="collapsibleContent_i85q"><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"DBInstance"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceClass"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"db.t3.micro"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"Engine"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"deleting"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MasterUsername"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"admin"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"Endpoint"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"Address"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-mysql.c0a1b2c3d4e5.ap-northeast-1.rds.amazonaws.com"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"Port"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">3306</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"HostedZoneId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Z24O6O9L7SGTNB"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AllocatedStorage"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">20</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"InstanceCreateTime"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-17T19:41:16.201000+00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PreferredBackupWindow"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"14:39-15:09"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"BackupRetentionPeriod"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">7</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBSecurityGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"VpcSecurityGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"VpcSecurityGroupId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"Status"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBParameterGroups"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"DBParameterGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default.mysql8.0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"ParameterApplyStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"in-sync"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AvailabilityZone"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1c"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBSubnetGroup"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"DBSubnetGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-rds-subnet-group"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"DBSubnetGroupDescription"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Subnet group for exrecord RDS"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"VpcId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"vpc-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"SubnetGroupStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Complete"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token property">"Subnets"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67891"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetAvailabilityZone"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token property">"Name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1c"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetOutpost"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"subnet-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetAvailabilityZone"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token property">"Name"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ap-northeast-1a"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetOutpost"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token property">"SubnetStatus"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Active"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PreferredMaintenanceWindow"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sat:17:16-sat:17:46"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"UpgradeRolloutOrder"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"second"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PendingModifiedValues"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"LatestRestorableTime"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-17T20:04:38+00:00"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MultiAZ"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"EngineVersion"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"8.0.45"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AutoMinorVersionUpgrade"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"ReadReplicaDBInstanceIdentifiers"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"LicenseModel"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"general-public-license"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageThroughput"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"OptionGroupMemberships"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"OptionGroupName"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"default:mysql-8-0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token property">"Status"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"in-sync"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PubliclyAccessible"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageType"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"gp2"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DbInstancePort"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"StorageEncrypted"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DbiResourceId"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"db-0a1b2c3d4e5f67890"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CACertificateIdentifier"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">""</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DomainMemberships"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CopyTagsToSnapshot"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"MonitoringInterval"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token number">0</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DBInstanceArn"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:rds:ap-northeast-1:123456789012:db:exrecord-mysql"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"IAMDatabaseAuthenticationEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DatabaseInsightsMode"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"standard"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"PerformanceInsightsEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DeletionProtection"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"AssociatedRoles"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"TagList"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"CustomerOwnedIpEnabled"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"NetworkType"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"IPV4"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"BackupTarget"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"region"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"DedicatedLogVolume"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token boolean">false</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token property">"EngineLifecycleSupport"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"open-source-rds-extended-support"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div></div></div></details>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://exrecord.net/2026/04/15/how-to-amazon-rds#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>Amazon RDS の基本概念と AWS CLI を使ったインスタンスの作成・接続手順について説明しました。</p>
<ul>
<li class="">RDS は OS のパッチ適用やバックアップなどの運用管理を AWS が担うマネージドデータベースサービス</li>
<li class="">MySQL・PostgreSQL・Aurora など複数のエンジンをサポートしており、既存システムを移行しやすい</li>
<li class="">マルチ AZ で可用性を高め、リードレプリカで読み取り性能をスケールできる</li>
<li class="">インスタンスは VPC 内に配置し、セキュリティグループで接続元を制限することでセキュアな構成を保てる</li>
<li class="">自動バックアップとスナップショットを活用することで、障害時の復旧にも対応できる</li>
</ul>]]></content:encoded>
            <category>AWS</category>
            <category>RDS</category>
        </item>
        <item>
            <title><![CDATA[AWS IAM とは？基本的な使い方やポリシーを学ぼう]]></title>
            <link>https://exrecord.net/2026/04/14/how-to-aws-iam</link>
            <guid>https://exrecord.net/2026/04/14/how-to-aws-iam</guid>
            <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AWS IAM の基本概念であるユーザー・グループ・ロール・ポリシーの仕組みと、安全な権限管理のベストプラクティスを解説します。]]></description>
            <content:encoded><![CDATA[<p>AWS を安全に運用するためには、アクセス権限の管理が欠かせません。AWS IAM（Identity and Access Management）は、誰が何にアクセスできるかを細かく制御できるサービスです。本記事では IAM の基本概念から実際の使い方まで説明します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-iam-とは">AWS IAM とは<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#aws-iam-%E3%81%A8%E3%81%AF" class="hash-link" aria-label="AWS IAM とは への直接リンク" title="AWS IAM とは への直接リンク" translate="no">​</a></h2>
<p>IAM は AWS リソースへのアクセスを安全に管理するためのサービスです。IAM を使うことで、AWS アカウント内のユーザーやサービスに対して「何ができるか」を細かく設定できます。</p>
<p>たとえば「このユーザーは S3 の読み取りだけ許可する」「この EC2 インスタンスは特定の S3 バケットにのみ書き込める」といった制御が可能です。IAM は AWS セキュリティの根幹をなすサービスであり、適切に設定することで意図しないアクセスや情報漏洩のリスクを大幅に減らすことができます。</p>
<a href="https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">IAM とは - AWS Identity and Access Management</p><p class="link-card__description">AWS Identity and Access Management (IAM) およびその機能と基本概念について説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="iam-の主要コンポーネント">IAM の主要コンポーネント<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#iam-%E3%81%AE%E4%B8%BB%E8%A6%81%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88" class="hash-link" aria-label="IAM の主要コンポーネント への直接リンク" title="IAM の主要コンポーネント への直接リンク" translate="no">​</a></h2>
<p>IAM には 4 つの主要なコンポーネントがあります。それぞれが「誰が」「何を」「どのように」アクセスできるかを決める役割を担っています。</p>
<table><thead><tr><th>コンポーネント</th><th>説明</th><th>主な用途</th></tr></thead><tbody><tr><td>ユーザー (User)</td><td>AWS にサインインするための個人向けのアイデンティティ。パスワードやアクセスキーで認証する</td><td>マネジメントコンソールへのログイン、CLI からのアクセス</td></tr><tr><td>グループ (Group)</td><td>複数の IAM ユーザーをまとめたコレクション。グループへのポリシー付与でメンバー全員の権限を一括管理できる</td><td>「開発者」「運用チーム」など役割単位での権限管理</td></tr><tr><td>ロール (Role)</td><td>パスワードやアクセスキーを持たず、一時的な認証情報を発行するアイデンティティ。AWS サービスや外部 ID が引き受ける</td><td>EC2・Lambda などの AWS サービスへの権限付与</td></tr><tr><td>ポリシー (Policy)</td><td>権限を定義した JSON ドキュメント。ユーザー・グループ・ロールにアタッチして使用する</td><td>特定サービスへの読み取り専用アクセス、全サービスの管理者権限など</td></tr></tbody></table>
<p>人間が操作する場合は IAM ユーザーを作成し、アプリケーションや AWS サービスには IAM ロールを使用することが推奨されています。ロールはアクセスキーを持たないため、キーの漏洩リスクがなく、より安全です。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="セキュリティのベストプラクティス">セキュリティのベストプラクティス<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9" class="hash-link" aria-label="セキュリティのベストプラクティス への直接リンク" title="セキュリティのベストプラクティス への直接リンク" translate="no">​</a></h2>
<p>IAM を安全に運用するために押さえておくべきポイントをまとめます。権限の設計ミスは情報漏洩や意図しないリソース操作につながるため、最初から正しい方針で設定することが重要です。</p>
<a href="https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">IAM でのセキュリティのベストプラクティス - AWS Identity and Access Management</p><p class="link-card__description">AWS Identity and Access Management (IAM) を使用する際のベストプラクティスに従って、AWS アカウントとリソース保護します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<table><thead><tr><th>プラクティス</th><th>内容</th><th>理由</th></tr></thead><tbody><tr><td>ルートユーザーを使わない</td><td>日常作業には IAM ユーザーを使用し、ルートユーザーはアカウント設定など特別な操作のみに限定する</td><td>ルートユーザーはすべての権限を持つため、漏洩時の影響が最大になる</td></tr><tr><td>最小権限の原則</td><td><code>"Action": "*"</code> のような広すぎる権限を避け、実際に必要なアクションのみを付与する</td><td>不要な権限は誤操作や攻撃の攻撃面を広げる</td></tr><tr><td>MFA を有効化する</td><td>マネジメントコンソールへのログインに多要素認証を設定する。管理者権限を持つユーザーには必須</td><td>パスワードが漏洩しても不正ログインを防げる</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-cli-で-iam-を使ってみる">AWS CLI で IAM を使ってみる<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#aws-cli-%E3%81%A7-iam-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="AWS CLI で IAM を使ってみる への直接リンク" title="AWS CLI で IAM を使ってみる への直接リンク" translate="no">​</a></h2>
<p>IAM ロールを作成し、IAM ユーザーが <code>sts assume-role</code> でそのロールを引き受けることで「許可された操作」と「拒否される操作」の違いを確認します。なお、<code>sts assume-role</code> の呼び出し自体は IAM ユーザーのアクセスキーによる認証が前提となります。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="iam-ロールの作成とポリシーのアタッチ">IAM ロールの作成とポリシーのアタッチ<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#iam-%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC%E3%81%AE%E3%82%A2%E3%82%BF%E3%83%83%E3%83%81" class="hash-link" aria-label="IAM ロールの作成とポリシーのアタッチ への直接リンク" title="IAM ロールの作成とポリシーのアタッチ への直接リンク" translate="no">​</a></h3>
<p>IAM ロールには「誰がこのロールを使えるか」を定義するファイルが必要です。<code>Principal</code> の <code>AWS</code> にはご自身の AWS アカウント ID を指定します。今回は同じ AWS アカウント内のユーザーであれば誰でもこのロールを引き受けられるように設定します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">cat</span><span class="token plain"> </span><span class="token operator">&gt;</span><span class="token plain"> trust-policy.json </span><span class="token operator">&lt;&lt;</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'EOF'</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">{</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">  "Version": "2012-10-17",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">  "Statement": [</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">      "Effect": "Allow",</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">      "Principal": {</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">        "AWS": "arn:aws:iam::123456789012:root"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">      },</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">      "Action": "sts:AssumeRole"</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">    }</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">  ]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">}</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token string" style="color:rgb(255, 121, 198)">EOF</span><br></span></code></pre></div></div>
<p>この設定ファイルを指定してロールを作成します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam create-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-s3-readonly-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --assume-role-policy-document file://trust-policy.json</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Role"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Path"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"/"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"RoleName"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-s3-readonly-role"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"RoleId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"AROA0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Arn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:iam::123456789012:role/exrecord-s3-readonly-role"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"CreateDate"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-15T09:47:12+00:00"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"AssumeRolePolicyDocument"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"Version"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2012-10-17"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"Statement"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Effect"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Allow"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Principal"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                        </span><span class="token string" style="color:rgb(255, 121, 198)">"AWS"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:iam::123456789012:root"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                    </span><span class="token string" style="color:rgb(255, 121, 198)">"Action"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sts:AssumeRole"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>作成したロールに、S3 の読み取りのみ許可する AWS 管理ポリシー <code>AmazonS3ReadOnlyAccess</code> をアタッチします。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws iam attach-role-policy </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-name exrecord-s3-readonly-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ロールの引き受けと一時認証情報の取得">ロールの引き受けと一時認証情報の取得<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E5%BC%95%E3%81%8D%E5%8F%97%E3%81%91%E3%81%A8%E4%B8%80%E6%99%82%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%81%AE%E5%8F%96%E5%BE%97" class="hash-link" aria-label="ロールの引き受けと一時認証情報の取得 への直接リンク" title="ロールの引き受けと一時認証情報の取得 への直接リンク" translate="no">​</a></h3>
<p><code>sts assume-role</code> でロールを引き受け、発行された一時認証情報を環境変数に設定します。この一時認証情報はデフォルトで 1 時間で失効します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws sts assume-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-arn arn:aws:iam::123456789012:role/exrecord-s3-readonly-role </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --role-session-name test-session</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Credentials"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"AccessKeyId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ASIA0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"SecretAccessKey"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"SessionToken"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"AQoDYXdzEJr..."</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Expiration"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-15T10:48:56+00:00"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"AssumedRoleUser"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"AssumedRoleId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"AROA0a1b2c3d4e5f67890:test-session"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"Arn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:sts::123456789012:assumed-role/exrecord-s3-readonly-role/test-session"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<p>レスポンスの <code>Credentials</code> に含まれる値を環境変数に設定します。これ以降の CLI 操作はこの一時認証情報、つまりロールの権限で実行されます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">AWS_ACCESS_KEY_ID</span><span class="token operator">=</span><span class="token plain">ASIA0a1b2c3d4e5f67890</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">AWS_SECRET_ACCESS_KEY</span><span class="token operator">=</span><span class="token plain">0a1b2c3d4e5f67890</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">export</span><span class="token plain"> </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">AWS_SESSION_TOKEN</span><span class="token operator">=</span><span class="token plain">AQoDYXdzEJr</span><span class="token punctuation" style="color:rgb(248, 248, 242)">..</span><span class="token plain">.</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="許可された操作s3-の読み取り">許可された操作（S3 の読み取り）<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E8%A8%B1%E5%8F%AF%E3%81%95%E3%82%8C%E3%81%9F%E6%93%8D%E4%BD%9Cs3-%E3%81%AE%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A" class="hash-link" aria-label="許可された操作（S3 の読み取り） への直接リンク" title="許可された操作（S3 の読み取り） への直接リンク" translate="no">​</a></h3>
<p><code>AmazonS3ReadOnlyAccess</code> が付与されているため、バケット一覧の取得は正常に完了します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">ls</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token number">2026</span><span class="token plain">-04-15 </span><span class="token number">18</span><span class="token plain">:57:05 exrecord-test-bucket</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="拒否される操作s3-への書き込み">拒否される操作（S3 への書き込み）<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%82%8B%E6%93%8D%E4%BD%9Cs3-%E3%81%B8%E3%81%AE%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF" class="hash-link" aria-label="拒否される操作（S3 への書き込み） への直接リンク" title="拒否される操作（S3 への書き込み） への直接リンク" translate="no">​</a></h3>
<p>読み取りのみ許可されているため、ファイルのアップロードは <code>AccessDenied</code> エラーになります。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">cp</span><span class="token plain"> test.txt s3://exrecord-test-bucket</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">upload failed: ./test.txt to s3://exrecord-test-bucket/test.txt An error occurred </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">AccessDenied</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> when calling the PutObject operation: User: arn:aws:sts::123456789012:assumed-role/exrecord-s3-readonly-role/test-session is not authorized to perform: s3:PutObject on resource: </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:s3:::exrecord-test-bucket/test.txt"</span><span class="token plain"> because no identity-based policy allows the s3:PutObject action</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="拒否される操作ec2-へのアクセス">拒否される操作（EC2 へのアクセス）<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%82%8B%E6%93%8D%E4%BD%9Cec2-%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9" class="hash-link" aria-label="拒否される操作（EC2 へのアクセス） への直接リンク" title="拒否される操作（EC2 へのアクセス） への直接リンク" translate="no">​</a></h3>
<p>EC2 に関する権限は一切付与していないため、インスタンス一覧の取得もエラーになります。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 describe-instances</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">aws: </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">ERROR</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain">: An error occurred </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">UnauthorizedOperation</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> when calling the DescribeInstances operation: You are not authorized to perform this operation. User: arn:aws:sts::123456789012:assumed-role/exrecord-s3-readonly-role/test-session is not authorized to perform: ec2:DescribeInstances because no identity-based policy allows the ec2:DescribeInstances action</span><br></span></code></pre></div></div>
<p>このように、IAM ロールで付与したポリシーによって「できること」と「できないこと」が明確に分離されていることが確認できます。最小権限の原則に従った設定が、想定外の操作を防ぐ有効な手段になります。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="運用での利用について">運用での利用について<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E9%81%8B%E7%94%A8%E3%81%A7%E3%81%AE%E5%88%A9%E7%94%A8%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6" class="hash-link" aria-label="運用での利用について への直接リンク" title="運用での利用について への直接リンク" translate="no">​</a></h3>
<p>今回の方法は <code>sts assume-role</code> の実行と環境変数の設定を毎回手動で行う必要があり、実際の運用では手間がかかります。実運用では AWS IAM Identity Center（旧 AWS SSO）の使用が推奨されています。</p>
<p>IAM Identity Center を使うと、以下のコマンドでブラウザ経由のログインが完了し、ロールの一時認証情報が自動的に発行・更新されます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws sso login </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--profile</span><span class="token plain"> my-profile</span><br></span></code></pre></div></div>
<p>以降は <code>--profile my-profile</code> を指定するだけで、手動での <code>assume-role</code> や環境変数の設定が不要になります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/what-is.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">IAM Identity Center とは何ですか? - AWS IAM アイデンティティセンター</p><p class="link-card__description">AWS IAM アイデンティティセンター は、ワークフォースユーザーを Kiro や Amazon Quick などの AWS マネージドアプリケーションやその他の AWS リソースに接続するための ...</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://exrecord.net/2026/04/14/how-to-aws-iam#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>AWS IAM の基本概念と使い方について説明しました。IAM は AWS セキュリティの根幹をなすサービスです。以下のポイントを押さえて安全な AWS 環境を構築しましょう。</p>
<ul>
<li class="">ユーザー・グループ・ロール・ポリシーの役割を理解し、人間には IAM ユーザー、AWS サービスには IAM ロールと用途に応じて使い分ける</li>
<li class="">最小権限の原則に従い、必要な権限のみを付与する</li>
<li class="">ルートユーザーは日常的な作業に使わず、MFA を有効化する</li>
<li class="">実運用では IAM Identity Center を使い、認証情報の管理を自動化する</li>
</ul>]]></content:encoded>
            <category>AWS</category>
            <category>IAM</category>
        </item>
        <item>
            <title><![CDATA[Amazon EC2 とは？基本的な使い方や料金を学ぼう]]></title>
            <link>https://exrecord.net/2026/04/13/how-to-amazon-ec2</link>
            <guid>https://exrecord.net/2026/04/13/how-to-amazon-ec2</guid>
            <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AWS EC2 の基本的な使い方、料金体系、セキュリティ設定について解説しています。初めて EC2 を使う方向けのガイドです。]]></description>
            <content:encoded><![CDATA[<p>AWS でアプリケーションを動かすサーバーが必要な場合、EC2 が最初の候補になります。EC2 は設定項目が多く、何を設定すれば良いか迷うことが多いため、基本的な Amazon EC2 の使い方を説明します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="amazon-ec2-とは">Amazon EC2 とは<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#amazon-ec2-%E3%81%A8%E3%81%AF" class="hash-link" aria-label="Amazon EC2 とは への直接リンク" title="Amazon EC2 とは への直接リンク" translate="no">​</a></h2>
<p>EC2（Elastic Compute Cloud）は、クラウド上で仮想サーバーを起動できるサービスです。EC2 では仮想サーバーのことをインスタンスと言います。必要な時に必要なスペックのインスタンスを使用できますが、コストを抑える仕組みを使ったり、意図せず外部にインスタンスを公開しないようにする必要があります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon EC2 とは - Amazon Elastic Compute Cloud</p><p class="link-card__description">AWS クラウドでスケーラブルなコンピューティングキャパシティーを提供する Amazon EC2 を使用すると、ハードウェアの制約を受けずにアプリケーションを開発およびデプロイできます。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="料金">料金<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E6%96%99%E9%87%91" class="hash-link" aria-label="料金 への直接リンク" title="料金 への直接リンク" translate="no">​</a></h2>
<p>EC2 の料金は実際に使用した分だけ発生する従量課金になります。主にどのインスタンスタイプを選択し、何時間稼働させたかで決まります。インスタンスを停止している間は、インスタンス料金は発生しませんが、ストレージ（EBS）の料金は発生します。</p>
<a href="https://aws.amazon.com/jp/ec2/pricing/" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">料金</p><p class="link-card__description">Local Zones での Amazon EC2 インスタンスの支払いには、オンデマンド、Savings Plans、Amazon EC2 スポットインスタンスの 3 つの方法があります。それぞれの...</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">aws.amazon.com</span></div></div><img decoding="async" loading="lazy" class="link-card__image img_ev3q" src="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/product-categories/compute/approved/images/ec2pricing-image-1.3f74aa240c4a6d71e14ddebd3cdfe5194b0fac1a.png" alt=""></a>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="インスタンスタイプ">インスタンスタイプ<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%97" class="hash-link" aria-label="インスタンスタイプ への直接リンク" title="インスタンスタイプ への直接リンク" translate="no">​</a></h3>
<p>インスタンスタイプはファミリーと呼ばれる用途別のグループに分かれており、同じスペック（例: 2vCPU, 8GB）でもファミリーによって料金が大きく異なります。用途に合ったファミリーを選ぶことがコスト最適化の第一歩です。</p>
<a href="https://aws.amazon.com/jp/ec2/instance-types/" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">インスタンスタイプ</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">aws.amazon.com</span></div></div><img decoding="async" loading="lazy" class="link-card__image img_ev3q" src="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/industries/approved/images/energies-utilities/4047b991b91475424a63338a22c07097.a08beb9ae1710eb220f0d554df4f7e9eea7454fe.png" alt=""></a>
<table><thead><tr><th>ファミリー</th><th>用途</th><th>代表例</th><th>料金 (東京リージョン)</th></tr></thead><tbody><tr><td>t4g</td><td>バースト汎用・開発環境</td><td>t4g.large (2vCPU, 8GB)</td><td>USD 0.0832/時間</td></tr><tr><td>m7i</td><td>汎用・本番環境</td><td>m7i.large (2vCPU, 8GB)</td><td>USD 0.2016/時間</td></tr><tr><td>c7i</td><td>コンピューティング最適化・バッチ処理</td><td>c7i.large (2vCPU, 4GB)</td><td>USD 0.1071/時間</td></tr><tr><td>r7i</td><td>メモリ最適化・DB・キャッシュ</td><td>r7i.large (2vCPU, 16GB)</td><td>USD 0.3192/時間</td></tr></tbody></table>
<p>t4g は CPU 使用率が低い時間帯にクレジットを貯めておき、必要な時だけ高いパフォーマンスを発揮するバースト型です。開発環境や負荷が一定でないアプリケーションに向いています。本番環境で安定したパフォーマンスが必要な場合は m7i を選びましょう。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="セキュリティ">セキュリティ<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" class="hash-link" aria-label="セキュリティ への直接リンク" title="セキュリティ への直接リンク" translate="no">​</a></h2>
<p>EC2 のセキュリティ問題は多く、外部から不正アクセスされてしまった場合、サーバーが乗っ取られるリスクがあります。そのため、EC2 のセキュリティグループで必要な通信のみを許可し、SSH キーペアを適切に管理しましょう。なお、パスワード認証は無効にし、SSH キー認証のみを使用することをお勧めします。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/infrastructure-security.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon EC2 でのインフラストラクチャセキュリティ - Amazon Elastic Compute Cloud</p><p class="link-card__description">Amazon Elastic Compute Cloud がサービストラフィックを隔離する方法について学習します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<a href="https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-security-groups.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">EC2 インスタンスの Amazon EC2 セキュリティグループ - Amazon Elastic Compute Cloud</p><p class="link-card__description">セキュリティグループとセキュリティグループルールをファイアウォールとして使用し、EC2 インスタンスとの間で送受信するトラフィックを制御します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<blockquote>
<p>セキュリティグループを使用してインスタンスへのアクセスを制限します。最小限必要なネットワークトラフィックを許可するルールを設定します。例えば、企業ネットワークのアドレス範囲からのトラフィックのみ、または HTTPS など特定のプロトコルのトラフィックのみを許可することができます。</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-cli-で-ec2-を使ってみる">AWS CLI で EC2 を使ってみる<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#aws-cli-%E3%81%A7-ec2-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="AWS CLI で EC2 を使ってみる への直接リンク" title="AWS CLI で EC2 を使ってみる への直接リンク" translate="no">​</a></h2>
<p>AWS CLI で EC2 を使ってみましょう。実際にコマンドを実行した場合にどうなるか結果を記載します。なお、リソースは AWS CLI のプロファイルで設定されているリージョンに作成されます。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="キーペアの作成">キーペアの作成<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%AD%E3%83%BC%E3%83%9A%E3%82%A2%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="キーペアの作成 への直接リンク" title="キーペアの作成 への直接リンク" translate="no">​</a></h3>
<p>インスタンスに SSH 接続するためのキーペアを作成します。秘密鍵はローカルに保存し、所有者のみが読み取れるよう権限を設定します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 create-key-pair --key-name exrecord-key </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'KeyMaterial'</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--output</span><span class="token plain"> text </span><span class="token operator">&gt;</span><span class="token plain"> ~/.ssh/exrecord-key.pem</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">chmod</span><span class="token plain"> </span><span class="token number">400</span><span class="token plain"> ~/.ssh/exrecord-key.pem</span><br></span></code></pre></div></div>
<p>キーペアが作成されたことを確認します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 describe-key-pairs --key-name exrecord-key</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"KeyPairs"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"KeyPairId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"key-123456789012"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"KeyType"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"rsa"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"Tags"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"CreateTime"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"2026-04-13T10:14:14.561000+00:00"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"KeyName"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord-key"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"KeyFingerprint"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"ae:13:16:b7:01:71:11:4f:78:60:0e:75:aa:87:af:25:b1:1a:36:3b"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="セキュリティグループの作成">セキュリティグループの作成<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="セキュリティグループの作成 への直接リンク" title="セキュリティグループの作成 への直接リンク" translate="no">​</a></h3>
<p>セキュリティグループを作成し、自宅からのみ SSH 接続を許可します。自宅のグローバル IP アドレスは <code>curl -4 ifconfig.me</code> などで確認できます。自宅以外から接続する場合は、その接続元の IP アドレスを追加する必要があります。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 create-security-group --group-name exrecord-sg </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--description</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"exrecord security group"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupArn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:ec2:ap-northeast-1:123456789012:security-group/sg-0a1b2c3d4e5f67890"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 authorize-security-group-ingress </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --group-id sg-0a1b2c3d4e5f67890 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--protocol</span><span class="token plain"> tcp </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--port</span><span class="token plain"> </span><span class="token number">22</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--cidr</span><span class="token plain"> </span><span class="token number">203.0</span><span class="token plain">.113.1/32</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"Return"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRules"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRuleId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sgr-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"sg-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"GroupOwnerId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"123456789012"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"IsEgress"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> false,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"IpProtocol"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"tcp"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"FromPort"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">22</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"ToPort"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">22</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"CidrIpv4"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"203.0.113.1/32"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"SecurityGroupRuleArn"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"arn:aws:ec2:ap-northeast-1:123456789012:security-group-rule/sgr-0a1b2c3d4e5f67890"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="インスタンスの起動">インスタンスの起動<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AE%E8%B5%B7%E5%8B%95" class="hash-link" aria-label="インスタンスの起動 への直接リンク" title="インスタンスの起動 への直接リンク" translate="no">​</a></h3>
<p>Amazon Linux 2023 の AMI ID を取得し、インスタンスを起動します。AMI（Amazon Machine Image）とは、インスタンスの OS やソフトウェア構成のテンプレートです。特定の OS に拘りがなければ、AWS が提供・メンテナンスしている Amazon Linux 2023 を選ぶとセキュリティパッチが迅速に提供されるためおすすめです。t4g は AWS Graviton（ARM ベース）プロセッサを使用しているため、AMI のアーキテクチャとして <code>arm64</code> を指定します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 describe-images </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--owners</span><span class="token plain"> amazon </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--filters</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Name=name,Values=al2023-ami-2023*"</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"Name=architecture,Values=arm64"</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'sort_by(Images, &amp;CreationDate)[-1].ImageId'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--output</span><span class="token plain"> text</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ami-0ceb31eb57b9abaa8</span><br></span></code></pre></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 run-instances </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --image-id ami-0ceb31eb57b9abaa8 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --instance-type t4g.micro </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --key-name exrecord-key </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --security-group-ids sg-0a1b2c3d4e5f67890 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --tag-specifications </span><span class="token string" style="color:rgb(255, 121, 198)">'ResourceType=instance,Tags=[{Key=Name,Value=exrecord-instance}]'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Instances[0].InstanceId'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--output</span><span class="token plain"> text</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">i-0a1b2c3d4e5f67890</span><br></span></code></pre></div></div>
<p>インスタンスが起動中になるまで待ちます。<code>running</code> になれば接続できます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 </span><span class="token function" style="color:rgb(80, 250, 123)">wait</span><span class="token plain"> instance-running --instance-ids i-0a1b2c3d4e5f67890</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 describe-instances </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    --instance-ids i-0a1b2c3d4e5f67890 </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--query</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'Reservations[0].Instances[0].{State:State.Name,PublicIP:PublicIpAddress}'</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--output</span><span class="token plain"> table</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">------------------------------</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token operator">|</span><span class="token plain">      DescribeInstances     </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------------+-----------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token operator">|</span><span class="token plain">    PublicIP    </span><span class="token operator">|</span><span class="token plain">   State   </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------------+-----------+</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token operator">|</span><span class="token plain">  </span><span class="token number">203.0</span><span class="token plain">.113.2 </span><span class="token operator">|</span><span class="token plain">  running  </span><span class="token operator">|</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">+----------------+-----------+</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ssh-接続">SSH 接続<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#ssh-%E6%8E%A5%E7%B6%9A" class="hash-link" aria-label="SSH 接続 への直接リンク" title="SSH 接続 への直接リンク" translate="no">​</a></h3>
<p>取得したパブリック IP アドレスを使って SSH 接続します。Amazon Linux 2023 のデフォルトユーザーは <code>ec2-user</code> です。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ </span><span class="token function" style="color:rgb(80, 250, 123)">ssh</span><span class="token plain"> </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">-i</span><span class="token plain"> ~/.ssh/exrecord-key.pem ec2-user@203.0.113.2</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">   ,     </span><span class="token comment" style="color:rgb(98, 114, 164)">#_</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">   ~</span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain">_  </span><span class="token comment" style="color:rgb(98, 114, 164)">####_        Amazon Linux 2023</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  ~~  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain">_</span><span class="token comment" style="color:rgb(98, 114, 164)">#####\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  ~~     </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain">#</span><span class="token comment" style="color:rgb(98, 114, 164)">##|</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">  ~~       </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain">#/ ___   https://aws.amazon.com/linux/amazon-linux-2023</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">   ~~       V~</span><span class="token string" style="color:rgb(255, 121, 198)">' '</span><span class="token plain">-</span><span class="token operator">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    ~~~         /</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">      ~~._.   _/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">         _/ _/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">       _/m/'</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Last login: Mon Apr </span><span class="token number">13</span><span class="token plain"> </span><span class="token number">15</span><span class="token plain">:53:13 </span><span class="token number">2026</span><span class="token plain"> from </span><span class="token number">203.0</span><span class="token plain">.113.1</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain">ec2-user@ip-172-31-xx-xx ~</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain">$</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="インスタンスの終了">インスタンスの終了<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AE%E7%B5%82%E4%BA%86" class="hash-link" aria-label="インスタンスの終了 への直接リンク" title="インスタンスの終了 への直接リンク" translate="no">​</a></h3>
<p>不要になったインスタンスは削除しましょう。インスタンスを停止してもストレージ（EBS）の料金は発生し続けるため、使い終わったら停止ではなく削除することをおすすめします。なお、キーペアとセキュリティグループはインスタンスを削除しても残りますが、それ自体に料金は発生しません。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws ec2 terminate-instances --instance-ids i-0a1b2c3d4e5f67890</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"TerminatingInstances"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"InstanceId"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"i-0a1b2c3d4e5f67890"</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"CurrentState"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"Code"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">32</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"Name"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"shutting-down"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token string" style="color:rgb(255, 121, 198)">"PreviousState"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"Code"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token number">16</span><span class="token plain">,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">                </span><span class="token string" style="color:rgb(255, 121, 198)">"Name"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"running"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">            </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://exrecord.net/2026/04/13/how-to-amazon-ec2#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>EC2 がどういうサービスであったり、基本的な使い方について説明しました。AWS を利用する上で EC2 はほぼ必ず使用することになるため、以下のポイントを押さえた使い方をしていきましょう。</p>
<ul>
<li class="">セキュリティグループで必要最小限の通信のみを許可する</li>
<li class="">SSH キー認証を使用し、キーペアを適切に管理する</li>
<li class="">用途に合わせたインスタンスタイプを選択してコストを最適化する</li>
<li class="">使用しないインスタンスは停止または削除する</li>
</ul>
<p>これらを意識することで、安全かつコスト効率の良い EC2 運用ができます。</p>]]></content:encoded>
            <category>AWS</category>
            <category>EC2</category>
        </item>
        <item>
            <title><![CDATA[Amazon S3 とは？基本的な使い方や料金を学ぼう]]></title>
            <link>https://exrecord.net/2026/04/12/how-to-amazon-s3</link>
            <guid>https://exrecord.net/2026/04/12/how-to-amazon-s3</guid>
            <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[AWS S3 の基本的な使い方、料金体系、セキュリティ設定について解説しています。初めて S3 を使う方向けのガイドです。]]></description>
            <content:encoded><![CDATA[<p>AWS でドキュメントや画像を格納するとしたら、S3 が最初の候補になります。しかし、適当に S3 を使ってしまうと、後からセキュリティやコストで苦労することが多くなるため、基本的な Amazon S3 の使い方を説明します。</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="amazon-s3-とは">Amazon S3 とは<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#amazon-s3-%E3%81%A8%E3%81%AF" class="hash-link" aria-label="Amazon S3 とは への直接リンク" title="Amazon S3 とは への直接リンク" translate="no">​</a></h2>
<p>ドキュメント、画像、動画などデータを格納できるストレージサービスです。S3 ではデータのことをオブジェクトと言い、オブジェクトを格納するリソースをバケットと言います。基本的にはオブジェクトを格納するサービスになりますが、用途に合わせてコストを抑えたり、意図せずオブジェクトが公開されないようにセキュリティを意識する必要があります。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welcome.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon S3 とは - Amazon Simple Storage Service</p><p class="link-card__description">クラウドへのデータの保存と、Amazon S3 ウェブサービスでのバケットとオブジェクトの中心的概念を説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="料金">料金<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E6%96%99%E9%87%91" class="hash-link" aria-label="料金 への直接リンク" title="料金 への直接リンク" translate="no">​</a></h2>
<p>S3 の料金は実際に使用した分だけ発生する従量課金になります。主にどれぐらいのオブジェクトサイズをどのストレージクラスに保存したかで決まります。他にはリクエストやデータ転送などありますが、100 万リクエストを超えてから意識すれば問題ないです。</p>
<a href="https://aws.amazon.com/jp/s3/pricing/" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">S3 料金</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">aws.amazon.com</span></div></div><img decoding="async" loading="lazy" class="link-card__image img_ev3q" src="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/product-categories/compute/approved/images/calc.9fb92114ed7af2799dc8f88708109842e341e928.jpeg" alt=""></a>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ストレージクラス">ストレージクラス<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%82%AF%E3%83%A9%E3%82%B9" class="hash-link" aria-label="ストレージクラス への直接リンク" title="ストレージクラス への直接リンク" translate="no">​</a></h3>
<p>色々ありますが、良く使うストレージクラスは以下になります。デフォルトは S3 標準になっているため、バックアップ目的などで頻繁にアクセスしない場合は、ストレージクラスを変更してコストを抑えましょう。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/storage-class-intro.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon S3 ストレージクラスの理解と管理 - Amazon Simple Storage Service</p><p class="link-card__description">ユースケースシナリオとパフォーマンスアクセス要件を考慮して、Amazon S3 に格納するオブジェクトのために、耐久性の高いストレージクラスを選択する方法について説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<table><thead><tr><th>用途</th><th>ストレージクラス</th><th>料金 (東京リージョン)</th></tr></thead><tbody><tr><td>頻繁に使用する</td><td>S3 標準</td><td>USD 0.025/GB</td></tr><tr><td>月に数回使用する</td><td>S3 標準 - 低頻度アクセス</td><td>USD 0.0138/GB</td></tr><tr><td>四半期に使用する</td><td>S3 Glacier Instant Retrieval</td><td>USD 0.005/GB</td></tr><tr><td>ほぼ使用しない</td><td>S3 Glacier Deep Archive</td><td>USD 0.002/GB</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="セキュリティ">セキュリティ<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" class="hash-link" aria-label="セキュリティ への直接リンク" title="セキュリティ への直接リンク" translate="no">​</a></h2>
<p>S3 のセキュリティ問題は多く、外部からアクセスできてしまった場合、機密情報が漏洩するリスクがあります。そのため、S3 のアクセス許可を制限し、必要なユーザーやサービスからのみアクセスできるようにしましょう。なお、外部に公開する予定がないのであれば、必ずパブリックアクセスはブロックしておくことをお勧めします。</p>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/security-best-practices.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon S3 のセキュリティのベストプラクティス - Amazon Simple Storage Service</p><p class="link-card__description">Amazon S3 でのセキュリティ問題に対処するためのガイドラインとベストプラクティスについて説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<a href="https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/access-control-block-public-access.html" target="_blank" rel="noopener noreferrer" class="link-card"><div class="link-card__body"><p class="link-card__title">Amazon S3 ストレージへのパブリックアクセスのブロック - Amazon Simple Storage Service</p><p class="link-card__description">Amazon S3 でパブリックアクセスのブロックを使用する方法について説明します。</p><div class="link-card__meta"><img decoding="async" loading="lazy" class="link-card__favicon img_ev3q" src="https://www.google.com/s2/favicons?domain=docs.aws.amazon.com&amp;sz=32" alt="" width="16" height="16"><span class="link-card__domain">docs.aws.amazon.com</span></div></div></a>
<blockquote>
<p>パブリックアクセスは、アクセスコントロールリスト (ACL)、アクセスポイントポリシー、バケットポリシー、またはそのすべてからバケットおよびオブジェクトに付与されます。Amazon S3 のすべてのアクセスポイント、バケット、オブジェクトへのパブリックアクセスを確実にブロックするために、アカウントへのパブリックアクセスをブロックする 4 つの設定をすべて有効にすることをお勧めします。</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="aws-cli-で-s3-を使ってみる">AWS CLI で S3 を使ってみる<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#aws-cli-%E3%81%A7-s3-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B" class="hash-link" aria-label="AWS CLI で S3 を使ってみる への直接リンク" title="AWS CLI で S3 を使ってみる への直接リンク" translate="no">​</a></h2>
<p>AWS CLI で S3 を使ってみましょう。実際にコマンドを実行した場合にどうなるか結果を記載します。</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="バケットの作成">バケットの作成<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%83%90%E3%82%B1%E3%83%83%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90" class="hash-link" aria-label="バケットの作成 への直接リンク" title="バケットの作成 への直接リンク" translate="no">​</a></h3>
<p>バケット名はすべてのアカウントで一意になりますので、固有の名称を付けて一意の名前にしましょう。なお、AWS CLI のプロファイルで指定したリージョンに作成されます。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 mb s3://exrecord-test-bucket</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">make_bucket: exrecord-test-bucket</span><br></span></code></pre></div></div>
<p>バケットが作成されたことを確認します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">ls</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token number">2026</span><span class="token plain">-04-12 05:07:26 exrecord-test-bucket</span><br></span></code></pre></div></div>
<p>パブリックアクセスの設定を確認します。すべての項目が <code>true</code> であれば、外部からアクセスできない安全な状態です。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3api get-public-access-block </span><span class="token parameter variable" style="color:rgb(189, 147, 249);font-style:italic">--bucket</span><span class="token plain"> exrecord-test-bucket</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token string" style="color:rgb(255, 121, 198)">"PublicAccessBlockConfiguration"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"BlockPublicAcls"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"IgnorePublicAcls"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"BlockPublicPolicy"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> true,</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">        </span><span class="token string" style="color:rgb(255, 121, 198)">"RestrictPublicBuckets"</span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">:</span><span class="token plain"> </span><span class="token boolean">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="オブジェクトのアップロード">オブジェクトのアップロード<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89" class="hash-link" aria-label="オブジェクトのアップロード への直接リンク" title="オブジェクトのアップロード への直接リンク" translate="no">​</a></h3>
<p>ローカルのファイルを S3 バケットにアップロードします。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">cp</span><span class="token plain"> test.txt s3://exrecord-test-bucket</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">upload: ./test.txt to s3://exrecord-test-bucket/test.txt</span><br></span></code></pre></div></div>
<p>バケット内のオブジェクト一覧は以下で確認できます。バケット作成と同じコマンドでバケットを指定します。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">ls</span><span class="token plain"> s3://exrecord-test-bucket</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token number">2026</span><span class="token plain">-04-12 05:10:22          </span><span class="token number">0</span><span class="token plain"> test.txt</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="オブジェクトのダウンロード">オブジェクトのダウンロード<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89" class="hash-link" aria-label="オブジェクトのダウンロード への直接リンク" title="オブジェクトのダウンロード への直接リンク" translate="no">​</a></h3>
<p>S3 バケットからローカルにファイルをダウンロードします。アップロードとは引数の順番が逆という違いであるため、注意が必要です。</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">❯ aws s3 </span><span class="token function" style="color:rgb(80, 250, 123)">cp</span><span class="token plain"> s3://exrecord-test-bucket/test.txt </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">download: s3://exrecord-test-bucket/test.txt to ./test.txt</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="まとめ">まとめ<a href="https://exrecord.net/2026/04/12/how-to-amazon-s3#%E3%81%BE%E3%81%A8%E3%82%81" class="hash-link" aria-label="まとめ への直接リンク" title="まとめ への直接リンク" translate="no">​</a></h2>
<p>S3 がどういうサービスであったり、基本的な使い方について説明しました。AWS を利用する上で S3 はほぼ必ず使用することになるため、以下のポイントを押さえた使い方をしていきましょう。</p>
<ul>
<li class="">パブリックアクセスブロック設定を必ず確認する</li>
<li class="">必要最小限のアクセス権限のみを付与する</li>
<li class="">アクセス頻度に応じたストレージクラスを選択してコストを最適化する</li>
</ul>
<p>これらを意識することで、安全かつコスト効率の良い S3 運用ができます。</p>]]></content:encoded>
            <category>AWS</category>
            <category>S3</category>
        </item>
    </channel>
</rss>