<?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>サーバーワークスエンジニアブログ</title>
	<atom:link href="http://blog.serverworks.co.jp/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.serverworks.co.jp/tech</link>
	<description>AWSに特化したクラウドインテグレーターの中の人が伝える技術ブログ</description>
	<lastBuildDate>Mon, 27 Jul 2020 14:13:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.15</generator>
	<item>
		<title>CloudFront のジオターゲティングがより詳細にできるようになりました</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/27/cloudfront-geolocation-headers/</link>
		<pubDate>Mon, 27 Jul 2020 14:13:57 +0000</pubDate>
		<dc:creator><![CDATA[yamanaka]]></dc:creator>
				<category><![CDATA[アップデート]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[Amazon CloudFront]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88927</guid>
		<description><![CDATA[はじめに こんにちは、技術1課の山中です。 もうすぐ梅雨があけそうで、気持ちは向上しているのですが夏の暑さを想像するとそれはそれできつそうですね。 今回は CloudFront のジオターゲティングに関するアップデートです。 これまでも CloudFront がオリジンへ送信するリクエストヘッダーとして閲覧者の 国コード を送信することができましたが、今回のアップデートで更に詳細なヘッダをセットできるようになったようです！！ Amazo...]]></description>
				<content:encoded><![CDATA[<h1 id="">はじめに</h1>
<p>こんにちは、技術1課の山中です。<br />
もうすぐ梅雨があけそうで、気持ちは向上しているのですが夏の暑さを想像するとそれはそれできつそうですね。<br />
今回は CloudFront のジオターゲティングに関するアップデートです。<br />
これまでも CloudFront がオリジンへ送信するリクエストヘッダーとして閲覧者の <strong>国コード</strong> を送信することができましたが、今回のアップデートで更に詳細なヘッダをセットできるようになったようです！！</p>
<p><a href="https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfront-geolocation-headers/">Amazon CloudFront adds additional geolocation headers for more granular geotargeting</a></p>
<h1 id="-1">アップデート内容</h1>
<p>CloudFront のダイナミックコンテンツ機能で、ヘッダーをオリジンへ転送することができます。</p>
<p><a href="https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-cloudfront-headers.html">Using the CloudFront HTTP headers &#8211; Amazon CloudFront</a></p>
<p>オリジンの任意のヘッダー情報以外にも CloudFront 側でクライアントの情報を独自に判定しオリジンに転送する <strong>カスタムヘッダー</strong> にも対応しています。<br />
これまで CloudFront のカスタムヘッダーとしては、以下がありました。</p>
<table border>
<tr>
<th bgcolor="#d3d3d3">Type</th>
<th bgcolor="#d3d3d3">Header</th>
<th bgcolor="#d3d3d3">詳細</th>
</tr>
<tr>
<td>接続プロコル判定</td>
<td>CloudFront-Forwarded-Proto</td>
<td>HTTP もしくは HTTPS を設定</td>
</tr>
<tr>
<td>HTTP バージョン判定</td>
<td>CloudFront-Viewer-Http-Version</td>
<td>HTTP バージョンを設定</td>
</tr>
<tr>
<td>デバイス判定</td>
<td>CloudFront-Is-Android-Viewer<br />CloudFront-Is-Desktop-Viewer<br />CloudFront-Is-IOS-Viewer<br />CloudFront-Is-Mobile-Viewer<br />CloudFront-Is-SmartTV-Viewer<br />CloudFront-Is-Tablet-Viewer</td>
<td>User-Agent をもとに、クライアントデバイスの情報を True/False で設定</td>
</tr>
<tr>
<td>地域判定</td>
<td>CloudFront-Viewer-Country</td>
<td>クライアントの IP アドレスをもとに、地域コードを設定 (ISO-3166-1 alpha-2 準拠)</td>
</tr>
<tr>
</table>
<p>今回のアップデートで新たに地域判定のカスタムヘッダーが追加され、閲覧者の IP アドレスに基づいて、 <strong>国名</strong> 、 <strong>地域</strong> 、 <strong>都市</strong> 、 <strong>郵便番号</strong> 、 <strong>緯度</strong> 、 <strong>経度</strong> 等をヘッダーとしてオリジンに送信することができるようになりました。</p>
<table border>
<tr>
<th bgcolor="#d3d3d3">Type</th>
<th bgcolor="#d3d3d3">Header</th>
<th bgcolor="#d3d3d3">サンプル値</th>
</tr>
<tr>
<td rowspan="9">地域判定</td>
<td>CloudFront-Viewer-Country-Name</td>
<td>米国</td>
</tr>
<tr>
<td>CloudFront-Viewer-Country-Region</td>
<td>MI</td>
</tr>
<tr>
<td>CloudFront-Viewer-Country-Region-Name</td>
<td>ミシガン</td>
</tr>
<tr>
<td>CloudFront-Viewer-City</td>
<td>アナーバー</td>
</tr>
<tr>
<td>CloudFront-Viewer-Postal-Code</td>
<td>48105</td>
</tr>
<tr>
<td>CloudFront-Viewer-Time-Zone</td>
<td>アメリカ/デトロイト</td>
</tr>
<tr>
<td>CloudFront-Viewer-Latitude</td>
<td>42.30680</td>
</tr>
<tr>
<td>CloudFront-Viewer-Longitude</td>
<td>-83.70590</td>
</tr>
<tr>
<td>CloudFront-Viewer-Metro-Code</td>
<td>505</td>
</tr>
</table>
<p>これらを利用することで例えば、視聴者の場所に合わせた広告を表示したり、同じ国でも異なる言語 (方言等) の HTML を返したりすることができます。</p>
<h2 id="-2">料金</h2>
<p>新しく追加された地域判定のカスタムヘッダーは追加料金なしで利用することが可能です。</p>
<h1 id="-3">試してみる</h1>
<p>早速試してみましょう。</p>
<h2 id="-4">事前準備</h2>
<p>事前にオリジンに指定するための EC2 を 1 台準備しておきます。<br />
EC2 には Apache と PHP をインストールし、以下ファイルをドキュメントルートに配置しています。<br />
これは、ヘッダー情報を表示するだけの PHP ファイルです。</p>
<p></p><pre class="crayon-plain-tag">&lt;?php
foreach (getallheaders() as $name =&gt; $value) {
    echo &quot;$name: $value\n&quot;;
    echo &quot;&lt;br&gt;&quot;;
}
?&gt;</pre><p></p>
<p>ちなみに、 CloudFront を通さず EC2 に直接アクセスした場合は以下が表示されます。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw-1024x159.png" alt="" width="1024" height="159" class="alignnone size-large wp-image-88930" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw-1024x159.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw-300x47.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw-450x70.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw-900x140.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/ec2-18-181-150-246.ap-northeast-1.compute.amazonaw.png 1188w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2 id="-5">オリジンリクエストポリシー</h2>
<p>まずは、カスタムヘッダーがオリジンに送信されるようにオリジンリクエストポリシーを作成します。<br />
CloudFront の画面から <strong>Policies</strong> &#8211; <strong>Create origin request policy</strong> をクリックしましょう。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-14-26-1024x396.png" alt="" width="1024" height="396" class="alignnone size-large wp-image-88931" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-14-26-1024x396.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-14-26-300x116.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-14-26-450x174.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-14-26-900x348.png 900w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
ポリシー名を入力し、 <strong>Origin request contents</strong> の <strong>Headers</strong> で <strong>All Viewer headers and whitelisted CloudFront-* headers</strong> を選択し、オリジンに送信したい地域判定用のカスタムヘッダーを選んでいきます。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-1024x697.png" alt="" width="1024" height="697" class="alignnone size-large wp-image-88932" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-1024x697.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-300x204.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-140x96.png 140w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-280x192.png 280w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-450x306.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46-900x612.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-18-46.png 1323w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
選び終わったら、 <strong>Create origin request policy</strong> ボタンをクリックして作成します。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-21-25-1024x457.png" alt="" width="1024" height="457" class="alignnone size-large wp-image-88933" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-21-25-1024x457.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-21-25-300x134.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-21-25-450x201.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/CloudFront-2020-07-27-22-21-25-900x402.png 900w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2 id="cloudfront-1">CloudFront ディストリビューションの作成</h2>
<p>続いて CloudFront ディストリビューションの作成を行います。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10-1024x143.png" alt="" width="1024" height="143" class="alignnone size-large wp-image-88934" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10-1024x143.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10-300x42.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10-450x63.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10-900x125.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-10.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36-1024x466.png" alt="" width="1024" height="466" class="alignnone size-large wp-image-88935" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36-1024x466.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36-300x136.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36-450x205.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36-900x409.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-34-36.png 1535w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
<strong>Origin Settings</strong> では EC2 のパブリック DNS を設定し、あとはデフォルトのままとします。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12-1024x823.png" alt="" width="1024" height="823" class="alignnone size-large wp-image-88936" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12-1024x823.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12-300x241.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12-398x320.png 398w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12-796x640.png 796w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-36-12.png 1105w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
<strong>Default Cache Behavior Settings</strong> の設定に移ります。<br />
基本はデフォルト設定のままですが、今回はキャッシュをさせないように Cache Policy で <strong>Managed-CachingDisabled</strong> を選んでいます。<br />
また、 Origin Request Policy で先ほど作成した <strong>Custom-Geolocation-Headers</strong> を選択します。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05-1024x881.png" alt="" width="1024" height="881" class="alignnone size-large wp-image-88937" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05-1024x881.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05-300x258.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05-372x320.png 372w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05-744x640.png 744w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/AWS-CloudFront-Management-Console-2020-07-27-22-37-05.png 1042w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
他はデフォルト設定のままで <strong>Create Distribution</strong> ボタンをクリックして作成しましょう。<br />
しばらく経つと、ステータスが <strong>Deployed</strong> に変わりデプロイが完了します。</p>
<h2 id="cloudfrontweb">CloudFront 経由で Web ページにアクセスしてみる</h2>
<p>デプロイができたので早速アクセスしてみましょう。<br />
CloudFront のドメインをブラウザで開くと以下のような画面が表示されました。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/dc36kii44j9zg.cloudfront.net-2020-07-27-22-50-09.png" alt="" width="960" height="334" class="alignnone size-full wp-image-88938" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/dc36kii44j9zg.cloudfront.net-2020-07-27-22-50-09.png 960w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/dc36kii44j9zg.cloudfront.net-2020-07-27-22-50-09-300x104.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/dc36kii44j9zg.cloudfront.net-2020-07-27-22-50-09-450x157.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/dc36kii44j9zg.cloudfront.net-2020-07-27-22-50-09-900x313.png 900w" sizes="(max-width: 960px) 100vw, 960px" /><br />
完全に正確な情報、までとはいかないですがおおよその位置が合っていてびっくりしました。<br />
埼玉や神奈川の同僚にも同様にクリックしてもらったのですが、同じような結果で結構精度が高いことがわかりました。</p>
<h2 id="-6">おわりに</h2>
<p>あまり見たことはないですが、今回のアップデートで視聴者の詳細な位置情報がわかるようになったので、熊本のユーザーだったら熊本弁でコンテンツを返すとか、大阪だったら大阪弁で返すとか、そんなユニークな体験を提供できそうですし、他にも色々と実用性があるのではないでしょうか。</p>
<p>この内容は 2020/7/29(水) 18:00 よりYouTube にて配信する「30分でわかる AWS UPDATE！」で取り上げますので、是非ご覧ください！<br />
チャンネル登録よろしくおねがいします！！<br />
<a href="https://www.youtube.com/c/ServerworksJp?sub_confirmation=1">サーバーワークス チャンネル &#8211; YouTube</a></p>
<h2 id="-7">参考</h2>
<ul>
<li><a href="https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfront-geolocation-headers/">Amazon CloudFront adds additional geolocation headers for more granular geotargeting</a></li>
<li><a href="https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/using-cloudfront-headers.html">Using the CloudFront HTTP headers &#8211; Amazon CloudFront</a></li>
</ul>
]]></content:encoded>
			</item>
		<item>
		<title>[2020/07/21 Update] AWS CodeBuild のビルド環境にログインできるようになりました</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/27/post-88915/</link>
		<pubDate>Mon, 27 Jul 2020 08:00:23 +0000</pubDate>
		<dc:creator><![CDATA[hashimoto]]></dc:creator>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[アップデート]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Session Manager]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88915</guid>
		<description><![CDATA[掲題の通り、 2020/07/21 のアップデートによって実行中の CodeBuild のビルド環境に入れるようになりました。 AWS CodeBuild now supports accessing Build Environments with AWS Session Manager AWS CodeBuild &#8211; View a running build in Session Manager これまで、 CodeBui...]]></description>
				<content:encoded><![CDATA[<p>掲題の通り、 2020/07/21 のアップデートによって実行中の CodeBuild のビルド環境に入れるようになりました。</p>
<ul>
<li><a href="https://aws.amazon.com/jp/about-aws/whats-new/2020/07/aws-codebuild-now-supports-accessing-build-environments-with-aws-session-manager/">AWS CodeBuild now supports accessing Build Environments with AWS Session Manager</a></li>
<li><a href="https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html">AWS CodeBuild &#8211; View a running build in Session Manager</a></li>
</ul>
<p>これまで、 CodeBuild の実行中の環境をデバッグする方法はログ出力を確認して都度 buildspec を修正する、といった程度でした。今回のアップデートによって、実行中のビルドジョブを一時停止して、ユーザーがシェル環境に入って調査タスクを行えるようになりました。</p>
<p>今回はこの機能について紹介してみます。</p>
<p><span id="more-88915"></span></p>
<h1>前提</h1>
<p>この機能はログインするために Session Manager を利用しています。そのため、前提条件として CodeBuild のサービスロールに Session Manager のためのポリシーを付ける必要があります（マネジメントコンソール上で、ビルドジョブ実行時に自動的に権限を付与させることも可能です）。</p>
<h1>どうやって試せばいいの？</h1>
<p>詳しいことは GitHub で公開していますので、そちらをご覧ください。</p>
<p><a href="https://github.com/hassaku63/codebuild-sessionmanager-sample">GitHub &#8211; hassaku63/codebuild-sessionmanager-sample</a></p>
<p>CloudFormation のスタックを用意していますので、さくっと検証していただけると思います。<a href="https://github.com/hassaku63/codebuild-sessionmanager-sample/blob/master/how-to-try-it.md">ざっくりした手順</a>も書きましたので、そちらもご覧ください。</p>
<p><a href="https://github.com/hassaku63/codebuild-sessionmanager-sample/blob/master/how-to-try-it.md">hassaku63/codebuild-sessionmanager-sample &#8211; How to try it ?</a></p>
<p>Python プロジェクトで、ユニットテストを実行するジョブを実行させる想定で buildspec を書いています。buildspec はスタック定義にベタ書きです。</p>
<p>既に buildspec.yml を含んだコードレポジトリを持っている方であれば、スタックの buildspec のプロパティを削除していただければOKです。</p>
<h1>使いどころ</h1>
<p>本番環境で必要になる機能ではないと思うので、開発フェーズにおける検証に利用するものとして使っていくことになると思います。</p>
<p>例えば、Python であれば以下のようなケースで使っていただくのが良いのではないかと思います。</p>
<ul>
<li>意図した通りに virtualenv が効いていないように見える</li>
<li>ビルド環境でインストールされている依存関係をチェックしたい</li>
<li>処理系のランタイム指定がちゃんと効いているかどうかを確認したい</li>
</ul>
<h1>さいごに</h1>
<p>例示のスタックでは Session Manager を利用するためのポリシーを CodeBuild に直接渡してしまっています。このポリシーは本番環境では（おそらく）不要かと思います。dev環境だけに適用したい場合は CloudFormation の if 関数を使うなどして開発環境の場合のみポリシーをアタッチするように書くなどすると良いと思います。</p>
<p><a href="https://github.com/aws/aws-codebuild-docker-images">CodeBuild のイメージは公開されている</a>ので、従来でもローカルでコンテナを立ち上げればビルド環境のシェルに入ること自体はできました。ただ、手軽にデバッグするなら実環境に入れた方が手軽でいいですよね。イメージ自体もかなりヘビーなのであんまりローカルに pull したくないですし（7GB くらいあったと思います。うろ覚えです）。</p>
<p>このアップデート、デバッグが捗る非常に便利な機能ですね。使える場面ではどんどん使っていこうと思います。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Amazon CloudFrontでCache policyとOrigin request policyが使えるようになりました！</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/27/cloudfront-cache-policy/</link>
		<pubDate>Mon, 27 Jul 2020 03:02:16 +0000</pubDate>
		<dc:creator><![CDATA[masaru.ogura]]></dc:creator>
				<category><![CDATA[アップデート]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[Amazon CloudFront]]></category>
		<category><![CDATA[Cache policy]]></category>
		<category><![CDATA[Origin request policy]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88895</guid>
		<description><![CDATA[こんにちは、技術1課の小倉です。 2020/7/22にアップデートがあり、Amazon CloudFrontでCache policyとOrigin request policyが使えるようになりました！ Amazon CloudFront announces Cache Key and Origin Request Policies 今までは、TTLなどのキャッシュ設定やオリジンへのリクエスト設定が複数のBehaviorで同じ設定の場...]]></description>
				<content:encoded><![CDATA[<p>こんにちは、技術1課の小倉です。<br />
2020/7/22にアップデートがあり、Amazon CloudFrontでCache policyとOrigin request policyが使えるようになりました！</p>
<p><a href="https://aws.amazon.com/about-aws/whats-new/2020/07/cloudfront-cache-key-policy/" target="_blank" rel="noopener">Amazon CloudFront announces Cache Key and Origin Request Policies</a></p>
<p>今までは、TTLなどのキャッシュ設定やオリジンへのリクエスト設定が複数のBehaviorで同じ設定の場合でも個別設定を行っていました。今回のアップデートで、キャッシュやオリジンのリクエストを事前にポリシーとして設定して、複数のBehaviorにポリシーを適用することができるようになり、構築や管理が容易になりました。</p>
<p>具体的にはBehaviorの下図の赤で囲んである設定がポリシーとして設定でき、[Cache and origin request settings] で [Use a cache policy and origin request policy]を選択することでポリシーを選択できるようになります。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0.png"><img class="alignnone size-full wp-image-88896" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0.png" alt="" width="684" height="908" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0.png 684w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0-226x300.png 226w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0-241x320.png 241w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/240215fd29306a1218c1bf7ae0a16af0-482x640.png 482w" sizes="(max-width: 684px) 100vw, 684px" /></a></p>
<h2>Amazon CloudFrontとは</h2>
<p>マネージド型のCDN(Content delivery network)サービスです。世界中にあるエッジロケーションで、静的コンテンツをキャッシュすることで、ユーザへの応答時間を短くし、オリジン(Webサーバなど)の負荷を軽減することができます。</p>
<p>AWS公式サイト : <a href="https://aws.amazon.com/jp/cloudfront/" target="_blank" rel="noopener">Amazon CloudFront</a></p>
<h2>設定方法</h2>
<p>まずは、Cache policyとOrigin request policyを作成します。<br />
ただ、デフォルトで用意されているポリシーがありますので、この内容の設定にしたいときはポリシーを作成せずに用意されているポリシーを適用することもできます。</p>
<p>CloudFrontのコンソールを開き、ナビゲーションペインの[Policies]をクリックします。<br />
Cache policyの作成は、[Cache policy]タブをクリックし、[Create cache policy]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530.png"><img class="alignnone size-full wp-image-88897" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530.png" alt="" width="1848" height="554" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530.png 1848w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530-300x90.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530-1024x307.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530-450x135.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042530-900x270.png 900w" sizes="(max-width: 1848px) 100vw, 1848px" /></a></p>
<p>以下の項目を入力して、[Create cache policy]をクリックします。</p>
<ul>
<li>Info</li>
<li>TTL Settings</li>
<li>Cache key contents</li>
</ul>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532.png"><img class="alignnone size-full wp-image-88898" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532.png" alt="" width="926" height="906" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532.png 926w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532-300x294.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532-327x320.png 327w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042532-654x640.png 654w" sizes="(max-width: 926px) 100vw, 926px" /></a></p>
<p>作成されました。<br />
Distiributionsという欄に適用されたDistiributionの数が表示され、Cache policyの名前をクリックするとどこのDistiributionに適用されているかを確認することができます。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534.png"><img class="alignnone size-full wp-image-88899" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534.png" alt="" width="1852" height="502" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534.png 1852w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534-300x81.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534-1024x278.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534-450x122.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042534-900x244.png 900w" sizes="(max-width: 1852px) 100vw, 1852px" /></a></p>
<p>同様にOrigin request policyを作成します。<br />
[Origin request policy]をクリックし、[Create origin request policy]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531.png"><img class="alignnone size-full wp-image-88900" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531.png" alt="" width="1860" height="556" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531.png 1860w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531-300x90.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531-1024x306.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531-450x135.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042531-900x269.png 900w" sizes="(max-width: 1860px) 100vw, 1860px" /></a></p>
<p>以下の項目を入力して、[Create cache policy]をクリックします。</p>
<ul>
<li>Info</li>
<li>Origin request contents</li>
</ul>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533.png"><img class="alignnone size-full wp-image-88901" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533.png" alt="" width="922" height="650" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533.png 922w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533-300x211.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533-450x317.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042533-900x634.png 900w" sizes="(max-width: 922px) 100vw, 922px" /></a>作成されました。<br />
Distiributionsという欄はCache policyと同様で適用されたDistiributionの数が表示され、Origin request policyの名前をクリックするとどこのDistiributionに適用されているかを確認することができます。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535.png"><img class="alignnone size-full wp-image-88903" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535.png" alt="" width="1852" height="548" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535.png 1852w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535-300x89.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535-1024x303.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535-450x133.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042535-900x266.png 900w" sizes="(max-width: 1852px) 100vw, 1852px" /></a></p>
<p>この作成したポリシーをDistiributionのBehaviorに適用します。<br />
今回は作成済みの設定に追加します。新規作成時でもBehaviorの設定でポリシーを適用することができます。</p>
<p>ナビゲーションペインの[Distiributions]をクリックし、変更対象のDistiribution IDをクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536.png"><img class="alignnone size-full wp-image-88905" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536.png" alt="" width="1910" height="512" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536.png 1910w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536-300x80.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536-1024x274.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536-450x121.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042536-900x241.png 900w" sizes="(max-width: 1910px) 100vw, 1910px" /></a></p>
<p>[Behaviors]タブをクリックし、変更対象にチェックを入れ、[Edit]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537.png"><img class="alignnone size-full wp-image-88906" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537.png" alt="" width="1908" height="508" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537.png 1908w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537-300x80.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537-1024x273.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537-450x120.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042537-900x240.png 900w" sizes="(max-width: 1908px) 100vw, 1908px" /></a></p>
<p>[Cache and origin request settings] で [Use a cache policy and origin request policy]を選択し、Cache PolicyとOrigin Request Policyに先ほど作成したポリシーを選択して、右下の[Yes, Edit]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538.png"><img class="alignnone size-full wp-image-88907" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538.png" alt="" width="882" height="950" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538.png 882w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538-279x300.png 279w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538-297x320.png 297w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042538-594x640.png 594w" sizes="(max-width: 882px) 100vw, 882px" /></a></p>
<p>設定できました。<br />
Cache Policy NameとOrigin Request Policy Nameの欄に適用されているポリシー名が表示されています。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539.png"><img class="alignnone size-full wp-image-88908" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539.png" alt="" width="1908" height="510" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539.png 1908w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539-300x80.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539-1024x274.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539-450x120.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042539-900x241.png 900w" sizes="(max-width: 1908px) 100vw, 1908px" /></a></p>
<h2>まとめ</h2>
<p>Amazon CloudFrontでCache policyとOrigin request policyが使えるようになりました。今まで個別で設定していたことがポリシーとして一元管理でき、設定管理が容易になりますので、使ってみてはいかがでしょうか。</p>
<p>また、本ブログの内容は2020/7/29(水) 18:00にYouTubeで配信される「30分でわかる AWS UPDATE！」でも取り上げる予定ですので、ぜひご覧ください！</p>
]]></content:encoded>
			</item>
		<item>
		<title>ウェブ・セキュリティ基礎試験（通称：徳丸基礎試験）に合格してきた</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/25/tokumarubasic/</link>
		<pubDate>Sat, 25 Jul 2020 06:59:57 +0000</pubDate>
		<dc:creator><![CDATA[watanabe]]></dc:creator>
				<category><![CDATA[技術]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88879</guid>
		<description><![CDATA[出来立てホヤホヤの徳丸基礎試験に合格してきたので、ドヤしたいと思います。 ウェブ・セキュリティ基礎試験（通称：徳丸基礎試験）とは 2020年7月15日に開始された試験 徳丸本の理解度を測る試験 徳丸浩氏が問題を作成 全40問、制限時間60分、４択問題、正答率70%以上で合格 詳細はこちらをご確認ください。 ウェブ・セキュリティ基礎試験(徳丸基礎試験） 試験内容 出題範囲も上記リンク先に記載ありますが、徳丸本の目次と完全に一致しています。...]]></description>
				<content:encoded><![CDATA[<p>出来立てホヤホヤの徳丸基礎試験に合格してきたので、ドヤしたいと思います。</p>
<h2>ウェブ・セキュリティ基礎試験（通称：徳丸基礎試験）とは</h2>
<ul>
<li>2020年7月15日に開始された試験</li>
<li><a href="https://wasbook.org/">徳丸本</a>の理解度を測る試験</li>
<li>徳丸浩氏が問題を作成</li>
<li>全40問、制限時間60分、４択問題、正答率70%以上で合格</li>
</ul>
<p>詳細はこちらをご確認ください。<br />
<a href="https://www.phpexam.jp/tokumarubasic/">ウェブ・セキュリティ基礎試験(徳丸基礎試験）</a></p>
<h2>試験内容</h2>
<p>出題範囲も上記リンク先に記載ありますが、徳丸本の目次と完全に一致しています。<br />
その範囲からというのは間違いはないですが、検証環境の構築方法などは実際は試験に出ません。</p>
<p>同ページの動画でもおっしゃられていましたが、<em>「ツールの使い方よりもセキュリティの原理を学んでほしい」</em>ということのようです。<br />
実際に受験し終わった後の感想としても確かにそのような感じでした。<br />
様々な脆弱性に対し、その原理を知り、どの対策が効果的かを選択できれば、合格点取れるのではないかと思います。<br />
同ページの「徳丸試験基礎編の例題解説」と似た雰囲気の出題が多いので、そちらを見て関心を持つようだったら受験してみるといいかもしれません。</p>
<p>なお、PHPの知識を必要とするものはありませんでしたが、JavaScriptのコードは問題に少しだけでました。</p>
<h2>どう学習したか</h2>
<p>出題範囲であり、認定テキストである、徳丸本を読みます。<br />
理解しにくいところはググったりはしました。</p>
<h2>結果</h2>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report.png"><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report-791x1024.png" alt="" width="791" height="1024" class="alignnone size-large wp-image-88888" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report-791x1024.png 791w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report-232x300.png 232w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report-247x320.png 247w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report-495x640.png 495w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/tokumarubasic_report.png 1275w" sizes="(max-width: 791px) 100vw, 791px" /></a></p>
<p>全体としては70%以上取得できましたが、肝心の「Webセキュリティの基礎〜HTTP、セッション管理、同一オリジンポリシー」が弱いですね。<br />
今回の試験を通して、自分の理解度がわかってきた感じがします。</p>
<h2>ひとこと</h2>
<p>徳丸本を積読している人は、これを機会に読み直してみるのもいいんじゃないでしょうか。<br />
クッキーとかセッションとか同一オリジンポリシー等の話題になると、目が泳ぐ方にもお勧めです。</p>
]]></content:encoded>
			</item>
		<item>
		<title>AWS 上に Cisco ASAv を起動する</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/21/asav01/</link>
		<pubDate>Tue, 21 Jul 2020 05:12:44 +0000</pubDate>
		<dc:creator><![CDATA[tetsuka]]></dc:creator>
				<category><![CDATA[ASAv]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[入門編]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[IPsec]]></category>
		<category><![CDATA[Marketplace]]></category>
		<category><![CDATA[SSL-VPN]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[ファイアウォール]]></category>
		<category><![CDATA[入門]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88441</guid>
		<description><![CDATA[テック用語、叫ぶと強そうな技に聞こえる気がする SRE 2 課の手塚です。 「ネクスト・ジェネレーション・ファイアウォール!!」 さて、今回は ASAv を起動したので、この手順を紹介します。 ASAv とは? Cisco Adaptive Security Virtual Appliance の略 ファイアウォール・VPN 製品です 元々は ASA シリーズというロングセラーの物理アプライアンス製品があり、ASAv はこの仮想アプライ...]]></description>
				<content:encoded><![CDATA[<p>テック用語、叫ぶと強そうな技に聞こえる気がする SRE 2 課の手塚です。<br />
「ネクスト・ジェネレーション・ファイアウォール!!」</p>
<p>さて、今回は ASAv を起動したので、この手順を紹介します。</p>
<h1>ASAv とは?</h1>
<ul>
<li>Cisco Adaptive Security Virtual Appliance の略</li>
<li>ファイアウォール・VPN 製品です</li>
<li>元々は ASA シリーズというロングセラーの物理アプライアンス製品があり、ASAv はこの仮想アプライアンス製品です</li>
<li>AWS 向け ASAv は AWS Marketplace から入手できます</li>
</ul>
<h1>検証構成</h1>
<p><strong>ASAv 設置前</strong><br />
ASAv 設置先のネットワークと SSH 踏み台サーバ (Bastion) を事前に用意します（手順は省略します）。</p>
<figure id="attachment_88540" style="width: 1200px" class="wp-caption alignnone"><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0.png" alt="ASAv設置前" width="1200" height="505" class="size-full wp-image-88540" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0.png 1200w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0-300x126.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0-1024x431.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0-450x189.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/asav0-900x379.png 900w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-caption-text">ASAv設置前</figcaption></figure>
<p><strong>ASAv 設置後</strong><br />
図の一番左の端末から Bastion を経由し、ASAv の management からログインします。</p>
<figure id="attachment_88558" style="width: 1200px" class="wp-caption alignnone"><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2.png" alt="ASAv設置後" width="1200" height="505" class="size-full wp-image-88558" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2.png 1200w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2-300x126.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2-1024x431.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2-450x189.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/blog_ASAv2-900x379.png 900w" sizes="(max-width: 1200px) 100vw, 1200px" /><figcaption class="wp-caption-text">ASAv設置後</figcaption></figure>
<p>尚、今回の ASAv 起動に必須なサブネットは管理用 (test-a001:10.1.1.0/24) のみです。<br />
他のサブネットは、ファイアウォール・VPN 用のネットワークインターフェイス追加時に利用します。</p>
<p><strong>使用した ASAv のバージョン</strong></p>
<table>
<thead>
<tr>
<th align="left">AWS Marketplace</th>
<th align="left">バージョン</th>
<th align="left">AMI ID</th>
<th align="left">更新</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Cisco Adaptive Security Virtual Appliance (ASAv) &#8211; BYOL</td>
<td align="left">Linux/Unix, Other 9.14.1.10</td>
<td align="left">ami-0e00412dfd85bbf00</td>
<td align="left">2020/07/10</td>
</tr>
</tbody>
</table>
<p><strong>メモ</strong><br />
2020/7 にバージョン 9.13 から 9.14 に更新されました。どちらもバージョンでも以降の手順は有効です。</p>
<blockquote><p>
  New in version 9.14.1.10 and above:<br />
  &#8211; 4xlarge: c5, c5n [ASAv100 throughput &#8211; 20G]<br />
  &#8211; large, xlarge, 2xlarge: c5n</p>
<p>  Version 9.13 and above:<br />
  [Flexible licensing: throughput &#8211; 100M/1G/2G/10G]<br />
  &#8211; large, xlarge, 2xlarge: c3, c4, m4, c5<br />
  New in version 9.14.1.10 and above:</p>
<p>  Version 9.12 and below:<br />
  [ASAv throughput &#8211; ASAv10-1G/ASAv20-2G]<br />
  &#8211; large, xlarge: c3, c4, m4</p>
<p>  <a href="https://aws.amazon.com/marketplace/pp/Cisco-Systems-Inc-Cisco-Adaptive-Security-Virtual-/B00WRGASUC">Cisco Adaptive Security Virtual Appliance (ASAv) &#8211; BYOL</a>
</p></blockquote>
<p>最大スループット 20 Gbps のファイヤウォール・VPN 装置をいつでも作成・削除できるとは、便利な時代になりました。</p>
<h1>ASAv を起動する</h1>
<p>AWS マネジメントコンソールから [EC2] > [インスタンス] > [インスタンスの作成] から開始します。</p>
<h2>1 Amazon マシンイメージ(AMI)</h2>
<ul>
<li>画面左の [AWS Marketplace] を開きます</li>
<li>&#8220;asav&#8221; で検索を行います</li>
<li>次の 2 つの Cisco Adaptive Security Virtual Appliance (ASAv) が表示されるので、自身の適したものを選択します。</li>
</ul>
<table>
<thead>
<tr>
<th align="left">パッケージ</th>
<th align="left">時間料金</th>
<th align="left">ソフトウェアライセンス</th>
<th>備考</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Standard Package</td>
<td align="left">ソフトウェア + EC2</td>
<td align="left">時間料金に含まれる</td>
<td>特に制限なし</td>
</tr>
<tr>
<td align="left">BYOL</td>
<td align="left">EC2 のみ</td>
<td align="left">別途購入が必要</td>
<td>ライセンスのインストールまでスループットは 100 Kbps に制限される</td>
</tr>
</tbody>
</table>
<p><strong>メモ</strong></p>
<blockquote><p>
  You must install a smart license on the ASAv. Until you install a license, throughput is limited to 100 Kbps so you can perform preliminary connectivity tests. A smart license is required for regular operation.<br />
  参考: <a href="https://www.cisco.com/c/en/us/td/docs/security/asa/asa914/asav/getting-started/asav-914-gsg/asav_intro.html">Cisco Adaptive Security Virtual Appliance (ASAv) Getting Started Guide, 9.13</a>
</p></blockquote>
<h2>2 インスタンスタイプの選択</h2>
<p>ここでは c5.large を選択します。</p>
<p><strong>メモ</strong></p>
<ul>
<li>ASAv バージョン 9.14 では現行世代のインスタンス C4/M4/C5/C5n を選択できますが、ネットワーク性能とコストパフォーマンス両方の観点より、現時点では C5/C5n 系に絞られると考えます</li>
<li>ちなみに本番環境の設置時は要件に AnyConnect Sessions: 10,000 があったため、c5.2xlarge を選択しました</li>
<li>参考:
<ul>
<li><a href="https://www.cisco.com/c/en/us/td/docs/security/asa/asa914/asav/getting-started/asav-914-gsg/asav_intro.html">Cisco Adaptive Security Virtual Appliance (ASAv) Getting Started Guide, 9.14</a></li>
<li><a href="https://aws.amazon.com/jp/ec2/pricing/on-demand/">Amazon EC2 料金表</a></li>
</ul>
</li>
</ul>
<h2>3 インスタンスの設定</h2>
<p>次の設定とします。ユーザデータは設定しません。</p>
<table>
<thead>
<tr>
<th align="left">設定</th>
<th align="left">値</th>
<th align="left">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">ネットワーク</td>
<td align="left">10.1.0.0/16</td>
<td align="left">VPC CIDR</td>
</tr>
<tr>
<td align="left">サブネット</td>
<td align="left">10.1.0.0/24</td>
<td align="left">プライベートサブネット</td>
</tr>
<tr>
<td align="left">ネットワークインターフェイス > プライマリIP</td>
<td align="left">10.1.1.10</td>
<td align="left">management</td>
</tr>
</tbody>
</table>
<p><strong>メモ</strong><br />
C5 系 EC2 インスタンスと ASAv のネットワークインターフェイス対応</p>
<table>
<thead>
<tr>
<th align="left">EC2</th>
<th align="left">ASAv</th>
<th align="left">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">eth0</td>
<td align="left">Management0/0</td>
<td align="left">上記で設定されるネットワークインターフェイス</td>
</tr>
<tr>
<td align="left">eth1</td>
<td align="left">TenGigabitEthernet0/0</td>
<td align="left">今回は設定せず。初回起動時に追加可能</td>
</tr>
<tr>
<td align="left">eth2</td>
<td align="left">TenGigabitEthernet0/1</td>
<td align="left">今回は設定せず。起動後に追加可能</td>
</tr>
</tbody>
</table>
<h2>4 ストレージの追加</h2>
<p>デフォルトとします。</p>
<h2>5 タグの追加</h2>
<p>任意です。ここでは Name タグを追加します。</p>
<table>
<thead>
<tr>
<th align="left">キー</th>
<th align="left">値</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Nama</td>
<td align="left">asav</td>
</tr>
</tbody>
</table>
<h2>6 セキュリティグループの設定</h2>
<p>Bastion から ASAv の Management に SSH 接続を許可します。</p>
<table>
<thead>
<tr>
<th align="left">設定</th>
<th align="left">値</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">セキュリティグループの割り当て</td>
<td align="left">新しいセキュリティグループを作成する</td>
</tr>
<tr>
<td align="left">セキュリティグループ名</td>
<td align="left">asav-management</td>
</tr>
<tr>
<td align="left">説明</td>
<td align="left">任意</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th align="left">タイプ</th>
<th align="left">プロトコル</th>
<th align="left">ポート範囲</th>
<th align="left">ソース</th>
<th align="left">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">SSH</td>
<td align="left">TCP</td>
<td align="left">22</td>
<td align="left">カスタム: Bastion の sg-id</td>
<td align="left">任意</td>
</tr>
</tbody>
</table>
<h2>7 インスタンス作成の確認</h2>
<ul>
<li>設定を確認し、問題がなければ「起動」に進みます</li>
<li>新しいキーペアを作成し、キーペアをダウンロードします。</li>
</ul>
<table>
<thead>
<tr>
<th align="left">設定</th>
<th align="left">値</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">キーペア名</td>
<td align="left">asav</td>
</tr>
</tbody>
</table>
<ul>
<li>「インスタンスの起動」を実行します</li>
</ul>
<p><strong>メモ</strong></p>
<ul>
<li>上記手順の通り、AWS マネジメントコンソール上でキーペアを作成した場合は該当しませんが、もしここで鍵長が 4096bit の公開鍵を選択した場合、ASAv への SSH 接続時に <code>Permission denied (publickey,password).</code> のエラーが発生します</li>
<li>もし 4096 bit の公開鍵を利用する場合、別途設定が必要です</li>
</ul>
<blockquote><p>
  The PKF key can be up to 4096 bits. Use PKF format for keys that are too large to for the ASA support of the Base64 format (up to 2048 bits).<br />
  We introduced the following commands: ssh authentication.<br />
  参考: <a href="https://www.cisco.com/c/en/us/td/docs/security/asa/asa914/configuration/general/asa-914-general-config/admin-management.html#ID-2111-0000013a">Chapter: Management Access</a>
</p></blockquote>
<h1>ASAv 初期設定</h1>
<h2>ログイン</h2>
<ul>
<li>Bastion 経由で ASAv に SSH でログインします
<ul>
<li>SSH ポートフォワーディングもしくは ssh-agent</li>
</ul>
</li>
<li>ASAv の初期ユーザ名は <code>admin</code> です</li>
</ul>
<h2>コマンド モードについて</h2>
<p>ここではユーザ モードと特権 EXEC モードについて説明します。</p>
<h3>ユーザ モード</h3>
<p>ログイン直後はユーザ モードと呼ばれる状態です。コマンドプロンプトに <code>&gt;</code> が表示されます。</p>
<p></p><pre class="crayon-plain-tag">ciscoasa&gt;</pre><p></p>
<p>ユーザ モードで可能な操作は限られるため、コンフィグ変更や保存を行うには、特権 EXEC モードへ移行します。</p>
<h3>特権 EXEC モード</h3>
<p>特権 EXEC モードはコンフィグ変更等が許可されたモードです。コマンドプロンプトに <code>#</code> が表示されます。</p>
<p></p><pre class="crayon-plain-tag">ciscoasa#</pre><p></p>
<p>特権 EXEC モードを利用するには、 ユーザ モードで <code>enable</code> コマンドを実行します。<br />
また、初回 <code>enable</code> 時は、<code>enable</code> パスワードの登録が必要です。</p>
<p></p><pre class="crayon-plain-tag">ciscoasa&gt; ena
The enable password is not set.  Please set it now.
Enter  Password: *****
Repeat Password: *****
Note: Save your configuration so that the password persists across reboots
("write memory" or "copy running-config startup-config").
ciscoasa#</pre><p></p>
<p>次回の <code>enable</code> 時より、上で設定したパスワードが必要です。</p>
<p></p><pre class="crayon-plain-tag">ciscoasa&gt; enable
Password: *****
ciscoasa#</pre><p></p>
<p><strong>メモ</strong><br />
ここで設定した enable パスワードはまだ_保存されていません。インスタンスの再起動でパスワードはクリアされるため、次のコンフィグ保存が必要です。</p>
<h2>コンフィグ保存</h2>
<p><code>enable</code> パスワードを設定したので、ここで一度コンフィグを保存します。</p>
<p>コンフィグを保存するには、特権 EXEC モードで <code>write</code> コマンドを実行します。</p>
<p></p><pre class="crayon-plain-tag">ciscoasa# write
Building configuration...
Cryptochecksum: 3acdc299 c842ec6d 1d63b3fe 3e0a94d4 

7266 bytes copied in 0.60 secs
[OK]
ciscoasa#</pre><p></p>
<h1>課題</h1>
<p>今回は起動手順にフォーカスを当てたため、ファイアウォール・VPN 設定がありません。こちらは機会があれば。</p>
<h1>まとめ</h1>
<p>今回 AWS 上に ASAv を起動し、次の知見を得ました。</p>
<ul>
<li>パッケージは 2 つ
<ul>
<li>Standard Packege: 即本番利用可能。ライセンス込み</li>
<li>BYOL: 即テスト可能。ライセンスインストールまで 100 Kbps のスループット制限あり</li>
</ul>
</li>
<li>検証・本番共 C5/C5n インスタンスから必要スペックに応じてタイプ選択</li>
<li>初回起動時、公開鍵の鍵長は 2048 bit にする。AWS マネジメントコンソールで作成したキーペアであれば問題なし</li>
<li>初回ログイン後はまずコンフィグ保存</li>
</ul>
<p>それでは次回もよろしくお願いします。</p>
<h1>参考</h1>
<ul>
<li><a href="https://aws.amazon.com/marketplace/pp/Cisco-Systems-Inc-Cisco-Adaptive-Security-Virtual-/B00WRGASUC">Cisco Adaptive Security Virtual Appliance (ASAv) &#8211; BYOL</a></li>
<li><a href="https://www.cisco.com/c/en/us/td/docs/security/asa/asa914/asav/getting-started/asav-914-gsg/asav_intro.html">Cisco Adaptive Security Virtual Appliance (ASAv) Getting Started Guide, 9.14</a></li>
<li><a href="https://aws.amazon.com/jp/ec2/pricing/on-demand/">Amazon EC2 料金表</a></li>
<li><a href="https://www.cisco.com/c/en/us/td/docs/security/asa/asa914/configuration/general/asa-914-general-config/admin-management.html#ID-2111-0000013a">Chapter: Management Access</a></li>
</ul>
]]></content:encoded>
			</item>
		<item>
		<title>AWS CDK で Redash の環境を構築してみた</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/21/deploy-redash-via-awscdk/</link>
		<pubDate>Tue, 21 Jul 2020 03:10:33 +0000</pubDate>
		<dc:creator><![CDATA[miyamoto]]></dc:creator>
				<category><![CDATA[AWS CDK]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[Redash]]></category>
		<category><![CDATA[やってみた]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88689</guid>
		<description><![CDATA[CI部の宮本です。在宅勤務で毎朝のコーヒーを淹れるのが面倒くさくなってきました。全自動のコーヒーメーカーが欲しいのですが、中々のお値段なのでためらっています。 さて、今回は AWS CDK を使って Redash の環境を構築してみました。 AWS CDK とは AWS クラウド開発キット (AWS CDK) は、使い慣れたプログラミング言語を使用してクラウドアプリケーションリソースをモデル化およびプロビジョニングするためのオープンソー...]]></description>
				<content:encoded><![CDATA[<p>CI部の宮本です。在宅勤務で毎朝のコーヒーを淹れるのが面倒くさくなってきました。全自動のコーヒーメーカーが欲しいのですが、中々のお値段なのでためらっています。</p>
<p>さて、今回は AWS CDK を使って Redash の環境を構築してみました。</p>
<h2>AWS CDK とは</h2>
<blockquote><p>
AWS クラウド開発キット (AWS CDK) は、使い慣れたプログラミング言語を使用してクラウドアプリケーションリソースをモデル化およびプロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。<br />
引用元: <a href="https://aws.amazon.com/jp/cdk/" target="_blank" rel="noopener">https://aws.amazon.com/jp/cdk/</a>
</p></blockquote>
<p>内部的には CloudFormation が生成され、リソースの作成が行われます。対応言語は TypeScript、Python、Java、C#等が使用出来ます。TypeScriptなどの静的型言語で、型に守られながらリソースを書けるところが良さそうです。</p>
<h2>Redash とは</h2>
<p><a href="https://redash.io/" target="_blank" rel="noopener">Redash</a> はオープンソースで開発されているダッシュボードツールです。様々なデータソースと接続可能で、SQLと簡単な設定をすることでダッシュボードを作ることが出来ます。</p>
<p><img src="https://redash.io/assets/images/docs/gifs/dashboards/dashboards.gif" /></p>
<p><a href="https://redash.io/help/data-sources/querying/supported-data-sources" target="_blank" rel="noopener">接続可能なデータベース</a>が豊富で、MySQLやPostgreSQLなどの一般的なRDBMSはもちろん、SnowflakeやSalesforce などのSaaSにも接続出来る優れものです。</p>
<h2>完成イメージ</h2>
<p>AWS CDK で以下の様な構成をAWS上に構築してみたいと思います。</p>
<p><img class="alignnone size-full wp-image-88739" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Untitled-1.png" alt="" width="743" height="403" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Untitled-1.png 743w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Untitled-1-300x163.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Untitled-1-450x244.png 450w" sizes="(max-width: 743px) 100vw, 743px" /></p>
<p>Redash は Flask や Redis 、PostgreSQL などで構築されている様ですが、公式から<a href="https://redash.io/help/open-source/setup#-AWS" target="_blank" rel="noopener">全部入りのAMI</a> が提供されているので、今回はこれを使用します。</p>
<h2>AWS CDK の開発環境の準備</h2>
<p>今回はTypeScriptにて開発を行います。以下が準備済みの前提で進めます。</p>
<ul>
<li>AWS CLI (2.0.19)</li>
<li>Node.js (12.18.0)</li>
</ul>
<h3>AWS CDK のインストール</h3>
<p>以下コマンドでインストールし、バージョンが確認できればインストール成功です。</p>
<p></p><pre class="crayon-plain-tag">$ npm install -g aws-cdk

$ cdk --version
1.51.0 (build 8c2d53c)</pre><p></p>
<p>&nbsp;</p>
<h2>CDKプロジェクトの作成</h2>
<p>早速CDKプロジェクトの作成をしていきましょう。<code>--language</code> オプションの後に使用したい言語を指定します。</p>
<p></p><pre class="crayon-plain-tag">$ mkdir redash-cdk &amp;&amp; cd redash-cdk # プロジェクトディレクトリの作成
$ cdk init --language typescript # プロジェクトの初期化
... 中略...
✅ All done!
**************************************************
*** Newer version of CDK is available [1.51.0] ***
*** Upgrade recommended                        ***
**************************************************</pre><p></p>
<p>お好みのエディタでプロジェクトを開いてみましょう。初期のプロジェクト構成はこの様になっています。</p>
<p><img class="alignnone size-large wp-image-88700" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/D9FAEA2B-B029-4EA2-AFFF-A8FAD630566A-1024x461.jpg" alt="" width="1024" height="461" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/D9FAEA2B-B029-4EA2-AFFF-A8FAD630566A-1024x461.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/D9FAEA2B-B029-4EA2-AFFF-A8FAD630566A-300x135.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/D9FAEA2B-B029-4EA2-AFFF-A8FAD630566A-450x202.jpg 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/D9FAEA2B-B029-4EA2-AFFF-A8FAD630566A-900x405.jpg 900w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p><code>lib/redash-cdk-stack.ts</code> にリソースを定義するコードを書いて行きます。</p>
<h3>依存ライブラリのインストール</h3>
<p>AWS CDK では作成するリソース毎にライブラリが分けられており、使用したい場合は以下の様にインストールする必要があります。今回は EC2、IAM、ALBを使用するのでそれぞれインストールします。作成できるリソースは <a href="https://docs.aws.amazon.com/cdk/api/latest/docs/aws-construct-library.html" target="_blank" rel="noopener">API Reference</a> を参照してください。</p>
<p></p><pre class="crayon-plain-tag">$ npm install @aws-cdk/aws-ec2 @aws-cdk/aws-iam @aws-cdk/aws-elasticloadbalancingv2 @aws-cdk/aws-elasticloadbalancingv2-targets</pre><p></p>
<h3>スタックの実装</h3>
<p>結論からですが、以下の様なコードで実現することが出来ました。</p>
<p></p><pre class="crayon-plain-tag">// lib/redash-cdk-stack.ts

import * as cdk from "@aws-cdk/core";
import * as ec2 from "@aws-cdk/aws-ec2";
import * as iam from "@aws-cdk/aws-iam";
import * as elbv2 from "@aws-cdk/aws-elasticloadbalancingv2";
import * as targets from "@aws-cdk/aws-elasticloadbalancingv2-targets";

export class RedashCdkStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // (1)
    const vpc = new ec2.Vpc(this, "redash-vpc", {
      cidr: "10.100.0.0/16",
      enableDnsHostnames: true,
      enableDnsSupport: true,
      maxAzs: 2,
      natGateways: 1,
      subnetConfiguration: [
        {
          name: "public",
          subnetType: ec2.SubnetType.PUBLIC,
          cidrMask: 24,
        },
        {
          name: "private",
          subnetType: ec2.SubnetType.PRIVATE,
          cidrMask: 24,
        },
      ],
    });

    // (2)
    const role = new iam.Role(this, "redash-instance-role", {
      assumedBy: new iam.ServicePrincipal("ec2.amazonaws.com"),
      managedPolicies: [
        iam.ManagedPolicy.fromAwsManagedPolicyName(
          "AmazonSSMManagedInstanceCore"
        ),
      ],
    });

    // (3)
    const albSg = new ec2.SecurityGroup(this, "redash-alb-sg", {
      vpc: vpc,
      allowAllOutbound: true,
    });

    // (4)
    const instanceSg = new ec2.SecurityGroup(this, "redash-instance-sg", {
      vpc: vpc,
      allowAllOutbound: true,
    });
    instanceSg.addIngressRule(albSg, ec2.Port.tcp(80));

    // (5)
    const instance = new ec2.Instance(this, "redash", {
      vpc,
      instanceType: new ec2.InstanceType("t2.small"),
      machineImage: ec2.MachineImage.genericLinux({
        "us-east-1": "ami-0d915a031cabac0e0",
        "us-east-2": "ami-0b97435028ca44fcc",
        "us-west-1": "ami-068d0753a46192935",
        "us-west-2": "ami-0c457f229774da543",
        "eu-west-1": "ami-046c6a0123bf94619",
        "eu-west-2": "ami-0dbe8ba0cd21ea12b",
        "eu-west-3": "ami-041bf9180061ce7ea",
        "eu-central-1": "ami-0f8184e6f30cc0c33",
        "eu-north-1": "ami-08dd1b893371bcaac",
        "ap-south-1": "ami-0ff23052091536db2",
        "ap-southeast-1": "ami-0527e82bae7c51958",
        "ap-southeast-2": "ami-0bae8773e653a32ec",
        "ap-northeast-1": "ami-060741a96307668be",
        "ap-northeast-2": "ami-0d991ac4f545a6b34",
        "sa-east-1": "ami-076f350d5a5ec448d",
        "ca-central-1": "ami-0071deaa12b66d1bf",
      }),
      role,
      blockDevices: [
        {
          deviceName: "/dev/sda1",
          volume: ec2.BlockDeviceVolume.ebs(30),
        },
      ],
      securityGroup: instanceSg,
    });

    // (6)
    const alb = new elbv2.ApplicationLoadBalancer(this, "redash-alb", {
      vpc,
      internetFacing: true,
      securityGroup: albSg,
    });

    // (7)
    const listener = alb.addListener("redash-alb-listener", {
      port: 443,
    });

    // (8)
    listener.addTargets("redash-alb-target", {
      port: 80,
      targets: [new targets.InstanceTarget(instance)],
      healthCheck: {
        path: "/status.json",
      },
    });
  }
}</pre><p></p>
<p>上から解説していきます。</p>
<p>(1) VPCを作成しています。<code>cidr</code> や <code>enableDnsHostnames</code> など、見慣れたオプションがありますね。<code>maxAzs</code> はサブネットを作成するアベイラビリティーゾーンの数です。デフォルトだと3AZにサブネットを展開してしまうので、2に設定しています。また、<code>natGateways</code> は作成する NatGatewayの数です。最後の <code>subnetConfiguration</code> はその名の通り、作成するサブネットの設定です。<code>subnetType</code> に <code>PUBLIC</code> 、<code>PRIVATE</code> を設定することで、ルートテーブルをよしなに作成してくれます。</p>
<p>(2) EC2インスタンスにアタッチするIAMロールを作成しています。セッションマネージャーにてログインする為に、<code>AmazonSSMManagedInstanceCore</code> のマネージドポリシーを設定しています。</p>
<p>(3) ALBにアタッチするセキュリティグループを作成しています。</p>
<p>(4) EC2インスタンスにアタッチするセキュリティグループを作成しています。作成後、ALBからの ポート80 へのインバウンドアクセスを許可するルールを追加しています。</p>
<p>(5) EC2インスタンスを作成しています。<code>ec2.MachineImage.genericLinux</code> のパラメータでリージョンとAMIのマッピングを設定しています。<code>blockDevices</code> でEBSの設定も可能です。</p>
<p>(6) ALBを作成しています。</p>
<p>(7) ALBのリスナーを追加しています。説明のし易さの為、ポート80 (HTTP) としていますが、現実的にはポート443 (HTTPS) を受け付ける様にしましょう。その際はACMで証明書を発行し、<a href="https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticloadbalancingv2.ApplicationListener.html#certificates" target="_blank" rel="noopener">certificates プロパティ</a>に設定するなどしましょう。</p>
<p>(8) ターゲットを追加しています。EC2インスタンスのポート80 をターゲットとしています。また、ヘルスチェックのパスとして <code>/status.json</code> を設定しています。こちらはRedashにて提供されるステータスチェック用のAPIのパスです。</p>
<p></p><pre class="crayon-plain-tag">// bin/redash-cdk.ts

#!/usr/bin/env node
import "source-map-support/register";
import * as cdk from "@aws-cdk/core";
import { RedashCdkStack } from "../lib/redash-cdk-stack";

const app = new cdk.App();
new RedashCdkStack(app, "RedashCdkStack", {
  env: {
    account: process.env.CDK_DEFAULT_ACCOUNT,
    region: process.env.CDK_DEFAULT_REGION,
  },
});</pre><p></p>
<p>こちらがエントリポイントとなるコードです。環境変数からアカウントとリージョンを設定しています。こちらはAMIの選択の為に追加をしています。デプロイ前に環境変数として設定しておきましょう。</p>
<h2>CDK スタックのデプロイ</h2>
<p>初めてデプロイする場合は以下の <code>cdk bootstrap</code> を実行する必要があります。CFnテンプレートを保存するためのバケットの作成が行われます。</p>
<p></p><pre class="crayon-plain-tag">$ cdk bootstrap
⏳  Bootstrapping environment aws://XXXXXXXXXXXX/ap-northeast-1...
✅  Environment aws://XXXXXXXXXXXX/ap-northeast-1 bootstrapped (no changes).</pre><p></p>
<p>早速デプロイしてみましょう。</p>
<p></p><pre class="crayon-plain-tag">$ cdk deploy
This deployment will make potentially sensitive changes according to your current security approval level (--require-approval broadening).
Please confirm you intend to make the following modifications:

IAM Statement Changes
┌───┬─────────────────────────────┬────────┬────────────────┬───────────────────────────┬───────────┐
│   │ Resource                    │ Effect │ Action         │ Principal                 │ Condition │
├───┼─────────────────────────────┼────────┼────────────────┼───────────────────────────┼───────────┤
│ + │ ${redash-instance-role.Arn} │ Allow  │ sts:AssumeRole │ Service:ec2.amazonaws.com │           │
└───┴─────────────────────────────┴────────┴────────────────┴───────────────────────────┴───────────┘
IAM Policy Changes
┌───┬─────────────────────────┬────────────────────────────────────────────────────────────────────┐
│   │ Resource                │ Managed Policy ARN                                                 │
├───┼─────────────────────────┼────────────────────────────────────────────────────────────────────┤
│ + │ ${redash-instance-role} │ arn:${AWS::Partition}:iam::aws:policy/AmazonSSMManagedInstanceCore │
└───┴─────────────────────────┴────────────────────────────────────────────────────────────────────┘
Security Group Changes
┌───┬───────────────────────────────┬─────┬────────────┬──────────────────────────┐
│   │ Group                         │ Dir │ Protocol   │ Peer                     │
├───┼───────────────────────────────┼─────┼────────────┼──────────────────────────┤
│ + │ ${redash-alb-sg.GroupId}      │ In  │ TCP 80     │ Everyone (IPv4)          │
│ + │ ${redash-alb-sg.GroupId}      │ Out │ Everything │ Everyone (IPv4)          │
├───┼───────────────────────────────┼─────┼────────────┼──────────────────────────┤
│ + │ ${redash-instance-sg.GroupId} │ In  │ TCP 80     │ ${redash-alb-sg.GroupId} │
│ + │ ${redash-instance-sg.GroupId} │ Out │ Everything │ Everyone (IPv4)          │
└───┴───────────────────────────────┴─────┴────────────┴──────────────────────────┘
(NOTE: There may be security-related changes not in this list. See https://github.com/aws/aws-cdk/issues/1299)

Do you wish to deploy these changes (y/n)? y
RedashCdkStack: deploying...
RedashCdkStack: creating CloudFormation changeset...













 ✅  RedashCdkStack

Stack ARN:
arn:aws:cloudformation:ap-northeast-1:XXXXXXXXXXXX:stack/RedashCdkStack/021bbd00-c807-11ea-8ab6-06255f79192b</pre><p></p>
<p>デプロイが出来ました！デプロイ前にセキュリティ関連の変更を表示してくれるのが親切です。</p>
<h2>動作確認</h2>
<p>マネジメントコンソールで作成されたALBのエンドポイントを確認し、ブラウザでアクセスしてみましょう。以下の様な初期画面が表示されればOKです。</p>
<p><img class="alignnone size-large wp-image-88733" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/66C4363E-6F9B-40D2-B034-AD218047C056-1024x624.jpg" alt="" width="1024" height="624" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/66C4363E-6F9B-40D2-B034-AD218047C056-1024x624.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/66C4363E-6F9B-40D2-B034-AD218047C056-300x183.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/66C4363E-6F9B-40D2-B034-AD218047C056-450x274.jpg 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/66C4363E-6F9B-40D2-B034-AD218047C056-900x548.jpg 900w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2>生成されるテンプレート</h2>
<p>冒頭で内部的には CloudFormation のテンプレートが生成されると書きましたが、 <code>cdk synth</code> コマンドで確認できます。</p>
<p></p><pre class="crayon-plain-tag">$ cdk synth
Resources:
  redashvpc787F192D:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.100.0.0/16
      EnableDnsHostnames: true
      EnableDnsSupport: true
      InstanceTenancy: default
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/Resource
  redashvpcpublicSubnet1Subnet3D390376:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.100.0.0/24
      VpcId:
        Ref: redashvpc787F192D
      AvailabilityZone: ap-northeast-1a
      MapPublicIpOnLaunch: true
      Tags:
        - Key: aws-cdk:subnet-name
          Value: public
        - Key: aws-cdk:subnet-type
          Value: Public
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/Subnet
  redashvpcpublicSubnet1RouteTableE975F80B:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId:
        Ref: redashvpc787F192D
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/RouteTable
  redashvpcpublicSubnet1RouteTableAssociationD0578F24:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId:
        Ref: redashvpcpublicSubnet1RouteTableE975F80B
      SubnetId:
        Ref: redashvpcpublicSubnet1Subnet3D390376
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/RouteTableAssociation
  redashvpcpublicSubnet1DefaultRoute3F4FA9A9:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId:
        Ref: redashvpcpublicSubnet1RouteTableE975F80B
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId:
        Ref: redashvpcIGW7813B7C8
    DependsOn:
      - redashvpcVPCGWD937466E
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/DefaultRoute
  redashvpcpublicSubnet1EIPCC704A65:
    Type: AWS::EC2::EIP
    Properties:
      Domain: vpc
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/EIP
  redashvpcpublicSubnet1NATGatewayE9CE305C:
    Type: AWS::EC2::NatGateway
    Properties:
      AllocationId:
        Fn::GetAtt:
          - redashvpcpublicSubnet1EIPCC704A65
          - AllocationId
      SubnetId:
        Ref: redashvpcpublicSubnet1Subnet3D390376
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet1/NATGateway
  redashvpcpublicSubnet2Subnet4F70832C:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.100.1.0/24
      VpcId:
        Ref: redashvpc787F192D
      AvailabilityZone: ap-northeast-1c
      MapPublicIpOnLaunch: true
      Tags:
        - Key: aws-cdk:subnet-name
          Value: public
        - Key: aws-cdk:subnet-type
          Value: Public
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet2
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet2/Subnet
  redashvpcpublicSubnet2RouteTableCECFFA67:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId:
        Ref: redashvpc787F192D
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/publicSubnet2
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet2/RouteTable
  redashvpcpublicSubnet2RouteTableAssociationD50DF0BC:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId:
        Ref: redashvpcpublicSubnet2RouteTableCECFFA67
      SubnetId:
        Ref: redashvpcpublicSubnet2Subnet4F70832C
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet2/RouteTableAssociation
  redashvpcpublicSubnet2DefaultRouteEDB2F883:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId:
        Ref: redashvpcpublicSubnet2RouteTableCECFFA67
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId:
        Ref: redashvpcIGW7813B7C8
    DependsOn:
      - redashvpcVPCGWD937466E
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/publicSubnet2/DefaultRoute
  redashvpcprivateSubnet1Subnet8CAD3737:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.100.2.0/24
      VpcId:
        Ref: redashvpc787F192D
      AvailabilityZone: ap-northeast-1a
      MapPublicIpOnLaunch: false
      Tags:
        - Key: aws-cdk:subnet-name
          Value: private
        - Key: aws-cdk:subnet-type
          Value: Private
        - Key: Name
          Value: RedashCdkStack/redash-vpc/privateSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet1/Subnet
  redashvpcprivateSubnet1RouteTableAE169A43:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId:
        Ref: redashvpc787F192D
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/privateSubnet1
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet1/RouteTable
  redashvpcprivateSubnet1RouteTableAssociation11192046:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId:
        Ref: redashvpcprivateSubnet1RouteTableAE169A43
      SubnetId:
        Ref: redashvpcprivateSubnet1Subnet8CAD3737
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet1/RouteTableAssociation
  redashvpcprivateSubnet1DefaultRouteAAEFF0DE:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId:
        Ref: redashvpcprivateSubnet1RouteTableAE169A43
      DestinationCidrBlock: 0.0.0.0/0
      NatGatewayId:
        Ref: redashvpcpublicSubnet1NATGatewayE9CE305C
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet1/DefaultRoute
  redashvpcprivateSubnet2Subnet5B47BA0C:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.100.3.0/24
      VpcId:
        Ref: redashvpc787F192D
      AvailabilityZone: ap-northeast-1c
      MapPublicIpOnLaunch: false
      Tags:
        - Key: aws-cdk:subnet-name
          Value: private
        - Key: aws-cdk:subnet-type
          Value: Private
        - Key: Name
          Value: RedashCdkStack/redash-vpc/privateSubnet2
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet2/Subnet
  redashvpcprivateSubnet2RouteTable2FA16BB7:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId:
        Ref: redashvpc787F192D
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc/privateSubnet2
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet2/RouteTable
  redashvpcprivateSubnet2RouteTableAssociation523D6F0E:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId:
        Ref: redashvpcprivateSubnet2RouteTable2FA16BB7
      SubnetId:
        Ref: redashvpcprivateSubnet2Subnet5B47BA0C
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet2/RouteTableAssociation
  redashvpcprivateSubnet2DefaultRouteABA00E61:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId:
        Ref: redashvpcprivateSubnet2RouteTable2FA16BB7
      DestinationCidrBlock: 0.0.0.0/0
      NatGatewayId:
        Ref: redashvpcpublicSubnet1NATGatewayE9CE305C
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/privateSubnet2/DefaultRoute
  redashvpcIGW7813B7C8:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash-vpc
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/IGW
  redashvpcVPCGWD937466E:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId:
        Ref: redashvpc787F192D
      InternetGatewayId:
        Ref: redashvpcIGW7813B7C8
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-vpc/VPCGW
  redashinstanceroleCA5CD152:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service: ec2.amazonaws.com
        Version: "2012-10-17"
      ManagedPolicyArns:
        - Fn::Join:
            - ""
            - - "arn:"
              - Ref: AWS::Partition
              - :iam::aws:policy/AmazonSSMManagedInstanceCore
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-instance-role/Resource
  redashalbsgFF5DACBB:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: RedashCdkStack/redash-alb-sg
      SecurityGroupEgress:
        - CidrIp: 0.0.0.0/0
          Description: Allow all outbound traffic by default
          IpProtocol: "-1"
      SecurityGroupIngress:
        - CidrIp: 0.0.0.0/0
          Description: Allow from anyone on port 80
          FromPort: 80
          IpProtocol: tcp
          ToPort: 80
      VpcId:
        Ref: redashvpc787F192D
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-alb-sg/Resource
  redashinstancesg749BCA92:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: RedashCdkStack/redash-instance-sg
      SecurityGroupEgress:
        - CidrIp: 0.0.0.0/0
          Description: Allow all outbound traffic by default
          IpProtocol: "-1"
      VpcId:
        Ref: redashvpc787F192D
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-instance-sg/Resource
  redashinstancesgfromRedashCdkStackredashalbsg26A403EF8046A50BB9:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      IpProtocol: tcp
      Description: from RedashCdkStackredashalbsg26A403EF:80
      FromPort: 80
      GroupId:
        Fn::GetAtt:
          - redashinstancesg749BCA92
          - GroupId
      SourceSecurityGroupId:
        Fn::GetAtt:
          - redashalbsgFF5DACBB
          - GroupId
      ToPort: 80
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-instance-sg/from RedashCdkStackredashalbsg26A403EF:80
  redashInstanceProfile17725B73:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - Ref: redashinstanceroleCA5CD152
    Metadata:
      aws:cdk:path: RedashCdkStack/redash/InstanceProfile
  redashE2FE35A2:
    Type: AWS::EC2::Instance
    Properties:
      AvailabilityZone: ap-northeast-1a
      BlockDeviceMappings:
        - DeviceName: /dev/sda1
          Ebs:
            VolumeSize: 30
      IamInstanceProfile:
        Ref: redashInstanceProfile17725B73
      ImageId: ami-060741a96307668be
      InstanceType: t2.small
      SecurityGroupIds:
        - Fn::GetAtt:
            - redashinstancesg749BCA92
            - GroupId
      SubnetId:
        Ref: redashvpcprivateSubnet1Subnet8CAD3737
      Tags:
        - Key: Name
          Value: RedashCdkStack/redash
      UserData:
        Fn::Base64: "#!/bin/bash"
    DependsOn:
      - redashinstanceroleCA5CD152
    Metadata:
      aws:cdk:path: RedashCdkStack/redash/Resource
  redashalbE9806DDF:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Scheme: internet-facing
      SecurityGroups:
        - Fn::GetAtt:
            - redashalbsgFF5DACBB
            - GroupId
      Subnets:
        - Ref: redashvpcpublicSubnet1Subnet3D390376
        - Ref: redashvpcpublicSubnet2Subnet4F70832C
      Type: application
    DependsOn:
      - redashvpcpublicSubnet1DefaultRoute3F4FA9A9
      - redashvpcpublicSubnet2DefaultRouteEDB2F883
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-alb/Resource
  redashalbredashalblistenerA15C76FF:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      DefaultActions:
        - TargetGroupArn:
            Ref: redashalbredashalblistenerredashalbtargetGroupEEFC3BEE
          Type: forward
      LoadBalancerArn:
        Ref: redashalbE9806DDF
      Port: 80
      Protocol: HTTP
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-alb/redash-alb-listener/Resource
  redashalbredashalblistenerredashalbtargetGroupEEFC3BEE:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      HealthCheckPath: /status.json
      Port: 80
      Protocol: HTTP
      Targets:
        - Id:
            Ref: redashE2FE35A2
      TargetType: instance
      VpcId:
        Ref: redashvpc787F192D
    Metadata:
      aws:cdk:path: RedashCdkStack/redash-alb/redash-alb-listener/redash-alb-targetGroup/Resource
  CDKMetadata:
    Type: AWS::CDK::Metadata
    Properties:
      Modules: aws-cdk=1.51.0,@aws-cdk/aws-cloudwatch=1.51.0,@aws-cdk/aws-ec2=1.51.0,@aws-cdk/aws-elasticloadbalancingv2=1.51.0,@aws-cdk/aws-elasticloadbalancingv2-targets=1.51.0,@aws-cdk/aws-events=1.51.0,@aws-cdk/aws-iam=1.51.0,@aws-cdk/aws-kms=1.51.0,@aws-cdk/aws-logs=1.51.0,@aws-cdk/aws-s3=1.51.0,@aws-cdk/aws-ssm=1.51.0,@aws-cdk/cloud-assembly-schema=1.51.0,@aws-cdk/core=1.51.0,@aws-cdk/cx-api=1.51.0,@aws-cdk/region-info=1.51.0,jsii-runtime=node.js/v12.18.0</pre><p></p>
<p>一気にスクロールしましたね？ AWS CDK の強力さがお分かりいただけたと思います。</p>
<p>スタック削除をする場合は <code>cdk destroy</code> を実行します。</p>
<h2>おわりに</h2>
<p>AWS CDK で Redash 環境を構築しました。次回は Snowflake へ接続してダッシュボードを作ってみたいと思います。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Amazon EFSにて自動バックアップが設定できるようになりました！</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/21/automatic-backups-for-amazon-elastic-file-system/</link>
		<pubDate>Mon, 20 Jul 2020 22:57:38 +0000</pubDate>
		<dc:creator><![CDATA[masaru.ogura]]></dc:creator>
				<category><![CDATA[アップデート]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[Amazon EFS]]></category>
		<category><![CDATA[AWS Backup]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88840</guid>
		<description><![CDATA[こんにちは、技術1課の小倉です。 2020/7/17にアップデートがあり、Amazon EFSにて自動バックアップが設定できるようになりました！ Announcing automatic backups for Amazon Elastic File System 今までは、手動でAWS Backupの設定をしていましたが、Amazon EFSのコンソール上の自動バックアップを有効化にチェックを入れるだけで、毎日自動でバックアップを取得...]]></description>
				<content:encoded><![CDATA[<p>こんにちは、技術1課の小倉です。<br />
2020/7/17にアップデートがあり、Amazon EFSにて自動バックアップが設定できるようになりました！</p>
<p><a href="https://aws.amazon.com/jp/about-aws/whats-new/2020/07/announcing-automatic-backups-for-amazon-elastic-file-system/" target="_blank" rel="noopener">Announcing automatic backups for Amazon Elastic File System</a></p>
<p>今までは、手動でAWS Backupの設定をしていましたが、Amazon EFSのコンソール上の自動バックアップを有効化にチェックを入れるだけで、毎日自動でバックアップを取得できるようになりました。</p>
<p>Amazon EFSとAWS Backupについては以下のブログをご参照ください。</p>
<p><a href="http://blog.serverworks.co.jp/tech/2020/06/22/aws-lambda-support-for-amazon-elastic-file-system-now-generally/" target="_blank" rel="noopener">AWS Lambda から Amazon Elastic File System にアクセスできるようになりました！！！</a><br />
<a href="http://blog.serverworks.co.jp/tech/2020/06/16/aws-backup-aurora/" target="_blank" rel="noopener">AWS BackupでAmazon Auroraのスナップショットがとれるようになりました！</a></p>
<h2>設定方法</h2>
<p>今回は既存のEFS設定がなかったので、EFSのファイルシステムの新規作成からやってみます。<br />
Amazon EFSのコンソールを開き、[ファイルシステムの作成]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519.png"><img class="alignnone size-full wp-image-88841" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519.png" alt="" width="1888" height="396" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519.png 1888w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519-300x63.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519-1024x215.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519-450x94.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042519-900x189.png 900w" sizes="(max-width: 1888px) 100vw, 1888px" /></a></p>
<p>ファイルシステムの作成画面で名前とVPCを選択して、[作成]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520.png"><img class="alignnone size-full wp-image-88842" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520.png" alt="" width="602" height="404" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520.png 602w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520-262x175.png 262w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520-300x201.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042520-450x302.png 450w" sizes="(max-width: 602px) 100vw, 602px" /></a></p>
<p>ファイルシステムが作成されますので、名前(今回はefstest)をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516.png"><img class="alignnone size-full wp-image-88843" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516.png" alt="" width="1890" height="348" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516.png 1890w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516-300x55.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516-1024x189.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516-450x83.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042516-900x166.png 900w" sizes="(max-width: 1890px) 100vw, 1890px" /></a></p>
<p>ファイルシステムの詳細が表示されます。この時点で自動バックアップは有効になっています。<br />
自動バックアップの設定を変更する場合は、全般の[編集]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517.png"><img class="alignnone size-full wp-image-88844" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517.png" alt="" width="1886" height="850" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517.png 1886w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517-300x135.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517-1024x462.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517-450x203.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042517-900x406.png 900w" sizes="(max-width: 1886px) 100vw, 1886px" /></a></p>
<p>編集画面で、自動バックアップを有効化にチェックを入れると有効になり、自動バックアップをしない場合はチェックを外して、右下の[変更を保存]をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518.png"><img class="alignnone size-full wp-image-88845" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518.png" alt="" width="1880" height="578" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518.png 1880w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518-300x92.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518-1024x315.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518-450x138.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042518-900x277.png 900w" sizes="(max-width: 1880px) 100vw, 1880px" /></a></p>
<p>EFS側の設定はこれだけです。<br />
時間が経てば、バックアップが取得されます。AWS Backupのコンソールを開き、ナビゲーションペインの[ジョブ]をクリックすると、バックアップを取得したジョブが確認できます。</p>
<p><img class="alignnone size-full wp-image-88851" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525.png" alt="" width="1864" height="390" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525.png 1864w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525-300x63.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525-1024x214.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525-450x94.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042525-900x188.png 900w" sizes="(max-width: 1864px) 100vw, 1864px" /></p>
<p>&nbsp;</p>
<p>念のため、AWS Backupの設定がどのようになっているのかを確認します。</p>
<p>AWS Backupのコンソールを開き、ナビゲーションペインの[バックアッププラン]をクリックします。<br />
そうすると、EFSのファイルシステムを作成したタイミングで、<code>aws/efs/automatic-backup-plan</code> が作成されています。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521.png"><img class="alignnone size-full wp-image-88846" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521.png" alt="" width="1860" height="390" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521.png 1860w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521-300x63.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521-1024x215.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521-450x94.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042521-900x189.png 900w" sizes="(max-width: 1860px) 100vw, 1860px" /></a></p>
<p><code>aws/efs/automatic-backup-plan</code>をクリックして、バックアップルールの<code>aws/efs/automatic-backup-rule</code> をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522.png"><img class="alignnone size-full wp-image-88847" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522.png" alt="" width="1848" height="772" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522.png 1848w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522-300x125.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522-1024x428.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522-450x188.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042522-900x376.png 900w" sizes="(max-width: 1848px) 100vw, 1848px" /></a></p>
<p>デフォルトのバックアッププランのルールは以下になっています。<br />
右上の[編集]をクリックして、設定を変更することが可能です。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523.png"><img class="alignnone size-full wp-image-88848" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523.png" alt="" width="1866" height="728" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523.png 1866w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523-300x117.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523-1024x400.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523-450x176.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042523-900x351.png 900w" sizes="(max-width: 1866px) 100vw, 1866px" /></a></p>
<p>また、バックアッププランに戻って、リソースの割り当ての<code>aws/efs/automatic-backup-selection</code>をクリックします。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642.png"><img class="alignnone size-full wp-image-88849" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642.png" alt="" width="1848" height="772" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642.png 1848w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642-300x125.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642-1024x428.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642-450x188.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/3455eb525df8cbc2c8a5f68c34229642-900x376.png 900w" sizes="(max-width: 1848px) 100vw, 1848px" /></a></p>
<p>バックアップ取得対象は、先ほどのEFSで自動バックアップを有効化にチェックを入れたリソースが対象となっています。</p>
<p><a href="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524.png"><img class="alignnone size-full wp-image-88850" src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524.png" alt="" width="1864" height="402" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524.png 1864w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524-300x65.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524-1024x221.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524-450x97.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/2018042524-900x194.png 900w" sizes="(max-width: 1864px) 100vw, 1864px" /></a></p>
<p>&nbsp;</p>
<h2>まとめ</h2>
<p>Amazon EFSにて自動バックアップが設定できるようになりました。今までよりも簡単にEFSのバックアップをとれるようになりましたので、使ってみてはいかがでしょうか。</p>
<p>また、本ブログの内容は2020/7/22(水) 18:00にYouTubeで配信される「30分でわかる AWS UPDATE！」でも取り上げる予定ですので、ぜひご覧ください！</p>
]]></content:encoded>
			</item>
		<item>
		<title>簡単にライブストリーミング配信ができる Amazon IVS  がリリース</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/20/introducing-amazon-ivs/</link>
		<pubDate>Mon, 20 Jul 2020 10:53:09 +0000</pubDate>
		<dc:creator><![CDATA[yamanaka]]></dc:creator>
				<category><![CDATA[アップデート]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[Amazon Interactive Video Service]]></category>
		<category><![CDATA[Amazon IVS]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88818</guid>
		<description><![CDATA[はじめに こんにちは、技術1課の山中です。 今年に入り YouTube でライブ配信を行う機会が急に増えてきたのですが、ライブ配信って難しいですよね。 そんな中、 AWS から簡単にライブストリーミング配信ができるサービスが登場したとのことなので、試していこうと思います！！ Amazon Interactive Video Service (Amazon IVS) のご紹介 Amazon Interactive Video Servic...]]></description>
				<content:encoded><![CDATA[<h1 id="">はじめに</h1>
<p>こんにちは、技術1課の山中です。<br />
今年に入り YouTube でライブ配信を行う機会が急に増えてきたのですが、ライブ配信って難しいですよね。<br />
そんな中、 AWS から簡単にライブストリーミング配信ができるサービスが登場したとのことなので、試していこうと思います！！</p>
<p><a href="https://aws.amazon.com/jp/about-aws/whats-new/2020/07/introducing-amazon-ivs/">Amazon Interactive Video Service (Amazon IVS) のご紹介</a></p>
<h1 id="amazoninteractivevideoservice">Amazon Interactive Video Service とは</h1>
<p>Amazon Interactive Video Service (Amazon IVS) とは、わずか数クリックでセットアップできるマネージドライブストリーミングソリューションです。<br />
複雑だったライブ配信環境を AWS 上で簡単に構築できます。<br />
Amazon IVS を利用することで、 YouTube Live や Twitch といったストリーミングプラットフォームを利用することなく、自分自信で開発したアプリケーションやウェブサイト上で動画を直接配信することが可能となります。</p>
<p><a href="https://aws.amazon.com/jp/ivs/">Amazon Interactive Video Service</a></p>
<h2 id="-1">対応リージョン</h2>
<p>Amazon IVS が利用できるリージョンは現在以下の  3 リージョンです。</p>
<ul>
<li>バージニア北部</li>
<li>オレゴン</li>
<li>アイルランド</li>
</ul>
<h2 id="-2">料金</h2>
<p>Amazon IVS は従量課金制です。<br />
Amazon IVS へのビデオ入力の合計時間と、視聴者に配信されたビデオ出力の合計時間に対して料金が発生します。</p>
<ul>
<li>ライブビデオ入力コスト<br />
ビデオ入力の料金は、チャネルタイプによって異なります。</li>
</ul>
<table border>
<tr>
<th bgcolor="#d3d3d3">チャネルタイプ</th>
<th bgcolor="#d3d3d3">1 時間あたりの料金</th>
<th bgcolor="#d3d3d3">説明</th>
</tr>
<tr>
<td>標準</td>
<td>$ 2.00</td>
<td>元の入力から様々な品質の出力 (1080p、720p、480p) が生成され、視聴者の状態に合わせて最適な動画を提供する</td>
</tr>
<tr>
<td>ベーシック</td>
<td>$ 0.20</td>
<td>最大 480p の解像度で元の入力をそのまま視聴者に提供する</td>
</tr>
</table>
<ul>
<li>ライブビデオ出力コスト<br />
ライブビデオ出力の料金は、視聴者に配信する時間と配信元の場所によって決まります。</li>
</ul>
<table border>
<tr>
<th bgcolor="#d3d3d3">解像度</th>
<th bgcolor="#d3d3d3">1ヶ月あたりの配信時間</th>
<th bgcolor="#d3d3d3">北アメリカ</th>
<th bgcolor="#d3d3d3">ヨーロッパ</th>
<th bgcolor="#d3d3d3">ブラジル</th>
<th bgcolor="#d3d3d3">日本、香港、シンガポール、タイ</th>
<th bgcolor="#d3d3d3">台湾</th>
<th bgcolor="#d3d3d3">韓国</th>
<th bgcolor="#d3d3d3">オーストラリア</th>
</tr>
<tr>
<td rowspan="2">SD</td>
<td>最初の10,000時間</td>
<td>$0.0375</td>
<td>$0.0375</td>
<td>$0.060</td>
<td>$0.065</td>
<td>$0.080</td>
<td>$0.125</td>
<td>$0.085</td>
</tr>
<tr>
<td>10,000時間以上</td>
<td>$0.035</td>
<td>$0.035</td>
<td>$0.055</td>
<td>$0.060</td>
<td>$0.075</td>
<td>$0.1175</td>
<td>$0.080</td>
</tr>
<tr>
<td rowspan="2">HD</td>
<td>最初の10,000時間</td>
<td>$0.075</td>
<td>$0.075</td>
<td>$0.120</td>
<td>$0.130</td>
<td>$0.160</td>
<td>$0.250</td>
<td>$0.170</td>
</tr>
<tr>
<td>10,000時間以上</td>
<td>$0.070</td>
<td>$0.070</td>
<td>$0.110</td>
<td>$0.120</td>
<td>$0.150</td>
<td>$0.235</td>
<td>$0.160</td>
</tr>
<tr>
<td rowspan="2">フルHD</td>
<td>最初の10,000時間</td>
<td>$0.150</td>
<td>$0.150</td>
<td>$0.240</td>
<td>$0.260</td>
<td>$0.320</td>
<td>$0.500</td>
<td>$0.340</td>
</tr>
<tr>
<td>10,000時間以上</td>
<td>$0.140</td>
<td>$0.140</td>
<td>$0.220</td>
<td>$0.240</td>
<td>$0.300</td>
<td>$0.470</td>
<td>$0.320</td>
</tr>
</table>
<h1 id="-3">試してみる</h1>
<p>早速試してみましょう。<br />
Amazon IVS は東京リージョンで利用できないので、今回はバージニア北部リージョンで試していきます。</p>
<h2 id="-4">チャネルの作成</h2>
<p>AWS マネジメントコンソールを開き、 <strong>Amazon Interactive Video Service</strong> にアクセスします。<br />
はじめに、以下のような画面が表示されるので <strong>チャネルの作成</strong> ボタンをクリックし作成を開始しましょう。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-14-57-49-1024x502.png" alt="" width="1024" height="502" class="alignnone size-large wp-image-88819" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-14-57-49-1024x502.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-14-57-49-300x147.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-14-57-49-450x220.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-14-57-49-900x441.png 900w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>セットアップ画面で <strong>チャネル名</strong> と <strong>チャネル設定</strong> を指定します。<br />
チャネル設定では、 <strong>チャネルタイプ</strong> と <strong>動画レイテンシー</strong> を指定でき、動画レイテンシーについては以下のような違いがあります。</p>
<ul>
<li>動画レイテンシー<br />
カメラがライブストリームをキャプチャしてから視聴者の画面にストリーム動画が表示されるまでの時間を設定することができます。</li>
</ul>
<table border>
<tr>
<th bgcolor="#d3d3d3">設定値</th>
<th bgcolor="#d3d3d3">説明</th>
</tr>
<tr>
<td>超低レイテンシー</td>
<td>5 秒未満のレイテンシーを実現し、インタラクティブな体験を構築するのに最適</td>
</tr>
<tr>
<td>標準レイテンシー</td>
<td>10 秒ほどのレイテンシー</td>
</tr>
</table>
<p>今回は、 <strong>デフォルト設定</strong> のまま進めていきます。 <strong>デフォルト設定</strong> を選択後、 <strong>チャネルの作成</strong> ボタンをクリックします。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49-1024x747.png" alt="" width="1024" height="747" class="alignnone size-large wp-image-88820" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49-1024x747.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49-300x219.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49-439x320.png 439w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49-877x640.png 877w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-24-49.png 1221w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>5 秒くらいでチャネルの作成が完了し、ストリーム設定用の RTMP URL 、ストリームキー、再生設定用の URL が表示されるので、控えておきましょう。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_-1024x643.png" alt="" width="1024" height="643" class="alignnone size-large wp-image-88834" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_-1024x643.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_-300x188.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_-450x282.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_-900x565.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-28-02_.png 1308w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2 id="obs">OBS から配信</h2>
<p>今回は <a href="https://obsproject.com/">Open Broadcaster Software®️ | OBS</a> を利用してストリーミング配信を試してみます。<br />
OBS を開き、 <strong>設定</strong> → <strong>配信</strong> で以下を入力して <strong>OK</strong> ボタンをクリックします。</p>
<table border>
<tr>
<th bgcolor="#d3d3d3">項目</th>
<th bgcolor="#d3d3d3">値</th>
</tr>
<tr>
<td>サービス</td>
<td>カスタム</td>
</tr>
<tr>
<td>サーバー</td>
<td>[Amazon IVS チャネルのストリーム設定用 RTMP URL]</td>
</tr>
<tr>
<td>ストリームキー</td>
<td>[Amazon IVS チャネルのストリームキー]</td>
</tr>
</table>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3-1024x806.png" alt="" width="1024" height="806" class="alignnone size-large wp-image-88822" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3-1024x806.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3-300x236.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3-407x320.png 407w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3-813x640.png 813w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/98e66a4150875973e0018df661c9e0b3.png 1093w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>これで OBS 側の設定は完了なので、配信を開始します。今回は YouTube で<a href="https://youtu.be/rn6e7mG4CZY">先日のイベント動画</a>を再生し、それを OBS でキャプチャして配信しています。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/6786638eccb165e58cdc1063eeb75867-1024x601.png" alt="" width="1024" height="601" class="alignnone size-large wp-image-88823" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/6786638eccb165e58cdc1063eeb75867-1024x601.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/6786638eccb165e58cdc1063eeb75867-300x176.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/6786638eccb165e58cdc1063eeb75867-450x264.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/6786638eccb165e58cdc1063eeb75867-900x528.png 900w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
配信を開始すると、 Amazon IVS の <strong>ライブストリーム</strong> タブで配信している内容を確認することができます。<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-1024x711.png" alt="" width="1024" height="711" class="alignnone size-large wp-image-88824" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-1024x711.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-300x208.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-140x96.png 140w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-450x313.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00-900x625.png 900w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/Amazon-IVS-Console-2020-07-20-18-42-00.png 1291w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
右が OBS 、左が Amazon IVS のプレビュー画面なのですが、バージニア北部でチャネルを作成しても遅延が <strong>6 秒</strong> ほどで収まっていることがわかります。<br />
すごいですね〜<br />
<img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05f04c9c18ff41fd30e38e813c92afe0-1024x391.png" alt="" width="1024" height="391" class="alignnone size-large wp-image-88825" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05f04c9c18ff41fd30e38e813c92afe0-1024x391.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05f04c9c18ff41fd30e38e813c92afe0-300x115.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05f04c9c18ff41fd30e38e813c92afe0-450x172.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05f04c9c18ff41fd30e38e813c92afe0-900x344.png 900w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
今回は省略しますが、再生用 URL を自分のアプリケーションに埋め込めば、同じように再生できるはずです！</p>
<h2 id="-5">おわりに</h2>
<p>なんとなくライブストリーム配信って難しいイメージがあったのですが、 Amazon IVS を利用すると簡単に環境が作成できて、なおかつ、低レイテンシーな配信ができるとはすごいですね！！！<br />
社内で行っている YouTube Live も Amazon IVS でチャレンジしてみようと思います。（時期未定</p>
<p>また、この内容は 2020/7/22(水) 18:00 よりYouTube にて配信する「30分でわかる AWS UPDATE！」で取り上げますので、是非ご覧ください！<br />
チャンネル登録よろしくおねがいします！！<br />
<a href="https://www.youtube.com/c/ServerworksJp?sub_confirmation=1">サーバーワークス チャンネル &#8211; YouTube</a></p>
<h2 id="-6">参考</h2>
<ul>
<li><a href="https://aws.amazon.com/jp/blogs/aws/amazon-interactive-video-service-add-live-video-to-your-apps-and-websites/">Amazon Interactive Video Service – Add Live Video to Your Apps and Websites | AWS News Blog</a></li>
<li><a href="https://aws.amazon.com/jp/ivs/faqs/">Amazon Interactive Video Service FAQs</a></li>
<li><a href="https://aws.amazon.com/jp/ivs/pricing/">Amazon Interactive Video Service  Pricing</a></li>
</ul>
]]></content:encoded>
			</item>
		<item>
		<title>AWS DeepRacer Evo とセンサーキットが発売開始されました！</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/17/deepracer-evo/</link>
		<pubDate>Fri, 17 Jul 2020 09:39:42 +0000</pubDate>
		<dc:creator><![CDATA[mine]]></dc:creator>
				<category><![CDATA[センサー]]></category>
		<category><![CDATA[入門編]]></category>
		<category><![CDATA[想い]]></category>
		<category><![CDATA[技術]]></category>
		<category><![CDATA[文化]]></category>
		<category><![CDATA[機械学習]]></category>
		<category><![CDATA[私たちのカルチャー]]></category>
		<category><![CDATA[豆知識]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[DeepRacer]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88727</guid>
		<description><![CDATA[コンニチワワ AWS DeepRacer Evo とセンサーキットが発売開始されました。 すでにDeepRacerのシミュレーションでは今回発売されたEvoと同等なデバイスは利用できましたが、ついにリアルのコースで障害物競争や1on1でのレースができるようになったわけですね。 AWS DeepRacer Evo 新しくなったDeepRacer『AWS DeepRacer Evo』USのamazonで購入できます。 AWS DeepRac...]]></description>
				<content:encoded><![CDATA[<p>コンニチワワ</p>
<p><a href="https://aws.amazon.com/jp/about-aws/whats-new/2020/07/aws-deepracer-evo-and-sensor-kit-now-available-for-purchase/" rel="noopener" target="_blank">AWS DeepRacer Evo とセンサーキットが発売開始</a>されました。</p>
<p>すでにDeepRacerのシミュレーションでは今回発売されたEvoと同等なデバイスは利用できましたが、ついにリアルのコースで障害物競争や1on1でのレースができるようになったわけですね。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6.png" alt="" width="1280" height="720" class="alignnone size-full wp-image-88742" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6.png 1280w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6-300x169.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6-1024x576.png 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6-450x253.png 450w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/4c85c234076325c638e2c305400f29d6-900x506.png 900w" sizes="(max-width: 1280px) 100vw, 1280px" /></p>
<h1>AWS DeepRacer Evo</h1>
<p>新しくなったDeepRacer『AWS DeepRacer Evo』USのamazonで購入できます。</p>
<ul>
<li><a href="https://www.amazon.com/dp/B081GZSJVL" rel="noopener" target="_blank">AWS DeepRacer Evo &#8211; Fully Autonomous 1/18th Scale Race Car for Developers</a></li>
</ul>
<p>このフォルム。。。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01.jpg" alt="" width="1500" height="1500" class="alignnone size-full wp-image-88729" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01.jpg 1500w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01-300x300.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01-1024x1024.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01-320x320.jpg 320w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/01-640x640.jpg 640w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<p>？？？</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/02.png" alt="" width="550" height="295" class="alignnone size-full wp-image-88730" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/02.png 550w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/02-300x161.png 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/02-450x241.png 450w" sizes="(max-width: 550px) 100vw, 550px" /></p>
<p>そんなことはさておき、今までのDeepRacerとの違いはカメラとLiDARにあります。</p>
<h2>カメラを2台搭載</h2>
<p>いままでのDeepRacerはカメラ1台でした。DeepRacer Evoにはカメラが2台搭載されています。これによりコース内の障害物や他のDeepRacerの検出ができたり、距離が測れるわけですね。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03.jpg" alt="" width="1500" height="1500" class="alignnone size-full wp-image-88735" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03.jpg 1500w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03-300x300.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03-1024x1024.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03-320x320.jpg 320w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/03-640x640.jpg 640w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<h2>LiDAR</h2>
<p>LiDARとはセンサーの１つです。下の画像の丸い円盤のようなものがLiDARです。レーザーを360°に発し、周りの物との距離を測ることができます。カメラは前を見ていますがそれ以外の周りの物の検出はLiDARでって感じでしょうね。</p>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04.jpg" alt="" width="1500" height="1500" class="alignnone size-full wp-image-88737" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04.jpg 1500w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04-300x300.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04-1024x1024.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04-320x320.jpg 320w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/04-640x640.jpg 640w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<h1>AWS DeepRacer Sensor Kit</h1>
<p>いままでのDeepRacerをお持ちならAWS DeepRacer Sensor KitでDeepRacer Evoと同等の機能にアップグレードできます。こちらもUSのamazonで購入できます。</p>
<ul>
<li><a href="https://www.amazon.com/dp/B081DP5N9L" rel="noopener" target="_blank">AWS DeepRacer Sensor Kit – Adds Object Detection to your AWS DeepRacer Autonomous 1/18th Scale Race Car</a></li>
</ul>
<p><img src="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05.jpg" alt="" width="1500" height="1500" class="alignnone size-full wp-image-88744" srcset="http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05.jpg 1500w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05-300x300.jpg 300w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05-1024x1024.jpg 1024w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05-320x320.jpg 320w, http://corporate-tech-blog-wp.s3-website-ap-northeast-1.amazonaws.com/tech/wp-content/uploads/2020/07/05-640x640.jpg 640w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<h1>まとめ</h1>
<p>やっとリアルなDeepRacerでタイムアタック以外のことができるようになったわけですが、まあいいんじゃないでしょうか。</p>
]]></content:encoded>
			</item>
		<item>
		<title>【はじめてのAWS】AWSアカウントを作成しよう</title>
		<link>http://blog.serverworks.co.jp/tech/2020/07/17/hajimeteno_aws_account/</link>
		<pubDate>Fri, 17 Jul 2020 01:57:21 +0000</pubDate>
		<dc:creator><![CDATA[tamura]]></dc:creator>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[入門編]]></category>

		<guid isPermaLink="false">http://blog.serverworks.co.jp/tech/?p=88517</guid>
		<description><![CDATA[&#160; 今回は、弊社のYouTubeチャンネル「サーバーワークス チャンネル」にて先日公開した以下動画についてblogでも内容を紹介いたします。 動画内では、実際に画面を操作しながらアカウント登録を行っていくデモがありますのでもし興味があれば是非、動画も視聴頂ければと思います。 ﻿ 内容が良かった、為になったと感じたら是非Goodボタンやチャンネル登録頂けると嬉しいです。 対象者 ・AWSをこれからはじめたい方 ・AWSをもっと活...]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>今回は、弊社のYouTubeチャンネル「<a href="http://www.youtube.com/c/ServerworksJp" target="_blank" rel="noopener">サーバーワークス チャンネル</a>」にて先日公開した以下動画についてblogでも内容を紹介いたします。</p>
<p>動画内では、実際に画面を操作しながらアカウント登録を行っていくデモがありますのでもし興味があれば是非、動画も視聴頂ければと思います。</p>
<div style="position: relative; width: 100%; height: 0; padding-top: 56.25%;"><iframe width="100%" height="100%" style="position: absolute; top: 0; left: 0;" src="https://info.serverworks.co.jp/20200716_aws_account" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="allowfullscreen" data-mce-fragment="1"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span></iframe></div>
<p>内容が良かった、為になったと感じたら是非Goodボタンやチャンネル登録頂けると嬉しいです。</p>
<h4>対象者</h4>
<p>・AWSをこれからはじめたい方<br />
・AWSをもっと活用したい方<br />
・AWS アカウント作成手順およびイメージを把握したい方</p>
<h4>AWSアカウントとは</h4>
<p>AWSの各種サービスを個人や法人が利用するために、AWSに払い出してもらう「テナント」のようなイメージとなります。AWSアカウントを取得する事で、様々なプロダクトを活用する事が可能となります。</p>
<p>参考: クラウド製品 (AWSで提供されている様々なプロダクト)<br />
<a href="https://aws.amazon.com/jp/products/" target="_blank" rel="noopener">https://aws.amazon.com/jp/products/</a></p>
<p>AWSアカウントの作成は無料となり、 Amazon EC2 や Amazon S3 をはじめとした様々なサービスで無料利用枠が設定されているので、その範囲であれば無料で利用可能です。</p>
<p>参考: AWS 無料利用枠<br />
<a href="https://aws.amazon.com/jp/free/" target="_blank" rel="noopener">https://aws.amazon.com/jp/free/</a></p>
<h4>アカウントの作成前に</h4>
<p>AWSアカウントを作成するにあたり以下内容が必要となりますので、必要に応じて事前に検討、準備しておくと登録がスムーズとなります。</p>
<ul>
<li>Eメールアドレス<br />
AWSアカウントの ルートユーザーのIDとなります</li>
<li>AWSアカウント名<br />
 発行されるアカウントIDの数字12桁とは別に人間が管理しやすくなるよう名前を割り当てる事が出来ます。後にルートユーザー権限であれば変更も可能です</li>
<li> 連絡先情報<br />
　氏名、住所、電話番号 等</li>
<li>支払情報 (※アカウント作成だけで請求は発生しません)
<ul>
<li>クレジット/デビットカード番号情報</li>
<li>請求先住所情報</li>
</ul>
</li>
<li>電話もしくはSMS(テキストメッセージ)を利用できる端末<br />
本人確認用途で利用します</li>
<li>サポートプランの検討<br />
アカウントの用途や受けたいサポート内容に応じて、必要なプランを選択します(詳細は以下参照)</p>
<ul>
<li>ベーシックプラン</li>
<li>開発者プラン</li>
<li>ビジネスプラン</li>
<li>エンタープライズプラン</li>
</ul>
</li>
</ul>
<p>参考: AWSサポート<br />
<a href="https://aws.amazon.com/jp/premiumsupport/" target="_blank" rel="noopener">https://aws.amazon.com/jp/premiumsupport/</a></p>
<p>参考: AWSサポートのプラン比較<br />
<a href="https://aws.amazon.com/jp/premiumsupport/plans/" target="_blank" rel="noopener">https://aws.amazon.com/jp/premiumsupport/plans/</a></p>
<h4>AWSアカウント新規作成のデモ(動画内 02:30〜)</h4>
<p>概要の説明に加え、実際にAWSのオフィシャルサイトからAWSアカウントを発行し、マネジメントコンソールにルートユーザーでサインインするまでのデモを動画内で紹介しております。</p>
<p>ざっくりAWSアカウント作成作業のイメージを掴んで頂ける内容となっておりますで、もし興味があれば動画を参照ください。</p>
<h4>まとめ</h4>
<p>AWSアカウントの作成自体は、Webフォームで簡単に申請でき、数分程度で完了します。<br />
様々なサービスで無料利用枠が用意されているので有効に利用し、AWSを活用していきましょう。</p>
<h4>関連blog</h4>
<blockquote class="wp-embedded-content" data-secret="Ol5ty3RmbW"><p><a href="http://blog.serverworks.co.jp/tech/2020/02/03/awsaccountforbeginner/">AWSアカウントとは？IAMとは？【ビギナー向け】</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" src="http://blog.serverworks.co.jp/tech/2020/02/03/awsaccountforbeginner/embed/#?secret=Ol5ty3RmbW" data-secret="Ol5ty3RmbW" width="500" height="282" title="&#8220;AWSアカウントとは？IAMとは？【ビギナー向け】&#8221; &#8212; サーバーワークス エンジニアブログ" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<div id="extensionsWeblioEjBx" style="position: absolute; z-index: 2147483647; left: 292px; top: 1329px;">
&nbsp;<br />
&nbsp;<br />
&nbsp;
</div>
]]></content:encoded>
			</item>
	</channel>
</rss>
