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

<channel>
	<title>AWS &#8211; OptiCode.Lab</title>
	<atom:link href="https://opticode-lab.com/tag/aws/feed/" rel="self" type="application/rss+xml" />
	<link>https://opticode-lab.com</link>
	<description>だれもが使える、最適化されたサイトを構築するための技術研究所</description>
	<lastBuildDate>Wed, 01 Apr 2026 14:03:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Gemini AI 学習コーチを活用してAWS SAAを取得した話</title>
		<link>https://opticode-lab.com/blog/1598/</link>
					<comments>https://opticode-lab.com/blog/1598/#respond</comments>
		
		<dc:creator><![CDATA[るた]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 14:03:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[資格]]></category>
		<guid isPermaLink="false">https://opticode-lab.com/?p=1598</guid>

					<description><![CDATA[Gem 学習コーチを使用してAWS SAA（ソリューションアーキテクト アソシエイト）の資格を取得しました。業務で軽く触れたことがあったため知識ゼロからでは無いという前提はありますが、勉強時間は40時間ほどでした。 以下 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Gem 学習コーチを使用して<a href="https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/" data-type="link" data-id="https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/" target="_blank" rel="noreferrer noopener nofollow">AWS SAA（ソリューションアーキテクト アソシエイト）</a>の資格を取得しました。<br>業務で軽く触れたことがあったため知識ゼロからでは無いという前提はありますが、勉強時間は40時間ほどでした。</p>



<p>以下の記事で使い方を説明してその通りに使っていたのですが、使い続けるうちに不満もあったので良い点・悪い点をまとめておこうと思います。</p>


<a href="https://opticode-lab.com/technology/1417/" class="opti-link-card">  <img decoding="async" src="https://opticode-lab.com/wp-content/uploads/2026/03/ejiwggejiwggejiw-300x181.webp" alt="" class="opti-link-card__thumb">  <div class="opti-link-card__body">    <div class="opti-link-card__title">Gemini AI 学習コーチを活用した資格の勉強方法（AWS SAA）</div>    <div class="opti-link-card__meta">opticode.lab.com</div>  </div></a>



<h2 class="wp-block-heading">Gem 学習コーチにお願いしたこと</h2>



<p>Gem 学習コーチに以下のような内容をお願いして学習を進めてもらいました。<br>そこまで細かなことは指示せず、学習コーチに任せる方針でした。</p>



<ul class="wp-block-list">
<li>試験範囲の確認</li>



<li>試験日を1か月後としたスケジュール作成</li>



<li>試験範囲を網羅した授業</li>



<li>難しい内容は画像を使って説明</li>



<li>練習問題の作成と間違った問題の解説</li>
</ul>



<h3 class="wp-block-heading">Gem 学習コーチを使って良かった点</h3>



<p>以下、本当に素晴らしい点です。</p>



<p><strong>大量の問題作成：</strong><br>AWS SAAは試験範囲が広く、サービスの名称・機能・コストなど、とにかく覚えることが多く、本番でも全く知らない用語が出てきます。<br>Gem学習コーチにお願いすればいくらでも問題を作成してくれるので、とにかく問題を解き、間違えた問題を解説してもらうことで正答率を上げていきました。<br>僕は全部で700問ほどこなして、正答率85%ほどまで高めました。（ただし本番は75%ほどでギリギリ）</p>



<p><strong>理解できるまで何度も確認できる：</strong><br>わからなければ、わかるまで説明してくれます。<br>相手が人間ならば、自分の理解力が低く何度も説明を求めるのは気が引けるものです。<br>AIならば、どれだけ理解力が低くても、理解できるまで絶対に付き合ってくれます。</p>



<h3 class="wp-block-heading">Gem 学習コーチのいまいちだった点</h3>



<p>正直イラッとした点です。</p>



<p><strong>授業内容の漏れ：</strong><br>試験範囲内なのに説明を忘れてることが多くありました。<br>例えば、データベースの授業でDynamoDBをまるっと飛ばして他の学習に移るようなことがありました。<br>授業だけ受けていると漏れに気付けないかもしれません。</p>



<p><strong>画像の出力に失敗する：</strong><br>「構成図をお見せします。」と言いつつ出ないことがあります。おそらく出力しようとはしているが失敗しているものと思われます。<br>指摘すると画像を作ったり、それでも出力できなかったりと安定しませんでした。</p>



<p><strong>試験範囲とは違う学習：</strong><br>「最近AIについての機能が追加されているので出題されると思う。」と言ってたので学習しましたが、本番では1問も出題されませんでした。<br>なぜか重点を置いて学習させてきたので学習の2割くらいは無駄にしたと思います。<br>実際に出題された、という情報が無ければ範囲に含めないよう指示が必要です。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>有料のテキスト購入や講座を受けずに一発で合格できた、というのは Gem 学習コーチが有用であることの証明ではないでしょうか。<br>ただし、悪い点もあるため今後の活用方法は改善が必要と感じます。</p>



<p>次回はGem 学習コーチの使用から方針を変えて、Gem 学習コーチで不満だった点を改善したマイGemを作成してGem 学習コーチと比較してみようと思います。</p>



<p>AWS SAAはサービスが増える度に試験範囲が広がって、難易度がとんでもないことになってませんかね…<br>合格の通知が来るまで絶対に落ちたと思ってました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://opticode-lab.com/blog/1598/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress環境でCloudFrontを使用する場合に必要なカスタムポリシー設定</title>
		<link>https://opticode-lab.com/technology/1587/</link>
					<comments>https://opticode-lab.com/technology/1587/#respond</comments>
		
		<dc:creator><![CDATA[るた]]></dc:creator>
		<pubDate>Mon, 30 Mar 2026 04:45:09 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFront]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://opticode-lab.com/?p=1587</guid>

					<description><![CDATA[先日、AWS環境で高可用性構成を作成した際にCloudFrontを使用しました。その中で設定に手間取ったポイントがありましたので備忘録も兼ねて記しておきます。 作成したAWS環境で高可用性構成 というのが何か知りたい方は [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>先日、AWS環境で高可用性構成を作成した際にCloudFrontを使用しました。<br>その中で設定に手間取ったポイントがありましたので備忘録も兼ねて記しておきます。</p>



<p>作成したAWS環境で高可用性構成 というのが何か知りたい方は以下もご覧いただけますと幸いです。</p>


<a href="https://opticode-lab.com/works/1543/" class="opti-link-card">  <img decoding="async" src="https://opticode-lab.com/wp-content/uploads/2026/03/20260318_130945_01-600x335.webp" alt="" class="opti-link-card__thumb">  <div class="opti-link-card__body">    <div class="opti-link-card__title">Fargate + Single AZ RDSで構築する、高可用性&amp;コスト最適化WordPress AWS構成</div>    <div class="opti-link-card__meta">opticode.lab.com</div>  </div></a>



<p>なお、AWSプランや管理画面はよく変更されるため、2026年3月時点の設定であることをご理解ください。</p>



<h2 class="wp-block-heading">CloudFrontとは？サービス内容を解説</h2>



<p><strong>CloudFront</strong>は、AWS（Amazon Web Services）が提供する<strong>CDN（Content Delivery Network）</strong>サービスです。<br>簡単に言うと、「世界中に配置されたキャッシュサーバーを使って、Webサイトの画像や動画、HTMLなどのコンテンツをユーザーに素早く届ける仕組み」です。<br>競合サービスとしては<strong>Cloudflare</strong>、<strong>Akamai</strong>、<strong>Fastly</strong>などがありますが、AWSで環境を構築しているならCloudFront一択です。</p>



<h3 class="wp-block-heading">CloudFrontを導入するメリット</h3>



<p>導入すると以下のようなメリットがあります。</p>



<ul class="wp-block-list">
<li><strong>ページキャッシュ：</strong>ページや画像などをキャッシュしてユーザーへ渡すため、オリジンであるWebサーバー等へのアクセスを抑えてコストダウン&amp;負荷耐性が向上</li>



<li><strong>エッジロケーション：</strong>ユーザーと物理的に近いデータセンターにキャッシュを保持してユーザーへ渡すため、表示速度の向上につながる</li>



<li><strong>AWSコンポーネントとの親和性：</strong>AWS連携が容易でサービス間でのデータ転送量が安い</li>



<li><strong>無料枠：</strong>小規模なサイトであれば実質無料で使用できることも珍しくない</li>



<li><strong>セキュリティ向上：</strong>CloudFrontが間に入りユーザーがWebサーバーを直接見ないためセキュリティが向上・WAF設定も可能</li>
</ul>



<p>無料枠を超えるアクセス数の多いサイトは費用がかかりますが、高スペックなサーバーを動かし続けるより安く済む場合が多いでしょう。</p>



<h2 class="wp-block-heading">WordPressでCloudFrontを使用する場合の注意点</h2>



<p>メリットは大きいですが、注意点もあります。</p>



<ul class="wp-block-list">
<li>ログイン状態のページがキャッシュされる</li>



<li>カスタムポリシーを使用できるプランに制限がある</li>
</ul>



<h3 class="wp-block-heading">ログイン状態のページがキャッシュされる問題と解消方法</h3>



<p>CloudFrontはユーザーがページへアクセスした場合に、<br>キャッシュがあればキャッシュを返す<br>キャッシュが無ければオリジンからページを取得しキャッシュを生成<br>という動作を行います。</p>



<p>そこで問題になるのが、ログイン状態のユーザーです。<br>WordPressでログインをしている場合、ページ上部の admin bar のようにWordPressログイン状態にのみ表示される要素が存在するため、これをCloudFrontがキャッシュしてしまうと一般ユーザーにも admin bar が表示されるような事態となってしまいます。</p>



<p>つまり、<strong>WordPressにログインしたユーザーをキャッシュ対象外</strong>にする必要があります。</p>



<p>設定にはCloudFrontのカスタムポリシー作成が必須となりますので、以下の手順でカスタムポリシーを作成のうえCloudFrontのビヘイビアに登録します。</p>



<ul class="wp-block-list">
<li>AWSコンソールからCloudFrontの管理画面を開き、左メニューからポリシーの管理ページを表示</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="318" height="411" src="https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_03.webp" alt="AWSコンソールCloudFrontの左メニューからポリシーページへアクセス" class="wp-image-1591"/><figcaption class="wp-element-caption">CloudFront：左メニュー</figcaption></figure>
</div>


<ul class="wp-block-list">
<li>ページ下部の「キャッシュポリシーを作成」</li>



<li>cookie「指定された cookie を含める」を選択し以下の3つを追加しポリシーを作成する<br><code>comment_author_*</code>、<code>wp-postpass_*</code>、<code>wordpress_logged_in_*</code></li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="303" src="https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_02-1024x303.webp" alt="カスタムポリシーでcookieを許可する" class="wp-image-1590" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_02-1024x303.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_02-600x177.webp 600w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_02-768x227.webp 768w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_02.webp 1082w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">ポリシー設定：cookieの追加</figcaption></figure>



<ul class="wp-block-list">
<li>CloudFrontのディストリビューション、ビヘイビア設定の「デフォルト(*)」を選択し編集</li>



<li>キャッシュポリシーで作成したカスタムポリシーを選択、オリジンリクエストポリシーをAllViewerに設定し保存</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="334" src="https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_01-1024x334.webp" alt="ディストリビューションで作成したポリシーを使用する" class="wp-image-1593" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_01-1024x334.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_01-600x196.webp 600w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_01-768x251.webp 768w, https://opticode-lab.com/wp-content/uploads/2026/03/20260330_133322_01.webp 1137w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">ディストリビューション：キャッシュポリシーの設定</figcaption></figure>



<p>これはWordPressのログインセッションに使用するcookieを持っていればログインユーザーとして扱い、ページをキャッシュしない&amp;キャッシュを表示しない という設定です。</p>



<h3 class="wp-block-heading">カスタムポリシーを使用できるプランに制限がある</h3>



<p>なんと、CloudFrontのディストリビューションが定額料金プランの<strong>Freeプラン(0$)・Proプラン(月額15$)はカスタムポリシーが選択できず</strong>、<strong>ビジネスプラン(月額200$)以上</strong>を選べという案内が表示されます。<br>学習目的や収益の少ないサイトでこの負担は現実的ではありません。</p>



<p>しかし、<strong>従量課金プラン</strong>(Pay as you go) を使用すればビジネスプランでなくともカスタムポリシーを使用することが可能です。<br>従量課金プランでも<strong>一定の範囲内であれば無料</strong>で使用が可能ですので、学習用や小規模なサイトであれば従量課金プランで始めて、アクセス数が増え収益が出るならビジネスプランへの変更を検討するのがよさそうです。</p>



<p>無料枠については今後変更される可能性があるため、<a href="https://aws.amazon.com/jp/cloudfront/pricing/pay-as-you-go/" target="_blank" rel="noreferrer noopener nofollow">AWS公式の情報</a>をご確認のうえ検討してください。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>最初は定額プランのFreeプランで設定していたのでカスタムポリシーが設定できず手間取りました。<br>学習目的でお金をかけたくなかったため、従量課金プランでも無料枠があってくれてラッキーでした。</p>



<p>とはいえCloudFront自体はかなり安価なので、よほど記事がバズったりしなければ高額な請求などは無いかなとは思います。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://opticode-lab.com/technology/1587/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fargate + Single AZ RDSで構築する、高可用性&#038;コスト最適化WordPress AWS構成</title>
		<link>https://opticode-lab.com/works/1543/</link>
					<comments>https://opticode-lab.com/works/1543/#respond</comments>
		
		<dc:creator><![CDATA[るた]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 04:09:57 +0000</pubDate>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFront]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[アーキテクチャ設計]]></category>
		<guid isPermaLink="false">https://opticode-lab.com/?p=1543</guid>

					<description><![CDATA[当サイトは AWS Lightsailにて運用されておりますが、学習目的でAWS ECS のコンテナ Fargate を使用した高可用性の構成を作成してみました。 1. 要件 可用性とコストのどちらを優先するかは都度判断 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>当サイトは <a href="https://aws.amazon.com/jp/lightsail/">AWS Lightsail</a>にて運用されておりますが、学習目的でAWS ECS のコンテナ Fargate を使用した高可用性の構成を作成してみました。</p>



<h2 class="wp-block-heading">1. 要件</h2>



<ul class="wp-block-list">
<li>AWS学習を目的としてAWS Lightsail環境の当サイトをAWS高可用性構成で再現する。</li>



<li>あくまでも学習のため、削れるコストは可能な限り削る。</li>



<li>Lightsail環境のデータベースやメディアを全て移行する。</li>
</ul>



<p>可用性とコストのどちらを優先するかは都度判断。</p>



<h2 class="wp-block-heading">2. 構成図の全体像と設計思想</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="972" height="652" src="https://opticode-lab.com/wp-content/uploads/2026/03/aws-architecture-01.webp" alt="AWS高可用性構成図" class="wp-image-1544" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/aws-architecture-01.webp 972w, https://opticode-lab.com/wp-content/uploads/2026/03/aws-architecture-01-600x402.webp 600w, https://opticode-lab.com/wp-content/uploads/2026/03/aws-architecture-01-768x515.webp 768w" sizes="auto, (max-width: 972px) 100vw, 972px" /><figcaption class="wp-element-caption">構成図：AWS高可用性構成</figcaption></figure>
</div>


<p>この構成図は、WordPressをAWS上に構築するための、疎結合（Decoupled）なモダン・アーキテクチャを示しています。</p>



<h3 class="wp-block-heading">この構成の肝となる3つのポイント</h3>



<ul class="wp-block-list">
<li><strong><strong>高可用性（High Availability）</strong>: </strong>CloudFront、ALB、FargateマルチAZ展開</li>



<li><strong><strong>コスト最適化（Cost-Optimized）</strong>:</strong>Fargate Spot、Single AZ RDS</li>



<li><strong>ステートレスなコンピュート層</strong>：Fargateコンテナを使い、テーマ、プラグイン、メディアファイルを外部サービスへ外部化</li>
</ul>



<h2 class="wp-block-heading">3. 各コンポーネントの詳細解説：データの流れに沿って</h2>



<p>データの流れ（フロントエンドからバックエンドへ）に沿って、各コンポーネントの役割と設計意図を解説します。</p>



<h3 class="wp-block-heading">3-1. フロントエンド（VPC外サービス）：配信の効率化と可用性</h3>



<p>ユーザーアクセスはまず、VPC（Virtual Private Cloud）の外にあるグローバルサービスで受けます。</p>



<ul class="wp-block-list">
<li><strong>AWS Route 53 (DNS)</strong>: DNSルーティングを行います。</li>



<li><strong>AWS CloudFront (CDN)</strong>: データの配信の肝です。</li>



<li><strong>静的コンテンツ origin</strong>: Amazon S3 から画像やCSS/JSをキャッシュして高速配信。</li>



<li><strong>動的コンテンツ origin</strong>: ALBを経由してWordPress（Fargate）に接続。</li>



<li><strong>Amazon S3</strong>: WordPressのメディアファイル（アップロード画像など）を保存するストレージ。静的ファイルの配信はここを起点に行います。</li>
</ul>



<p><strong>設計のポイント：</strong> <br>静的ファイルをCloudFront/S3へ外部化することで、Fargateコンテナの負荷を大幅に軽減し、かつユーザーの体感速度を向上させています。</p>



<h3 class="wp-block-heading">3-2. VPC内ネットワーク（Subnet設計）：疎結合と可用性の担保</h3>



<p>VPC内は、高可用性を実現するために2つのアベイラビリティゾーン（AZ-a、AZ-b）にまたがって設計しています。</p>



<ul class="wp-block-list">
<li><strong>Public Subnet</strong>: WordPressが動作するFargateコンテナを配置。</li>



<li><strong>Private Subnet</strong>: データベース（RDS）と、共有ストレージのマウントターゲット（EFS）を配置。外部からの直接アクセスを遮断し、セキュアに守ります。</li>
</ul>



<p><strong>コスト削減のポイント：</strong> <br>FargateコンテナはPrivate Subnet内に配置するとセキュリティを向上させることが可能ですが、NATゲートウェイ（月額2,000円ほど）が必要となります。<br>今回はコスト削減のためFargateコンテナはPublic Subnetに配置し、インバンドアクセスをALBに限定することでセキュリティを担保しています。</p>



<h3 class="wp-block-heading">3-3. ロードバランサー（ALB）：マルチAZ可用性の鍵</h3>



<ul class="wp-block-list">
<li><strong>ALB (Application Load Balancer)</strong>: Public Subnetにまたがって配置。CloudFrontからの動的リクエストを受け取り、背後のFargateタスクへ負荷分散します。</li>
</ul>



<p><strong>高可用性のポイント：</strong><br>ALBは、AZ-aとAZ-bの両方のサブネットを監視し、正常なタスクにのみリクエストを振るため、どちらかのAZで障害が発生してもサイトは落ちません。</p>



<h3 class="wp-block-heading">3-4. コンピュート層（Fargate）：ステートレス化とコスト最適化</h3>



<p>WordPressが動作するコンピュート層は、EC2ではなくマネージドなコンテナサービスである<strong>AWS Fargate</strong>を利用します。EC2のOSパッチ当てなどの運用負荷を軽減できます。</p>



<p>この構成の最大のポイントは、Fargateの<strong>AutoScalingによる高可用性</strong>の実現です。</p>



<ul class="wp-block-list">
<li><strong>On-Demand Base Task: </strong>常時1台起動する、サイトの「生命線」となるベースタスク。安定性を確保。</li>



<li><strong>Spot Task: </strong>負荷に応じて追加されるタスク。負荷低減により自動で停止。</li>
</ul>



<p><strong>コスト削減のポイント：</strong> <br>今回は学習目的のため、スケールアウトで追加される2台目以降のFargateはSpot Taskを採用しています。<br>Spot Taskはオンデマンドと比較して最大80-90%引きと安価に使用可能ですが、AWSのリソースが枯渇するとタスクが中断されるデメリットがあります。実際の案件ではオンデマンド：Spot は 50:50 の程度の比率が現実的です。</p>



<p><strong>学習のポイント：</strong><br>Fargateコンテナをステートレス化（ファイルはEFS、メディアはS3、DBはRDSへ外部化）しているため、Spot Task の突然の中断にも耐えられる設計になっています。</p>



<h3 class="wp-block-heading">3-5. データベース層（RDS）：コスト優先のSingle AZ構成</h3>



<ul class="wp-block-list">
<li><strong>Amazon RDS for MySQL [Single AZ]</strong>: データベースはプライベートサブネットに配置。Fargateからの接続のみを許可。</li>
</ul>



<p><strong>コストと可用性のトレードオフ：</strong><br> 高可用性を目指すならRDSもマルチAZ（Multi-AZ）にすべきですが、今回は<strong>「学習目的」であり「削れるコストは削る」</strong>という方針のため、あえてSingle AZ構成にしています。これにより、RDSのコストを大幅に削減しています。<br>コスト度外視で高可用性・耐久性・性能を求める場合はAWS Auroraも使用可能です。</p>



<h3 class="wp-block-heading">3-6. ストレージ層（EFS）：Fargateステートレス化の肝</h3>



<ul class="wp-block-list">
<li><strong>Amazon EFS (Elastic File System)</strong>: Fargateコンテナは起動・終了を繰り返すため、コンテナ内にテーマ、プラグイン、設定ファイルを保存できません。これらを複数のFargateコンテナ間で共有・保存するための共有ストレージです。</li>



<li><strong>EFS Mount Target</strong>: 各AZのプライベートサブネットにマウントターゲットを配置し、Fargateからマウントします。</li>
</ul>



<p><strong>疎結合設計のポイント：</strong> <br>Lightsailでは1つのVPS内にあったすべてのファイルを、Fargate、RDS、EFS、S3へと外部化した疎結合設計にすることで、スケーラビリティと可用性を実現しています。</p>



<h2 class="wp-block-heading">4. 既存Lightsail環境からの移行手順</h2>



<p>Lightsailの環境（WordPress Certified by Bitnami）からの移行は、以下のようなステップになります。</p>



<ol class="wp-block-list">
<li>各コンポーネントの作成</li>



<li>中心となるFargateとRDS,EFS,ALBを接続</li>



<li>LightsailのMySQLからデータをエクスポート（mysqldump）</li>



<li>RDSへデータをインポート（Fargate経由）</li>



<li>テーマファイルをFargate WordPressの管理画面からアップロード（マウント済みのEFSに自動アップロード）</li>



<li>プラグインをFargate WordPressの管理画面からインストール&amp;有効化</li>



<li>LightsailのWordPressからwp-content/uploadsディレクトリをS3へコピー</li>



<li>Fargate WordPressメディアアップロードから画像がS3にアップされるように接続</li>



<li>CloudFrontとALB,S3を接続し、動的ページをALB、静的ファイルをS3から取得するようビヘイビア設定</li>



<li>動作検証（WordPress動作やスケールアウトなど）</li>



<li>WordPressサイトURLやDB内URLを本番ドメインに切り替え</li>



<li>Route 53でDNSを切り替え</li>



<li>DNS浸透待ちで数日経過後にLightsail停止</li>
</ol>



<p>このプロセスを通じて、Lightsailという「オールインワン」のシンプルさから、AWSの基本サービスの「疎結合設計」への変化を深く理解できます。</p>



<h2 class="wp-block-heading">5. この構成を作るにあたって学んだこと</h2>



<p>以下のAWS技術と設計思想を理解し、実際に作成できることの証明ができます。</p>



<ul class="wp-block-list">
<li><strong>疎結合設計（Decoupled Architecture）</strong>: Web、DB、Storage、Global Servicesの分離。</li>



<li><strong>高可用性（High Availability）</strong>: CloudFront、ALB、マルチAZネットワーク設計の理解。</li>



<li><strong>コスト最適化（Cost-Optimized）</strong>: Fargate Spot、Single AZ RDSの使い分け。</li>



<li><strong>AWSの基本サービスの理解</strong>: Route 53, CloudFront, ACM, ALB, VPC (Subnet/SG), Fargate, RDS, EFS, S3</li>



<li><strong>コンテナ技術</strong>: Fargateの利用とコンテナのステートレス化。</li>



<li><strong>トレードオフの理解</strong>: 学習目的として可用性とコストのバランスを意識した設計（例：RDS Single AZ）。</li>
</ul>



<h3 class="wp-block-heading">5-1. 苦労したポイント</h3>



<ul class="wp-block-list">
<li><strong>CloudFrontがWordPressログインユーザーのアクセスをキャッシュしてしまう：</strong><br>CloudFrontのキャッシュポリシーを変更し、WordPressログインを判別するCookieを持ったアクセスはキャッシュさせない</li>



<li><strong>Fargateコンテナの操作：</strong><br>EFSマウントしたファイル以外は保持されず、デフォルトだと機能が最小限でzip解凍すらできなかった</li>



<li><strong>RDSが直接操作不可：</strong><br>RDSがPrivate Subnet内に存在するため直接接続ができずFargate経由で接続する必要があった</li>



<li><strong>エラー原因の特定：</strong><br>複数のコンポーネントに跨るため、どこにエラーがあったか特定が難しい</li>



<li><strong>料金が高い：</strong><br>可能な限りコストを削減するための構成かつ安価なプランを使用したが、それでも月8,000円ほどかかる見込み<br>RDS無料枠はAWSアカウントを作成して1年間のみなのが痛い</li>
</ul>



<h2 class="wp-block-heading">6. まとめと今後の展望</h2>



<p>この構成は、学習用としてはかなり実戦的なWordPress環境が作成できたのではと思います。Lightsailからのステップアップとして、Fargateや疎結合設計を学ぶのに最適でした。</p>



<p>ただし、小規模なブログを運用するには過剰なスペックかつ高価です。おとなしく国内レンタルサーバー + Cloudflare を使用した安価な環境が現実的でしょう。<br>僕はしばらく学習に使用する際にのみ起動し、Lightsailでの運用を継続しようと思います。</p>



<p>今後の展望としては、以下を想定しています。</p>



<ul class="wp-block-list">
<li>CloudFrontのより詳細なキャッシュ設定</li>



<li>IaC を使用したstg環境の作成</li>



<li>GitHub からの CI/CD</li>



<li>Lambda@Edgeを使用したS3画像ファイルのWebP,AVIF生成自動化</li>
</ul>



<p>ご相談・ご依頼お待ちしております。</p>



<p style="text-align: center;">
    <a href="/contact/" class="opti-btn">お問い合わせはこちら</a>
</p>
]]></content:encoded>
					
					<wfw:commentRss>https://opticode-lab.com/works/1543/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>新規サイト構築 Lightsail + WordPress を使用したAWS環境でのブログ構築</title>
		<link>https://opticode-lab.com/works/1445/</link>
					<comments>https://opticode-lab.com/works/1445/#respond</comments>
		
		<dc:creator><![CDATA[るた]]></dc:creator>
		<pubDate>Tue, 03 Mar 2026 08:21:46 +0000</pubDate>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Lightsail]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://opticode-lab.com/?p=1445</guid>

					<description><![CDATA[当サイトの構築および運用を担当しています。主に学習目的のためサイト自体はシンプルな構成です。 要件 実績作り兼AWS学習を目的としたブログメディア構築 後ほど EC2+RDS+S3+CloudFront 環境へ移行するこ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>当サイトの構築および運用を担当しています。<br>主に学習目的のためサイト自体はシンプルな構成です。</p>



<h2 class="wp-block-heading">要件</h2>



<p>実績作り兼AWS学習を目的としたブログメディア構築</p>



<p>後ほど EC2+RDS+S3+CloudFront 環境へ移行することを前提として <a href="https://aws.amazon.com/jp/lightsail/" target="_blank" rel="noreferrer noopener nofollow">AWS Lightsail</a> にてサイトを作成し、ドメインやルーティングは <a href="https://aws.amazon.com/jp/route53/" target="_blank" rel="noreferrer noopener nofollow">Route53</a> を使用する。</p>



<p>計測・広告のタグなど、ハードコーディングは避け管理画面で設定可能とする。</p>



<h2 class="wp-block-heading">実施内容</h2>



<ul class="wp-block-list">
<li><strong>サイトデザイン作成</strong><br>Geminiにてベースデザインを作成し微調整</li>



<li><strong>インフラ構築</strong><br>AWS Lightsail + WordPress + Route53、CloudWatchによる監視</li>



<li><strong>WordPress設計・構築</strong><br>既存テーマは使用せず新規テーマ作成</li>



<li><strong>広告</strong><br>GoogleAdsenceによるディスプレイ広告およびAmazon、楽天などのアフィリエイト広告を導入</li>



<li><strong>SEO施策</strong><br>プラグインを使用しないsitemapやcanonical指定等、標準的なSEO設定のみ</li>



<li><strong>セキュリティ</strong><br>セキュリティプラグインの導入</li>



<li><strong>運用</strong><br>コードはGit管理、広告はGoogleTagManager or 管理画面</li>
</ul>



<h2 class="wp-block-heading">使用技術</h2>



<ul class="wp-block-list">
<li>HTML/CSS</li>



<li>JavaScript</li>



<li>PHP</li>



<li>WordPress</li>



<li>AWS Lightsail</li>



<li>Route53</li>



<li>CloudWatch</li>
</ul>



<h2 class="wp-block-heading">まとめ</h2>



<p>まずは最低限の実装から始めています。<br>SEOプラグインを導入せず一つずつ自前で設定しており、想定より工数がかかってしまったため、次回からはおとなしく既存のプラグインを使用したほうがよさそうです。</p>



<p>また今回は学習のためAWS Lightsailを使用しましたが、小規模なメディアであればConoHa wingなどの<strong>国内レンタルサーバーを使用するほうが安価で簡単</strong>です。</p>



<p>ディレクションばかりやってましたが、実はコードを触るほうが好きです。</p>



<h2 class="wp-block-heading">こんな相談に対応できます</h2>



<p>当サイトと同程度の規模でしたら10営業日ほどで作成可能です。</p>



<p>ご相談・ご依頼お待ちしております。</p>



<p style="text-align: center;">
    <a href="/contact" class="opti-btn">お問い合わせはこちら</a>
</p>
]]></content:encoded>
					
					<wfw:commentRss>https://opticode-lab.com/works/1445/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gemini AI 学習コーチを活用した資格の勉強方法（AWS SAA）</title>
		<link>https://opticode-lab.com/technology/1417/</link>
					<comments>https://opticode-lab.com/technology/1417/#respond</comments>
		
		<dc:creator><![CDATA[るた]]></dc:creator>
		<pubDate>Sat, 28 Feb 2026 20:28:57 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[資格]]></category>
		<guid isPermaLink="false">https://opticode-lab.com/?p=1417</guid>

					<description><![CDATA[この記事では、GoogleのAI Geminiを利用した資格取得のための学習方法について解説します。内容はAWS SAA（ソリューションアーキテクト アソシエイト）の学習になっていますが、その他の資格全般に活かせる内容と [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>この記事では、GoogleのAI Geminiを利用した資格取得のための学習方法について解説します。<br>内容は<a href="https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/" data-type="link" data-id="https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/" target="_blank" rel="noreferrer noopener nofollow">AWS SAA（ソリューションアーキテクト アソシエイト）</a>の学習になっていますが、その他の<strong>資格全般に活かせる</strong>内容となっています。</p>



<p>この記事を読むと：</p>



<ul class="wp-block-list">
<li>効率的な資格の学習方法がわかる</li>



<li>移動中など、<strong>手軽にスマホで勉強</strong>ができる</li>



<li><strong>無料で試験対策</strong>ができる</li>
</ul>



<h2 class="wp-block-heading">資格対策にお金を払う時代は終わった</h2>



<p>これまでの資格と言えば、試験対策テキストやオンラインカリキュラムなどの効率よく学習する手段には<strong>お金を払う</strong>必要がある、というのが常識でした。<br>それもそのはず、膨大な出題範囲を解りやすくまとめ、試験に出やすいポイントや最新情報を押さえ、練習問題を作成する。といった<strong>とてつもない労力</strong>がかかるものに<strong>コストがかかって当然</strong>なのです。</p>



<p>しかし、AIが登場してから<strong>この常識は終わった</strong>と感じています。</p>



<p>AIは学習によって膨大なデータを取得し、試験範囲に沿って情報を出力する能力を持っているため、これまで人間が時間をかけてきたことを<strong>ノーコスト</strong>でやってしまいます。<br><strong>練習問題が欲しければすぐに出力</strong>し、<strong>間違った問題は解説</strong>してくれます。<br>さらに、<strong>質問すればなんでも深堀して回答</strong>してくれる、さながら<strong>家庭教師のような役割</strong>を持っています。</p>



<p>これは<strong>革命</strong>です。あと商売上がったりです。<br>とは言え利用しない手は無いです。</p>



<h2 class="wp-block-heading">Gem 学習コーチとは？なにができる？</h2>



<p>この記事では <strong>Gem 学習コーチ</strong> というものを使用してみたいと思います。</p>



<p>まず Gem とは、Google Geminiをベースとした<strong>特定の役割やタスクに特化した「自分専用のGemini」</strong>をカスタマイズできる機能です。<br>以前は有料だったようですが、2026年3月現在では<strong>無料で使用</strong>できます。</p>



<p>その中の <strong>Gem学習コーチ（Learning Coach）</strong>は Google公式が提供しているプリセットの一つで、<strong>「理解を深めるための導き」</strong>に特化した<strong>AI家庭教師 </strong>らしいです。（Gemini本人談）</p>



<p>Gem学習コーチは以下のようなことができます。</p>



<h3 class="wp-block-heading">資格取得までの学習プランを作成</h3>



<p>学習を始める際に何から手を付ければいいのか、どういったペースで進めればいいか、と悩むことがあるかと思いますが、<strong>試験日を伝えればそこから逆算した学習プランを作成</strong>してくれます。</p>



<h3 class="wp-block-heading">直感的に理解しやすい説明</h3>



<p>説明を聞いても「？」となってしまう内容を、直感的にわかるような<strong>例えを混ぜつつかみ砕いて説明</strong>してくれます。<br>逆にユーザー側が「これって〇〇みたいなもの？」と質問すれば、合っているかどうか判断してくれます。<br>もちろん理解できるまで付き合ってくれます。</p>



<h3 class="wp-block-heading">画像で視覚的に説明</h3>



<p>画像生成能力があるため、<strong>「図で表してみて」「画像で見せて」</strong>と言えば、<strong>説明した内容に沿った画像を作成</strong>してくれます。<br>注意点としてはAIは日本語（特に漢字）の画像出力が苦手なためテキストは英語で出力されることが多いです。</p>



<h3 class="wp-block-heading">問題の作成・解説</h3>



<p>練習問題を作成し、間違えれば詳しく解説してくれます。<br>実際の試験で出やすいポイントや覚え方のコツ、苦手な分野も把握して重点的に問題を作ってくれます。</p>



<p>興味があれば自身でGemを作成することもできます。<br>Gemの作成方法は <a href="https://support.google.com/gemini/answer/15146780?hl=ja" target="_blank" rel="noreferrer noopener nofollow">GeminiアプリでGemを使用する</a> でご確認ください。</p>



<h2 class="wp-block-heading">Geminiを使用するにあたっての注意点</h2>



<p>Geminiに限らずAIを使用する場合に気を付けるべきこととして、<strong>「AIは間違える可能性がある」</strong>ということです。<br>おかしなことを言っていると思った場合は<strong>自分で調べる</strong>ことをオススメします。</p>



<p>とはいえAWS SAAの資格試験のような<strong>明確に正解が決まっているものはほぼ間違えることは無い</strong>と思います。安心して学習を進めましょう。</p>



<h2 class="wp-block-heading">Gem 学習コーチを使ってみる</h2>



<p>ここからは実際にGem学習コーチを使ってみます。<br>まずはGoogleGeminiにアクセスし、左上のメニューを開き「Gem」を押下します。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="544" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235818.webp" alt="メニュー内Gemの位置ともっと見る" class="wp-image-1427" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235818.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235818-300x159.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235818-768x408.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gemini：Gem選択</figcaption></figure>
</div>


<p>Gemマネージャーの中の「学習コーチ」を押下します。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="615" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235948.webp" alt="学習コーチの位置" class="wp-image-1428" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235948.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235948-300x180.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-02-28-235948-768x461.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gemini：学習コーチ選択</figcaption></figure>



<p>資格名、試験日、学習ペースなどを伝え、学習プランを作成してもらいます。<br>いつでも受けられる試験なら、試験日も相談してみるのもオススメです。</p>



<p>以下はプロンプトの例です。</p>



<pre class="wp-block-code"><code>以下の条件で資格取得のための学習プランを作成して

資格名：〇〇〇〇
試験日：〇月〇日、〇カ月後 など
今のレベル：全くの未経験、基礎はわかる、実務経験あり など
学習ペース：1日〇時間、週〇時間、余裕を持った</code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="960" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045525.webp" alt="学習コーチから学習プランの提示" class="wp-image-1423" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045525.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045525-300x281.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045525-768x720.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gem学習コーチ：プラン作成</figcaption></figure>
</div>


<p>問題なさそうなので、さっそく学習プランの最初から始めてもらいます。</p>



<p>ここからは解説と試験で出るポイントなどを解りやすく説明してくれます。<br>何も言わなければテキストしかくれないので、疑問があれば質問したり画像を使った説明をお願いしながら学習を進めていきましょう。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="986" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045608.webp" alt="" class="wp-image-1424" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045608.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045608-300x289.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045608-768x740.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gem学習コーチ：授業風景</figcaption></figure>
</div>


<p>ちなみに画像をお願いするとこんなのが出てきます。<br>見切れてますが、この画像の下にはテキストで詳細な説明があります。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="861" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045754.webp" alt="図解の依頼とGem学習コーチによる構成図の生成と解説" class="wp-image-1426" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045754.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045754-300x252.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045754-768x646.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gem学習コーチ：画像で説明</figcaption></figure>
</div>


<p>一区切りつくと<strong>「小テスト」や「クイズ」</strong>を出して理解できているか確認してきます。<br>だいたい3択から選ぶ感じです。間違えた場合は問題を詳しく解説してくれます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1024" height="889" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045648.webp" alt="Gem学習コーチが出題する小テスト" class="wp-image-1425" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045648.webp 1024w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045648-300x260.webp 300w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-045648-768x667.webp 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Gem学習コーチ：小テスト</figcaption></figure>
</div>


<p>これを繰り返して学習していきます。<br>学習プラン通りの良いペースで進んでいると「今日はここまでにしますか？」と言ってくれるので、そこが辞め時です。</p>



<p>次回学習するときに話しかければ続きから進めてくれます。</p>



<h2 class="wp-block-heading">最後の追い込み！<strong>フラッシュカード</strong>で練習問題</h2>



<p>Gem 学習コーチは1つずつ丁寧に説明してくれるのが強みですが、その思想が邪魔をして<strong>試験直前のとにかく問題を多くこなすのが不得意</strong>です。</p>



<p>そのため最後はGem学習コーチではなく<strong>通常のGemini</strong>に問題を出してもらいましょう。</p>



<p>「試験名」「問題数」「<strong>フラッシュカードで作成して</strong>」と伝えると、以下のような形式で作成した問題を表示してくれます。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="988" height="1024" src="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-043155-988x1024.webp" alt="AWS SAA-C03 対策模擬クイズ20問" class="wp-image-1421" srcset="https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-043155-988x1024.webp 988w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-043155-290x300.webp 290w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-043155-768x796.webp 768w, https://opticode-lab.com/wp-content/uploads/2026/03/2026-03-01-043155.webp 1024w" sizes="auto, (max-width: 988px) 100vw, 988px" /><figcaption class="wp-element-caption">Gemini：フラシュカードを使った練習問題</figcaption></figure>
</div>


<p>回答をタップすれば正解・不正解を表示してくれるので、通勤・通学や時間が無い時など、<strong>スマホで簡単に学習</strong>が進められます。これが非常に便利。</p>



<p>ただし、Geminiはフラッシュカードで何が不正解だったかを取得できないようで、解説が必要なときは「問〇の解説して」のように伝える必要があります。</p>



<p>ラストスパートとしてどんどん問題を解きましょう。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>今回はGeminiおよびGem学習コーチを使用した資格試験対策について解説しました。<br>ポイントをまとめると：</p>



<ul class="wp-block-list">
<li>Gemコーチによる学習プラン作成と実行</li>



<li>Geminiフラッシュカードによるラストスパート</li>
</ul>



<p>正直なところ、すごいと感じると同時に怖いとも感じました。<br>僕らが頑張って勉強していることは既にAIが知っていること。少なくとも資格に関してはそう思ってしまいました。</p>



<p>とは言えAIが正しいかどうかを判断する人間は必要。使う側で居続けるためにも日々精進ですね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://opticode-lab.com/technology/1417/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
