<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud on CENG Lab -- Ryo Ueda</title><link>https://ofurotime.ca/knowledge-base/cloud/</link><description>Recent content in Cloud on CENG Lab -- Ryo Ueda</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 08 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ofurotime.ca/knowledge-base/cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>IaC Scanning Tools: Checkov, TFLint, Grype, and pre-commit</title><link>https://ofurotime.ca/knowledge-base/cloud/iac-scanning-tools/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/iac-scanning-tools/</guid><description>&lt;h2 id="tool-overview" class="relative group"&gt;Tool Overview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#tool-overview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Tool&lt;/th&gt;
					&lt;th&gt;Role&lt;/th&gt;
					&lt;th&gt;What it catches&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Checkov&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;IaC security scanner&lt;/td&gt;
					&lt;td&gt;Misconfigurations in Terraform, CloudFormation, K8s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;TFLint&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Terraform linter&lt;/td&gt;
					&lt;td&gt;Invalid resource types, deprecated syntax, bad practices&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Grype&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Vulnerability scanner&lt;/td&gt;
					&lt;td&gt;CVEs in container images, filesystems, SBOMs&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;pre-commit&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Git hook framework&lt;/td&gt;
					&lt;td&gt;Runs all of the above automatically on every commit&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;git commit → pre-commit → TFLint + Checkov (local)
 ↓
 CI pipeline → Checkov + TFLint + Grype (full gate)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="1-checkov" class="relative group"&gt;1. Checkov &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#1-checkov" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Static analysis tool for IaC security. 1,000+ built-in policies covering AWS, Azure, GCP, and Kubernetes. Maintained by Palo Alto Networks (acquired Bridgecrew) under Apache 2.0.&lt;/p&gt;</description></item><item><title>【Lab】Static Website with Hugo + AWS</title><link>https://ofurotime.ca/knowledge-base/cloud/-labhugo-website/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/-labhugo-website/</guid><description>&lt;h2 id="overview" class="relative group"&gt;Overview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#overview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;This lab covers building a personal website from scratch using Hugo as a static site generator, the Congo theme for design, and AWS S3 + CloudFront for hosting and content delivery.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hugo v0.162.0 (snap) on Ubuntu WSL2&lt;/li&gt;
&lt;li&gt;Theme: Congo (Tailwind CSS based)&lt;/li&gt;
&lt;li&gt;Hosting: AWS S3 + CloudFront&lt;/li&gt;
&lt;li&gt;Domain: ofurotime.ca&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="phase-1-environment-setup" class="relative group"&gt;Phase 1: Environment Setup &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#phase-1-environment-setup" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3 id="installing-hugo" class="relative group"&gt;Installing Hugo &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#installing-hugo" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;Ubuntu&amp;rsquo;s &lt;code&gt;apt&lt;/code&gt; package manager ships an outdated version of Hugo. To get the latest version, use &lt;code&gt;snap&lt;/code&gt; instead:&lt;/p&gt;</description></item><item><title>AWS VPC Basics</title><link>https://ofurotime.ca/knowledge-base/cloud/aws-vpc-basics/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/aws-vpc-basics/</guid><description>&lt;h2 id="what-is-a-vpc" class="relative group"&gt;What is a VPC? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-a-vpc" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;A Virtual Private Cloud (VPC) is a logically isolated network within AWS. It gives you full control over IP ranges, subnets, route tables, and gateways.&lt;/p&gt;
&lt;h2 id="key-components" class="relative group"&gt;Key Components &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#key-components" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3 id="subnets" class="relative group"&gt;Subnets &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#subnets" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Public subnet&lt;/strong&gt; — has a route to an Internet Gateway; hosts resources accessible from the internet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Private subnet&lt;/strong&gt; — no direct internet route; hosts databases, backend services&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet-gateway-igw" class="relative group"&gt;Internet Gateway (IGW) &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#internet-gateway-igw" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;Attached to a VPC to allow communication between resources in the VPC and the internet.&lt;/p&gt;</description></item></channel></rss>