<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aws on igeight blog</title><link>https://blog.igeight.net/tags/aws/</link><description>Recent content in Aws on igeight blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sun, 25 Oct 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.igeight.net/tags/aws/index.xml" rel="self" type="application/rss+xml"/><item><title>CloudFront に独自ドメインを設定する: CloudFormation と AWS CLI の両方の手順と、つながりの仕組み</title><link>https://blog.igeight.net/posts/2026-10-25-cloudfront-custom-domain/</link><pubDate>Sun, 25 Oct 2026 00:00:00 +0900</pubDate><guid>https://blog.igeight.net/posts/2026-10-25-cloudfront-custom-domain/</guid><description>&lt;p&gt;CloudFront のディストリビューションに、独自ドメイン(この記事では例として &lt;code&gt;blog.example.com&lt;/code&gt;)を設定します。&#10;ドメインの DNS が&lt;strong&gt;別の AWS アカウント&lt;/strong&gt;にあり、こちらのアカウントでは証明書と CloudFront の設定だけを行って、DNS には「このレコードを登録してください」と依頼する場合を想定します。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;登場するものと、つながりの仕組み&lt;/li&gt;&#10;&lt;li&gt;全体の流れ&lt;/li&gt;&#10;&lt;li&gt;方法 A: CloudFormation&lt;/li&gt;&#10;&lt;li&gt;方法 B: AWS CLI&lt;/li&gt;&#10;&lt;li&gt;DNS に登録するレコード&lt;/li&gt;&#10;&lt;li&gt;登録の順番&lt;/li&gt;&#10;&lt;li&gt;A レコードや AAAA レコードではだめなのか&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="登場するものとつながりの仕組み"&gt;登場するものと、つながりの仕組み&lt;/h2&gt;&#10;&lt;p&gt;独自ドメインの設定は、次の 3 つを&lt;strong&gt;同じドメイン名&lt;/strong&gt;で結ぶ作業です。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;登場するもの&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;場所&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;役割&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;DNS のレコード&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ドメインの DNS(別アカウント)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;blog.example.com&lt;/code&gt; を CloudFront に向ける。証明書の所有確認にも使う&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ACM 証明書&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;us-east-1&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;blog.example.com&lt;/code&gt; の HTTPS 通信の証明&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CloudFront の別名(Alias)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CloudFront ディストリビューション&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;「このドメイン名のアクセスを受け付ける」という宣言&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;ブラウザが &lt;code&gt;https://blog.example.com/&lt;/code&gt; を開いたとき、次のようにつながります。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ブラウザ&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ① blog.example.com の IP は?&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; DNS ── CNAME: blog.example.com → xxxx.cloudfront.net ──┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ② CloudFront の IP が返る&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ┌────────────────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; CloudFront(ディストリビューション xxxx)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ③ TLS の接続で「blog.example.com」と名乗る(SNI)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ④ 別名(Alias)に blog.example.com が入っているか? ← 入っていないと 403&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ⑤ ACM 証明書(blog.example.com 用)を提示する&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ブラウザ: 証明書のドメイン名と、開いたドメイン名が一致 → HTTPS で表示&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;つまり、次の 3 つが同じ名前でそろって初めて繋がります。&lt;/p&gt;</description></item><item><title>IAM Identity Center(AWS SSO)の仕組みと使い方: ~/.aws/config とログインの流れを図で理解する</title><link>https://blog.igeight.net/posts/2026-10-25-aws-iam-identity-center-sso/</link><pubDate>Sun, 25 Oct 2026 00:00:00 +0900</pubDate><guid>https://blog.igeight.net/posts/2026-10-25-aws-iam-identity-center-sso/</guid><description>&lt;p&gt;AWS を複数のアカウントで運用していると、アカウントごとに IAM ユーザーとアクセスキーを作って &lt;code&gt;~/.aws/credentials&lt;/code&gt; に貼る、という運用になりがちです。&#10;&lt;strong&gt;IAM Identity Center&lt;/strong&gt;(旧名 &lt;strong&gt;AWS SSO&lt;/strong&gt;)を使うと、アクセスキーを持たずに、ブラウザでログインするだけで複数アカウントの一時的な認証情報を取得できます。&lt;/p&gt;&#10;&lt;p&gt;この記事では、&lt;code&gt;~/.aws/config&lt;/code&gt; に SSO の設定がある環境を例に、次の順で整理します。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;IAM Identity Center の登場人物と全体像&lt;/li&gt;&#10;&lt;li&gt;権限セットとアカウント割り当ての関係&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;aws sso login&lt;/code&gt; の裏側(ログインの流れ)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;~/.aws/config&lt;/code&gt; の読み方&lt;/li&gt;&#10;&lt;li&gt;日々の使い方&lt;/li&gt;&#10;&lt;li&gt;トークンの有効期限と、つまずきやすい点&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;旧名の名残で、CLI のコマンドや設定項目は今でも &lt;code&gt;sso&lt;/code&gt; という名前です(&lt;code&gt;aws sso login&lt;/code&gt;、&lt;code&gt;sso_start_url&lt;/code&gt; など)。&#10;コマンドの出力例は説明用です。アカウント ID・ユーザー名・ハッシュ値は実際の値とは異なります。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="iam-identity-center-とは"&gt;IAM Identity Center とは&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;複数の AWS アカウントへのサインインを、1 か所で管理する仕組み&lt;/strong&gt;です。&#10;「誰が」「どのアカウントで」「何ができるか」を Identity Center に登録しておくと、ユーザーはそこにサインインするだけで、許可されたアカウントとロールを選べます。&lt;/p&gt;&#10;&lt;p&gt;IAM ユーザー方式との違いは次のとおりです。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;項目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;IAM ユーザー + アクセスキー&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;IAM Identity Center&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;認証情報&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;長期のアクセスキー(失効させない限り有効)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;一時的な認証情報&lt;/strong&gt;(1〜12 時間で失効)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ユーザーの管理場所&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;アカウントごとに IAM ユーザーを作る&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Identity Center で 1 回だけ作る&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;MFA&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;アカウントごとに設定&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;サインイン時に 1 回&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;退職・異動時&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;全アカウントで削除する&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Identity Center で無効化すれば全アカウントに効く&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;キーの漏えいリスク&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ファイルに平文で残る&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;残るのは期限付きのトークンだけ&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="登場人物"&gt;登場人物&lt;/h2&gt;&#10;&lt;p&gt;まず用語を押さえます。&lt;/p&gt;</description></item><item><title>アクセスキー不要で GitHub Actions から AWS へ: OIDC の仕組みと最小テスト</title><link>https://blog.igeight.net/posts/2026-10-25-github-actions-oidc/</link><pubDate>Sun, 25 Oct 2026 00:00:00 +0900</pubDate><guid>https://blog.igeight.net/posts/2026-10-25-github-actions-oidc/</guid><description>&lt;p&gt;GitHub Actions から AWS を操作したいとき、IAM ユーザーのアクセスキーを GitHub Secrets に入れていませんか。&#10;&lt;strong&gt;OIDC&lt;/strong&gt; を使うと、長期のキーを一切持たずに、実行のたびに短命の認証情報を受け取れます。&lt;/p&gt;&#10;&lt;p&gt;この記事では、次の順で整理します。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;OIDC とは何か&lt;/li&gt;&#10;&lt;li&gt;GitHub Actions と AWS はどうつながるのか&lt;/li&gt;&#10;&lt;li&gt;自分の環境で試せる、最小限のテスト(所要時間は 15 分ほど)&lt;/li&gt;&#10;&lt;li&gt;OIDC が使われるほかの場面&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="oidc-とは"&gt;OIDC とは&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;OIDC(OpenID Connect)&lt;/strong&gt; は、「ある主体が誰なのか」を、信頼できる第三者が &lt;strong&gt;署名付きの身分証&lt;/strong&gt; で証明するための仕組みです。&#10;身近な例は「Google でログイン」です。サイト側はあなたのパスワードを知らなくても、Google が「この人は確かに本人です」と署名付きで保証してくれるので、ログインを許可できます。&lt;/p&gt;&#10;&lt;p&gt;ここで出てくる言葉は 4 つだけ覚えれば十分です。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;言葉&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;意味&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;「Google でログイン」の場合&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IdP(身分を証明する側)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;身分証を発行する&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Google&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;利用する側&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;IdP を信頼して、身分証を受け取る&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ログインしたいサイト&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;トークン(JWT)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;署名付きの身分証。「誰が」「どこから」などの情報が入っている&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ログイン用のトークン&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;クレーム&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;トークンに入っている個々の情報&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;メールアドレス、名前など&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;GitHub Actions の OIDC は、これを &lt;strong&gt;人ではなくワークフロー(ジョブ)&lt;/strong&gt; に当てはめたものです。&#10;GitHub が IdP になり、「このジョブは、このリポジトリの、このブランチで動いています」という身分証をジョブごとに発行します。&lt;/p&gt;&#10;&lt;h2 id="github-actions-と-aws-の関係"&gt;GitHub Actions と AWS の関係&lt;/h2&gt;&#10;&lt;p&gt;役割を整理すると、次のようになります。&lt;/p&gt;</description></item></channel></rss>