<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ブログRSSフィード]]></title><description><![CDATA[The Daily Diary of an Ordinary Engineer]]></description><link>http://github.com/dylang/node-rss</link><generator>GatsbyJS</generator><lastBuildDate>Sat, 18 Apr 2026 09:37:44 GMT</lastBuildDate><item><title><![CDATA[TFLintでTerraformを静的解析]]></title><description><![CDATA[目次 はじめに TFLintとは 前提事項 設定ファイルの解説（.tflint.hcl） TFLintの具体的な利用方法 Terraformコード例 TFLint静的検査結果 まとめ はじめに 普段、TerraformをVS Codeで利用する場合、Terraform…]]></description><link>https://blog.sharemyknowledge.jp/tflint-terraform-aws-static-analysis-guide/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/tflint-terraform-aws-static-analysis-guide/</guid><pubDate>Sun, 11 Jan 2026 21:36:30 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#tflint&quot;&gt;TFLintとは&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4374c8a9&quot;&gt;前提事項&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#tflinthcl&quot;&gt;設定ファイルの解説（.tflint.hcl）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#tflint-1&quot;&gt;TFLintの具体的な利用方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#terraform&quot;&gt;Terraformコード例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#tflint-2&quot;&gt;TFLint静的検査結果&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;普段、TerraformをVS Codeで利用する場合、Terraform公式拡張機能と合わせてリアルタイム構文チェックなどのエコシステムが利用可能です。&lt;/p&gt;
&lt;p&gt;これらと合わせてチェックをより強化できるTFLintと呼ばれる静的検査ツールがあり、簡単に紹介できればと思っています。&lt;/p&gt;
&lt;h2 id=&quot;tflint&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tflint&quot; aria-label=&quot;TFLintとは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;TFLintとは&lt;/h2&gt;
&lt;p&gt;主要クラウドプロバイダー（AWS/Azure/GCP）に関する警告やエラーについて、Terraformコードを解析し、知らせてくれるフレームワークとなっており、各機能はプラグインによって提供される仕組みとなっているツールになっています。&lt;/p&gt;
&lt;p&gt;廃止された構文や未使用変数、ベストプラクティスに沿ったルールセットが含まれています。&lt;/p&gt;
&lt;p&gt;AWSのルールセットは、公式プラグイン「TFLint Ruleset for terraform-provider-aws」として提供されています。&lt;/p&gt;
&lt;p&gt;実際の設定ファイルやチェックした結果を紹介します。&lt;/p&gt;
&lt;h2 id=&quot;h2-4374c8a9&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4374c8a9&quot; aria-label=&quot;前提事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提事項&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TFLintインストール方法については、次を参照してください。
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/terraform-linters/tflint?tab=readme-ov-file#installation&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/terraform-linters/tflint?tab=readme-ov-file#installation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Terraformの基礎的な知識については解説しません。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;tflinthcl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tflinthcl&quot; aria-label=&quot;設定ファイルの解説（.tflint.hcl） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定ファイルの解説（.tflint.hcl）&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;設定値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;enabled&lt;/td&gt;
&lt;td&gt;TFLintを有効にするか否かを true / false で指定します。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;deep_check&lt;/td&gt;
&lt;td&gt;より踏み込んだ解析（deep check）にするか否かを true / false で指定します。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;version&lt;/td&gt;
&lt;td&gt;利用するルールセットプラグインのバージョンを指定します。&lt;br&gt;AWSであれば、基本的に &lt;a href=&quot;https://github.com/terraform-linters/tflint-ruleset-aws/releases/latest&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/terraform-linters/tflint-ruleset-aws/releases/latest&lt;/a&gt; に出てくるバージョン指定で問題ありません。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;source&lt;/td&gt;
&lt;td&gt;プラグインの取得元を指定します。AWSの場合、公式のtflint-ruleset-awsリポジトリを指定します。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;以下は、設定例になります。&lt;/p&gt;
&lt;p&gt;deep_checkを有効にする場合、AWSであれば読み取り権限が必要になります。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;plugin&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;enabled&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;    = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;deep_check&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;    = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;0.45.0&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;     = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;github.com/terraform-linters/tflint-ruleset-aws&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;tflint-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tflint-1&quot; aria-label=&quot;TFLintの具体的な利用方法 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;TFLintの具体的な利用方法&lt;/h2&gt;
&lt;p&gt;tflintの基本的なコマンドは次の通りです。&lt;/p&gt;
&lt;p&gt;詳細なコマンドは、GitHub公式を参照するようにしてください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;初期化
&lt;ul&gt;
&lt;li&gt;tflint —initコマンドでプラグインのダウンロードが実行されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;静的検査
&lt;ul&gt;
&lt;li&gt;tflintコマンドでカレントディレクトリに対して静的検査が可能です。&lt;/li&gt;
&lt;li&gt;tflint —recursiveコマンドで再帰的に静的検査が可能です。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;terraform&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform&quot; aria-label=&quot;Terraformコード例 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Terraformコード例&lt;/h2&gt;
&lt;p&gt;以下に示す例は、EC2インスタンス作成（AWS_instance）と、未指定を許容する任意入力変数（default = nullのvariable）の書き方をまとめて示したサンプルです。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;resource&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;&amp;quot;aws_instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;example&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;ami&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;           = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ami-03d1820163e6b9f5d&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;instance_type&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;t3.micro&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;key_name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;      = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;example-key-pair&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;variable&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;scheduler_rds_identifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;        = &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;example&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;     = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;tflint-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#tflint-2&quot; aria-label=&quot;TFLint静的検査結果 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;TFLint静的検査結果&lt;/h2&gt;
&lt;p&gt;TFLintの実行結果では、EC2のkey_nameに指定したキーペア名が実在しない（または一致しない）ためエラーになっている点と、宣言した&lt;code&gt;scheduler_rds_identifier&lt;/code&gt;変数がどこからも参照されておらず未使用として警告になっている点が確認できました。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;tflint&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;recursive&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;issue&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;) &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;found&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;example-key-pair&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;is&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;invalid&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;. (&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_instance_invalid_key_name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;bastion&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;tf&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:   &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;key_name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;                    = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;example-key-pair&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Warning&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Fixable&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;] &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;variable&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;scheduler_rds_identifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;is&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;declared&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;but&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;not&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;used&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; (&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;terraform_unused_declarations&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;tf&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;147&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;147&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;variable&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;scheduler_rds_identifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Reference&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;https&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;://&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;github&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;linters&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;tflint-ruleset-terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;blob&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;v0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;13.0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;docs&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;rules&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;terraform_unused_declarations&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;md&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;また、どのようなルールセットが入っており、deep_checkで検査される項目の記載が以下、GitHubにございますので興味がある方は参照してください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/terraform-linters/tflint-ruleset-aws/blob/master/docs/rules/README.md&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://github.com/terraform-linters/tflint-ruleset-aws/blob/master/docs/rules/README.md&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;TFLintを使ってTerraformコードを静的に検査し、環境依存値（例：EC2のキーペア名）の不整合や、未使用変数のような保守性を下げる記述を早い段階で洗い出せることを確認しました。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .mtk10 { color: #4EC9B0; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[Terraform Workspaceで実現する環境分離とリモートステート連携]]></title><description><![CDATA[目次 はじめに Terraform Workspaceとは 動作確認内容 流れ 環境準備 S3バケットの作成 検証用Terraformファイルの作成 プロジェクト初期化 prodワークスペースの作成と適用 stgワークスペースの作成と適用 S…]]></description><link>https://blog.sharemyknowledge.jp/terraform-workspace-environment-isolation-remote-state/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/terraform-workspace-environment-isolation-remote-state/</guid><pubDate>Sun, 09 Nov 2025 10:10:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#terraform-workspace&quot;&gt;Terraform Workspaceとは&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-e1de7a5c&quot;&gt;動作確認内容&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-e42abd05&quot;&gt;流れ&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-eb951fb2&quot;&gt;環境準備&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#s3&quot;&gt;S3バケットの作成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#terraform&quot;&gt;検証用Terraformファイルの作成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h4-8e81a552&quot;&gt;プロジェクト初期化&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#prod&quot;&gt;prodワークスペースの作成と適用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#stg&quot;&gt;stgワークスペースの作成と適用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#s3-1&quot;&gt;S3バケット内の状態確認&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;こんにちは、今回は、より実践的な内容として、Terraformでの環境分離についてお話ししたいと思います。&lt;/p&gt;
&lt;p&gt;Terraformを利用して、複数環境の構築をする際、環境間の設定差異などを考慮する必要があり、単一環境と比べて管理方法などが複雑になってくることがあります。&lt;/p&gt;
&lt;p&gt;今回、紹介するTerraform Workspaceを利用する事でどの様にして環境間の分離を実現し、リモートステートを連携させるかについて紹介します。&lt;/p&gt;
&lt;p&gt;なお、Terraformで環境分離する手法として、今回紹介する、&lt;strong&gt;ワークスペースによる分離&lt;/strong&gt;と&lt;strong&gt;ファイルレイアウトによる分離&lt;/strong&gt; など複数存在しますが、今回はワークスペースを利用した方法にフォーカスして紹介します。&lt;/p&gt;
&lt;h2 id=&quot;terraform-workspace&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform-workspace&quot; aria-label=&quot;Terraform Workspaceとは permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Terraform Workspaceとは&lt;/h2&gt;
&lt;p&gt;Terraform Workspaceを使うと、Terraformの状態を管理するステートファイルを複数作成でき、ワークスペースごとに名前を付けて&lt;strong&gt;同じコードベース&lt;/strong&gt;で複数の環境を管理できます。&lt;/p&gt;
&lt;h2 id=&quot;h2-e1de7a5c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-e1de7a5c&quot; aria-label=&quot;動作確認内容 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;動作確認内容&lt;/h2&gt;
&lt;p&gt;Terraform Workspaceは、同一フォルダ内で複数のワークスペースを作成し管理する機能になります。&lt;/p&gt;
&lt;p&gt;環境間のリソース参照を実現するため、最初に参照元となる&lt;strong&gt;prod&lt;/strong&gt;ワークスペースを作成します。&lt;/p&gt;
&lt;p&gt;次に参照先の&lt;strong&gt;stg&lt;/strong&gt;ワークスペースを作成し、&lt;strong&gt;stg&lt;/strong&gt;ワークスペースから&lt;strong&gt;prod&lt;/strong&gt;ワークスペースのリモートステートを参照する動作確認を行います。&lt;/p&gt;
&lt;h2 id=&quot;h2-e42abd05&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-e42abd05&quot; aria-label=&quot;流れ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;流れ&lt;/h2&gt;
&lt;h3 id=&quot;h3-eb951fb2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-eb951fb2&quot; aria-label=&quot;環境準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;環境準備&lt;/h3&gt;
&lt;p&gt;事前作業として、AWS CLIコマンドを使用し、Terraformのステートファイルを管理するS3バケットを作成します。&lt;/p&gt;
&lt;h4 id=&quot;s3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#s3&quot; aria-label=&quot;S3バケットの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;S3バケットの作成&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;export BUCKET=terraform-workspace-demo01&lt;/code&gt;&lt;br&gt;
&lt;code&gt;export REGION=ap-northeast-1&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バケット作成&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;s3api&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;create-bucket&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;bucket&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;$BUCKET&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;region&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;$REGION&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;create-bucket-configuration&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;LocationConstraint&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;$REGION&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;バージョニング有効化&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;s3api&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;put-bucket-versioning&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;bucket&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;$BUCKET&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;versioning-configuration&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Status&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Enabled&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;terraform&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform&quot; aria-label=&quot;検証用Terraformファイルの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;検証用Terraformファイルの作成&lt;/h4&gt;
&lt;p&gt;以下の内容で&lt;code&gt;main.tf&lt;/code&gt;ファイルを作成します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;required_version&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;1.11.0&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;required_providers&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;aws&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;hashicorp/aws&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;~&amp;gt; 5.89.0&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;provider&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;aws&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;region&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ap-northeast-1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;locals&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ここがVPC作成定義（各workspaceで独立したVPCが作成されます）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;resource&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;&amp;quot;aws_vpc&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;main&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;cidr_block&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;           = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;10.0.0.0/16&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;enable_dns_hostnames&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;enable_dns_support&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;        = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;-vpc&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Environment&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;env&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;ManagedBy&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Terraform&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# このworkspaceで作成したVPCのID&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;vpc_id&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;各workspaceで作成したVPCのID&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;       = &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;id&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# 環境間参照デモ: prodのstateを、prod以外のworkspaceから参照&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;&amp;quot;terraform_remote_state&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;prod&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;     = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; == &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;prod&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ? &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; : &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;s3&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;prod&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;bucket&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;               = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;terraform-workspace-demo01&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# backend.tfと同じ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;region&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;               = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ap-northeast-1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;encrypt&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;              = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace_key_prefix&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;env&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;                  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;stack/terraform.tfstate&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# prodのVPC IDを表示（prod自身ではnull）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;prod_vpc_id&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;prod workspace の VPC ID（prod以外で表示）&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;       = &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;terraform_remote_state&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;prod&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;outputs&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;vpc_id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;次に、以下の内容で&lt;code&gt;backend.tf&lt;/code&gt;ファイルを作成します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;s3&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;bucket&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;               = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;terraform-workspace-demo01&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 一意のS3バケット名に置換&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;region&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;               = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ap-northeast-1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;encrypt&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;              = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;use_lockfile&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;         = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# DynamoDB不要のS3ネイティブロック&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace_key_prefix&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;env&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# S3上: env/&amp;lt;workspace&amp;gt;/stack/terraform.tfstate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;                  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;stack/terraform.tfstate&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;h4-8e81a552&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-8e81a552&quot; aria-label=&quot;プロジェクト初期化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;プロジェクト初期化&lt;/h4&gt;
&lt;p&gt;Terraformのプロジェクトを初期化します。&lt;/p&gt;
&lt;p&gt;正常に成功すると、S3バックエンドが設定され、Terraformの初期化が完了します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;terraform init&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Initializing&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;the&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Successfully&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;configured&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;the&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;s3&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;! &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;will&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;automatically&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;unless&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;the&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;configuration&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;changes&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...{中略}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;been&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;successfully&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;initialized&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...{中略}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;prod&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#prod&quot; aria-label=&quot;prodワークスペースの作成と適用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;prodワークスペースの作成と適用&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;terraform workspace new {環境名}&lt;/code&gt;コマンドを使用して、任意のワークスペース名を作成できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;terraform workspace new prod&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Created&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;and&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;switched&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;prod&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;You&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;re&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;empty&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;. &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Workspaces&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;isolate&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;their&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;state&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;so&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;you&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;terraform plan&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;will&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;not&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;see&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;existing&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;state&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;configuration&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;terraform workspace list&lt;/code&gt;コマンドで、現在のワークスペースを確認します。&lt;/p&gt;
&lt;p&gt;今回の場合、&lt;code&gt;default&lt;/code&gt;ワークスペースと&lt;code&gt;prod&lt;/code&gt;ワークスペースが存在することが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;default&lt;/code&gt;ワークスペースはTerraform初期化時に自動的に作成されるワークスペースかつ削除できないため、こちらのワークスペースは利用せずに&lt;code&gt;prod&lt;/code&gt;ワークスペースを利用します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;terraform workspace list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;default&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;* &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;prod&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;terraform plan&lt;/code&gt; 実行後、&lt;code&gt;terraform apply&lt;/code&gt; を実行し、prodワークスペースのVPCを作成します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;7&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...{中略}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Creating&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Still&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;creating&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;... [10s &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;elapsed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Creation&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;complete&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;after&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 12s [&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;vpc-01f858cac1ff4826c&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Apply&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;complete&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;! &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Resources&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;added&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;changed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;destroyed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Outputs&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;vpc_id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;vpc-01f858cac1ff4826c&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;適用後、以下AWS CLIコマンドで&lt;code&gt;terraform apply&lt;/code&gt;で作成されたVPCを確認します。&lt;/p&gt;
&lt;p&gt;Nameタグが&lt;code&gt;prod-vpc&lt;/code&gt;であることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;aws ec2 describe-vpcs --vpc-ids vpc-01f858cac1ff4826c --query &apos;Vpcs[].{VpcId:VpcId, State:State, CidrBlock:CidrBlock, IsDefault:IsDefault, Name: Tags[?Key==`Name`].Value | [0]}&apos; --output table&lt;/code&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CidrBlock&lt;/th&gt;
&lt;th&gt;IsDefault&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;State&lt;/th&gt;
&lt;th&gt;VpcId&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10.0.0.0/16&lt;/td&gt;
&lt;td&gt;False&lt;/td&gt;
&lt;td&gt;prod-vpc&lt;/td&gt;
&lt;td&gt;available&lt;/td&gt;
&lt;td&gt;vpc-01f858cac1ff4826c&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;stg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#stg&quot; aria-label=&quot;stgワークスペースの作成と適用 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;stgワークスペースの作成と適用&lt;/h3&gt;
&lt;p&gt;同様に、&lt;code&gt;terraform workspace new {環境名}&lt;/code&gt;コマンドを使用して、stgワークスペースを作成します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;terraform workspace new stg&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;8&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Created&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;and&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;switched&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;stg&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;You&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;re&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;now&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;empty&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;workspace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;. &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Workspaces&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;isolate&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;their&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;state&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;so&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;you&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;terraform plan&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Terraform&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;will&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;not&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;see&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;any&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;existing&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;state&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;configuration&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;terraform workspace list&lt;/code&gt;コマンドで、現在のワークスペースを確認します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;stg&lt;/code&gt;ワークスペースが作成されていることが確認でき、&lt;code&gt;stg&lt;/code&gt;ワークスペースに切り替わっていることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;terraform workspace list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;9&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;default&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;prod&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;* &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;stg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;terraform plan&lt;/code&gt; 実行後、&lt;code&gt;terraform apply&lt;/code&gt; を実行し、stgワークスペースのVPCを作成します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;hcl&quot; data-index=&quot;10&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...{中略}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Creating&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Still&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;creating&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;... [10s &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;elapsed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_vpc&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Creation&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;complete&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;after&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 11s [&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;vpc-04184270516210ce1&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Apply&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;complete&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;! &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Resources&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;added&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;changed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;destroyed&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;Outputs&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;prod_vpc_id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;vpc-01f858cac1ff4826c&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk12&quot;&gt;vpc_id&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;vpc-04184270516210ce1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;admonition admonition--info&quot; role=&quot;note&quot; data-admonition-variant=&quot;info&quot; data-border-accent=&quot;info&quot;&gt;&lt;p class=&quot;admonition__title&quot; data-admonition-icon=&quot;💡&quot;&gt;情報&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;mark&gt;stgワークスペースではterraform_remote_stateデータソースを利用して、prodワークスペースのVPC IDを参照しています。&lt;/mark&gt;&lt;/li&gt;
&lt;li&gt;&lt;mark&gt;prod_vpc_id出力値にprodワークスペースで作成されたVPC IDが表示されていることが確認できます。&lt;/mark&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;適用後、以下AWS CLIコマンドで&lt;code&gt;terraform apply&lt;/code&gt;で作成されたVPCを確認します。&lt;/p&gt;
&lt;p&gt;Nameタグが&lt;code&gt;stg-vpc&lt;/code&gt;であることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;aws ec2 describe-vpcs --vpc-ids vpc-04184270516210ce1 --query &apos;Vpcs[].{VpcId:VpcId, State:State, CidrBlock:CidrBlock, IsDefault:IsDefault, Name: Tags[?Key==`Name`].Value | [0]}&apos; --output table&lt;/code&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CidrBlock&lt;/th&gt;
&lt;th&gt;IsDefault&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;State&lt;/th&gt;
&lt;th&gt;VpcId&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10.0.0.0/16&lt;/td&gt;
&lt;td&gt;False&lt;/td&gt;
&lt;td&gt;stg-vpc&lt;/td&gt;
&lt;td&gt;available&lt;/td&gt;
&lt;td&gt;vpc-04184270516210ce1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;s3-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#s3-1&quot; aria-label=&quot;S3バケット内の状態確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;S3バケット内の状態確認&lt;/h3&gt;
&lt;p&gt;S3バケット内に、ワークスペースごとにステートファイルが保存されていることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;aws s3api list-objects --bucket terraform-workspace-demo01 --query &apos;Contents[].{Key: Key, Size: Size, LastModified: LastModified}&apos; --output table&lt;/code&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;LastModified&lt;/th&gt;
&lt;th&gt;Size&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;env/prod/stack/terraform.tfstate&lt;/td&gt;
&lt;td&gt;2025-11-09T08:34:05+00:00&lt;/td&gt;
&lt;td&gt;1981&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;env/stg/stack/terraform.tfstate&lt;/td&gt;
&lt;td&gt;2025-11-09T08:58:20+00:00&lt;/td&gt;
&lt;td&gt;3386&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Terraform Workspaceを利用する事で、同一コードベースで複数環境の分離を実現できることが確認できました。&lt;/p&gt;
&lt;p&gt;ディレクトリを分けることなく、環境ごとにワークスペースを切り替えるだけで、環境分離が可能になるため、管理が容易になる点がメリットです。&lt;/p&gt;
&lt;p&gt;反面、同一リソースを作成しない場合は、ワークスペースごとに条件分岐をコードに追加する必要があるため、コードが複雑になる点がデメリットとなります。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk10 { color: #4EC9B0; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AWS CodeBuildからAmazon EKS APIへのアクセス認証エラー対処]]></title><description><![CDATA[目次 はじめに 事象 エラー例① エラー例② 前提条件 調査 対処 動作確認 まとめ はじめに AWS CodePipelineからAmazon EKSに対して、CI/CDをおこなう機会があり、AWS CodeBuild処理時にEKSクラスター API…]]></description><link>https://blog.sharemyknowledge.jp/aws-codebuild-eks-api-access-auth-error-resolution/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-codebuild-eks-api-access-auth-error-resolution/</guid><pubDate>Mon, 23 Dec 2024 07:53:35 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4f8c45f8&quot;&gt;事象&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-406c8531&quot;&gt;エラー例①&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-63bb3f67&quot;&gt;エラー例②&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-b0ff454a&quot;&gt;前提条件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-da25f48e&quot;&gt;調査&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-f08e3c8f&quot;&gt;対処&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-19a4cd7b&quot;&gt;動作確認&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;AWS CodePipelineからAmazon EKSに対して、CI/CDをおこなう機会があり、AWS CodeBuild処理時にEKSクラスター API認証エラーとなり時間を溶かしましたので備忘録として記録します。&lt;/p&gt;
&lt;h2 id=&quot;h2-4f8c45f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4f8c45f8&quot; aria-label=&quot;事象 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事象&lt;/h2&gt;
&lt;p&gt;AWS CodeBuildの&lt;strong&gt;ビルド設定ファイルに次のコマンドを設定&lt;/strong&gt;しており、エラーになっている状態です。&lt;/p&gt;
&lt;h3 id=&quot;h3-406c8531&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-406c8531&quot; aria-label=&quot;エラー例① permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;エラー例①&lt;/h3&gt;
&lt;p&gt;EKSクラスターへの認証情報が正しくない場合や、クラスターのAPIサーバへ到達できない場合に出るエラーメッセージとなります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;kubectl apply -f deployment.yaml&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;error: error validating &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;deployment.yaml&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: error validating data: failed to download openapi: the server has asked &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; the client to provide credentials; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; you choose to ignore these errors, turn validation off with --validate=false&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-63bb3f67&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-63bb3f67&quot; aria-label=&quot;エラー例② permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;エラー例②&lt;/h3&gt;
&lt;p&gt;EKSクラスターAPIサーバへのリクエストが認証に失敗したことを示しており、認証情報の不足やアクセス権限の不足が疑われます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;kubectl get pods --v=9&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;json&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;metadata&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {},&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;status&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Failure&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;the server has asked for the client to provide credentials&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;reason&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Unauthorized&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;details&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;causes&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;          &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;reason&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;UnexpectedServerResponse&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;          &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;unknown&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      ]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;code&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;401&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;　→※抜粋して記載しております。&lt;/p&gt;
&lt;h2 id=&quot;h2-b0ff454a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-b0ff454a&quot; aria-label=&quot;前提条件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;認証情報設定
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;aws eks update-kubeconfig --region {リージョン名} --name {クラスター名}&lt;/code&gt; コマンドが成功している状態とします。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CodePipelineでCodeBuildを使用していることを前提とします。&lt;/li&gt;
&lt;li&gt;EKSクラスターの作成はすでにおこなわれている状態とします。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;h2-da25f48e&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-da25f48e&quot; aria-label=&quot;調査 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;調査&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://repost.aws/ja/knowledge-center/eks-api-server-unauthorized-error&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon EKS API サーバーの不正サーバーエラーの解決 | AWS re:Post&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注:Amazon EKS オーセンティケーターログを有効にします。
このクエリは、クラスター作成者としてマッピングされた IAM エンティティを返します:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;上記サイトに記載の通り、Amazon EKSオーセンティケーターログを確認することで解決の糸口が分かりますのでこちらのログを確認します。&lt;/p&gt;
&lt;p&gt;ログはCloudWatchログに次のような形式で吐かれます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudWatchロググループ名：&lt;code&gt;/aws/eks/{クラスター名}/cluster&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ログストリーム名：&lt;code&gt;authenticator-{変動する文字羅列}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;次のような形で認証エラーに関するログが吐かれることを確認しました。&lt;/p&gt;
&lt;p&gt;見やすくするため加工しております。&lt;/p&gt;
&lt;p&gt;このエラーメッセージは、EKSクラスターの認証に問題が発生していることを示しており、CodeBuildにアタッチしているIAMロール（&lt;code&gt;mysystem-codebuild-role&lt;/code&gt;）がEKSクラスターのアクセス権限マッピングに含まれていない為、出ています。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;log&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;denied&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;arn=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{AWSアカウント12桁}:role/mysystem-codebuild-role&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;client=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;127.0.0.1:38884&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;error=&amp;quot;Identity&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;is&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;not&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;mapped&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;method=POST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;path=/authenticate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-f08e3c8f&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-f08e3c8f&quot; aria-label=&quot;対処 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処&lt;/h2&gt;
&lt;p&gt;原因が分かりましたので対処します。&lt;/p&gt;
&lt;p&gt;CodeBuildのサービスロールをRBACユーザーにマッピングします。&lt;/p&gt;
&lt;p&gt;ここで言うと、configMapにあります、&lt;code&gt;aws-auth&lt;/code&gt;へ記載するようにします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参考記事
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://repost.aws/questions/QUiotRHmOtSXaL1gOEZS16kA/kubectl-error-you-must-be-logged-in-to-the-server-unauthorized-when-accessing-eks-cluster&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;kubectl error You must be logged in to the server (Unauthorized) when accessing EKS cluster | AWS re:Post&lt;/a&gt;
&lt;blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;CodeBuild のサービスロールを Kubernetes RBAC ユーザーにマッピングします。EKS クラスターを接続したターミナル Cloud9 から、次のコマンドを使用して、configMap aws-auth に IAM ロール eks-CodeBuildServiceRole の正しいエントリがあることを確認します。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://repost.aws/ja/knowledge-center/eks-api-server-unauthorized-error&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon EKS API サーバーの不正サーバーエラーの解決 | AWS re:Post&lt;/a&gt;
&lt;blockquote&gt;
&lt;p&gt;注:Amazon EKS オーセンティケーターログを有効にします。&lt;br&gt;
このクエリは、クラスター作成者としてマッピングされた IAM エンティティを返します:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;念の為、参考記事を記載しておます。&lt;/p&gt;
&lt;p&gt;とても参考になりますのでお時間のある方は覗いてみてください。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;kubectl edit -n kube-system configmap/aws-auth&lt;/code&gt; こちらのコマンドを使用してマッピングします。&lt;/p&gt;
&lt;p&gt;追記箇所を分かりやすく示しておりますので、ご参考ください。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;yaml&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Please edit the object below. Lines beginning with a &amp;#39;#&amp;#39; will be ignored,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# and an empty file will abort the edit. If an error occurs while saving this file will be&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# reopened with the relevant failures.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;v1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;mapRoles&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;    - groups:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      - system:bootstrappers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      - system:nodes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      - system:node-proxier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      rolearn: arn:aws:iam::{awsアカウント12桁}:role/mysystem-eks-fargate-pod-execution-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      username: system:node:{{SessionName}}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;    - groups:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      - eks-console-dashboard-full-access-group&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      rolearn: arn:aws:iam::{awsアカウント12桁}:role/test-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      username: test-iam-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ===========================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ここから↓&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    - &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;groups&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# master にマッピングしないと権限エラーになるので注意。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      - &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;system:masters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# CodeBuild のロールを指定する。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;rolearn&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;arn:aws:iam::{awsアカウント12桁}:role/mysystem-codebuild-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;mysystem-codebuild-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ここまで追記↑&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ===========================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;mapUsers&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;|&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;    - groups:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      - eks-console-dashboard-full-access-group&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      userarn: arn:aws:iam::{awsアカウント12桁}:user/test-user&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      username: test-iam-user&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;ConfigMap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;creationTimestamp&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-11-27T00:15:47Z&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;aws-auth&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;namespace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;kube-system&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;resourceVersion&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;3922938&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;uid&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;15ca1b80-ea0d-41cc-94ce-29612300d2a8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-19a4cd7b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-19a4cd7b&quot; aria-label=&quot;動作確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;動作確認&lt;/h2&gt;
&lt;p&gt;CodeBuildを発火させ、冒頭に記載したapplyコマンドやgetコマンドでエラーなく通れば問題ありません。&lt;/p&gt;
&lt;p&gt;それぞれのログは見やすく加工しております。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#h2-da25f48e&quot;&gt;調査&lt;/a&gt;解説部分で記載しております、Amazon EKSオーセンティケーターログを再度確認し次のようなログが吐かれていることを確認します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;log&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;time=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-12-07T12:29:05Z&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;level=info&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;msg=&amp;quot;access&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;granted&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;arn=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{awsアカウント12桁}:role/mysystem-codebuild-role&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;client=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;127.0.0.1:36628&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;groups=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;[system:masters]&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;method=POST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;path=/authenticate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;uid=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws-iam-authenticator:{awsアカウント12桁}:AROA2AKHZ2S5YWUTHZL7A&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;username=mysystem-codebuild-role&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;また、CodeBuildのIAMロールに対してEKSクラスターへのIAMロール引き受けを許可している設定をIAMロールへおこなっている為、次のログも確認しています。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;log&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;time=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-12-07T12:29:05Z&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;level=info&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;msg=&amp;quot;STS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;response&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;accesskeyid=ASIA2AKHZ2S5XMHJMHRA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;accountid={awsアカウント12桁}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;arn=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:sts::{awsアカウント12桁}:assumed-role/mysystem-codebuild-role/AWSCodeBuild-3e19932d-afa7-4ad6-9e90-4e25075cfbfa&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;client=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;127.0.0.1:36628&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;method=POST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;path=/authenticate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;session=AWSCodeBuild-&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;3e19932d-afa7-4ad6-9e90-4e25075cfbfa&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;userid=AROA2AKHZ2S5YWUTHZL7A&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;CodeBuildのIAMロール設定をしただけでは、EKSクラスターで持っている認証情報で弾かれるためちゃんと両方設定しないといけないということが分かりました。&lt;/p&gt;
&lt;p&gt;今年ももう年の瀬に近づいてきましたね。&lt;/p&gt;
&lt;p&gt;時が経つのは早いものです。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[RDSストレージオートスケーリングとシークレットマネージャー統合について検証してみた]]></title><description><![CDATA[目次 概要 動作検証流れ 前提条件 環境構築 RDSシークレットマネージャー統合機能について RDSストレージオートスケーリング RDSへデータを入れ続けるプログラム設置 必要パッケージインストール プログラム実行 ストレージ枯渇後の動作確認 RDS…]]></description><link>https://blog.sharemyknowledge.jp/rds-storage-auto-scaling-and-secrets-manager-integration-verification/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/rds-storage-auto-scaling-and-secrets-manager-integration-verification/</guid><pubDate>Wed, 31 Jul 2024 18:33:15 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-eaf31a14&quot;&gt;動作検証流れ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-b0ff454a&quot;&gt;前提条件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-28dd707b&quot;&gt;環境構築&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#rds&quot;&gt;RDSシークレットマネージャー統合機能について&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#rds-1&quot;&gt;RDSストレージオートスケーリング&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#rds-2&quot;&gt;RDSへデータを入れ続けるプログラム設置&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-3ff5c297&quot;&gt;必要パッケージインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-497182c4&quot;&gt;プログラム実行&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-fcce3631&quot;&gt;ストレージ枯渇後の動作確認&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#rds-3&quot;&gt;RDSイベント取得&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#cloudwatch&quot;&gt;オートスケーリング前後のCloudWatch画面&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#rds-4&quot;&gt;RDSストレージオートスケーリング制限事項&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-bab8492b&quot;&gt;おわりに&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;こんにちは、久方ぶりのブログ投稿となりますが、皆さまいかがお過ごしでしょうか。&lt;/p&gt;
&lt;p&gt;さて、今回は、RDSのストレージオートスケーリング機能および、RDS作成時にシークレットマネージャーとの統合項目が増えておりましたのでこれらの動作確認をした記録となります。&lt;/p&gt;
&lt;h2 id=&quot;h2-eaf31a14&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-eaf31a14&quot; aria-label=&quot;動作検証流れ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;動作検証流れ&lt;/h2&gt;
&lt;p&gt;本記事では、Terraformコードを用いて最初に検証する環境を作成します。&lt;/p&gt;
&lt;p&gt;その後、PythonのプログラムからRDSに対して、データを入れていき、ストレージオートスケーリング動作を確認します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;※Terraformコード中は、シークレットマネージャー統合機能を使用せず、従来方式であるデータベースユーザおよびデータベースパスワードを直接指定するようにしています。&lt;/p&gt;
&lt;p&gt;※シークレットマネージャー統合については、実際に筆者の方で動作確認し、気になった点を記載しています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;h2-b0ff454a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-b0ff454a&quot; aria-label=&quot;前提条件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;EC2インスタンスへのAWS CLIコマンドインストール、IAMロールについては解説しません。&lt;/li&gt;
&lt;li&gt;RDSへ接続可能なEC2については前提知識とし解説しません。&lt;/li&gt;
&lt;li&gt;Terraformの基礎知識は解説しません。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;h2-28dd707b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-28dd707b&quot; aria-label=&quot;環境構築 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;環境構築&lt;/h2&gt;
&lt;p&gt;次のTerraformコードでは、VPC、サブネット、ストレージオートスケーリングを監視する為のCloudWatch Alarm、SNS通知等の設定を記載しております。&lt;/p&gt;
&lt;p&gt;サブネットや、セキュリティグループ、通知用メールアドレス等いくつか環境に合わせて変更すべき箇所をコード中に明示していますので試される際は、ご承知ください。&lt;/p&gt;
&lt;p&gt;また、作成されるRDSデータベースエンジンはMariaDBとなっています。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# rds.tf&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;ruby&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;env_name&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Environment name prefix&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;dev&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 環境名プレフィックスを指定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;subnet_ids&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;List of subnet IDs for the RDS subnet group&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = list(string)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = [&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;{既存のサブネットID、1番目を指定}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;{既存のサブネットID、2番目を指定}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;] &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 既存のサブネットIDを指定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;security_group_ids&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;List of existing security group IDs&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = list(string)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = [&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;{既存のセキュリティグループIDを指定}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;] &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 既存のセキュリティグループIDを指定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;notification_email&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Email address for SNS notifications&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;{メールアドレスを指定}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 通知を受け取るメールアドレスを指定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;allocated_storage&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Initial allocated storage in GB&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 初期割り当てストレージ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;variable &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;max_allocated_storage&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  description = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Maximum allocated storage in GB&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  type        = number&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  default     = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 最大割り当てストレージ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# ストレージの10%未満の値を計算&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;locals {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  storage_threshold = var.allocated_storage * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0.10&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 10%をバイトに変換&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# SNSトピックの作成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_sns_topic&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;rds_storage_scaling_alerts&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  name = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-rds-storage-scaling-alerts&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# SNSトピックのサブスクリプション（メール通知）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_sns_topic_subscription&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;email_subscription&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  topic_arn = aws_sns_topic.rds_storage_scaling_alerts.arn&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  protocol  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;email&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  endpoint  = var.notification_email&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# サブネットグループの作成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_db_subnet_group&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;rds_subnet_group&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  name       = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-rds-subnet-group&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  subnet_ids = var.subnet_ids&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  tags = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-RDSSubnetGroup&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# RDSパラメータグループの作成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_db_parameter_group&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;mariadb_parameters&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  name   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-mariadb-parameter-group&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  family = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;mariadb10.11&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# MariaDBの最新バージョンに合わせて変更&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  parameter {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    name  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;max_connections&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    value = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;100&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 他のMariaDBに適用するべきパラメータをここに追加&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# RDSインスタンスの作成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_db_instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;mariadb&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  identifier            = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  allocated_storage     = var.allocated_storage&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  max_allocated_storage = var.max_allocated_storage&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  storage_type          = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;gp3&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  engine                = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;mariadb&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  engine_version        = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;10.11.8&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# MariaDBの最新バージョンを指定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  instance_class        = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;db.t3.medium&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  username              = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Admin&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  password              = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;passw0rd&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# manage_master_user_password が有効の場合、コメントアウトすること逆も然り&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;#manage_master_user_password = true       # AWS Secrets Manager で管理を有効にする&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  parameter_group_name   = aws_db_parameter_group.mariadb_parameters.name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  skip_final_snapshot    = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  multi_az               = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# SingleAZに設定&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  db_subnet_group_name   = aws_db_subnet_group.rds_subnet_group.name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  vpc_security_group_ids = var.security_group_ids&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  availability_zone      = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ap-northeast-1a&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  tags = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-MyMariaDBInstance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# CloudWatchアラームの作成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resource &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;aws_cloudwatch_metric_alarm&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;rds_storage_alarm&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  alarm_name          = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;${var.env_name}-RDSStorageAutoScalingAlarm&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  comparison_operator = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;LessThanThreshold&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  evaluation_periods  = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  metric_name         = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;FreeStorageSpace&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  namespace           = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;AWS/RDS&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  period              = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;300&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 5分間の期間&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  statistic           = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Average&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  threshold           = local.storage_threshold &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 10%未満の空きストレージ容量&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  alarm_description   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;This alarm triggers when free storage space is less than 10% of the allocated storage for 5 minutes.&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  dimensions = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;DBInstanceIdentifier&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = aws_db_instance.mariadb.identifier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  alarm_actions             = [aws_sns_topic.rds_storage_scaling_alerts.arn]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  ok_actions                = [aws_sns_topic.rds_storage_scaling_alerts.arn]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  insufficient_data_actions = [aws_sns_topic.rds_storage_scaling_alerts.arn]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;rds&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rds&quot; aria-label=&quot;RDSシークレットマネージャー統合機能について permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;RDSシークレットマネージャー統合機能について&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;manage_master_user_password&lt;/code&gt; を有効にするとRDSをAWS Secrets Managerで管理にできます。&lt;/p&gt;
&lt;p&gt;RDSによってパスワード管理および自動ローテーション有効状態となり管理されます。&lt;/p&gt;
&lt;p&gt;パスワードの更新が定期的になされ、シークレットの名前が明示的に指定できないため注意が必要となります。&lt;/p&gt;
&lt;h2 id=&quot;rds-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rds-1&quot; aria-label=&quot;RDSストレージオートスケーリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;RDSストレージオートスケーリング&lt;/h2&gt;
&lt;p&gt;RDSストレージオートスケーリングの動作確認をおこなう為にいくつか事前作業があります。&lt;/p&gt;
&lt;p&gt;次のAWS CLIコマンドを使用し、作成したRDSのストレージサイズを確認します。&lt;/p&gt;
&lt;p&gt;デプロイ時点で、20GBとなっていれば問題ないです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# aws rds describe-db-instances --db-instance-identifier &quot;dev-my-mariadb-instance&quot; --query &quot;DBInstances[0].AllocatedStorage&quot; --output text&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;rds-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rds-2&quot; aria-label=&quot;RDSへデータを入れ続けるプログラム設置 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;RDSへデータを入れ続けるプログラム設置&lt;/h3&gt;
&lt;p&gt;EC2インスタンスに次のPythonプログラムを設置します。&lt;/p&gt;
&lt;p&gt;10MBのダミーデータを入れ続けRDSストレージを減らしていき、オートスケーリングを発火されるためのプログラムとなっています。&lt;/p&gt;
&lt;p&gt;データベース接続情報項目については、各自環境に合わせてください。&lt;/p&gt;
&lt;p&gt;ユーザやパスワードについては、Terraformコード内に記載しているものが使用されますが、hostについては各自環境へ置き換えが必要と推察されます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# auto.py&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;python&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; pymysql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; random&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; time&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; multiprocessing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# データベース接続情報&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;host = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;dev-my-mariadb-instance.cnvmbmz0rzzo.ap-northeast-1.rds.amazonaws.com&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;port = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;3306&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;user = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;Admin&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;password = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;passw0rd&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;database = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;auto&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;table = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;auto&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;dummy_data_size_mb = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# ダミーデータのサイズ（MB単位）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;num_processes = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 並列実行するプロセスの数&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# 1MB = 1024 * 1024 bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;dummy_data_size_bytes = dummy_data_size_mb * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;create_database_if_not_exists&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;connection&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; connection.cursor() &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; cursor:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        cursor.execute(&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;CREATE DATABASE IF NOT EXISTS &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;database&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        connection.commit()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;create_table_if_not_exists&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;connection&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; connection.cursor() &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; cursor:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        cursor.execute(&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;USE &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;database&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        create_table_sql = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;        CREATE TABLE IF NOT EXISTS &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;            id INT AUTO_INCREMENT PRIMARY KEY,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;            random_string MEDIUMTEXT,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;            random_number INT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;        )&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;        &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        cursor.execute(create_table_sql)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        connection.commit()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;generate_random_string&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;size_in_bytes&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    letters = string.ascii_lowercase&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.join(random.choice(letters) &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _ &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(size_in_bytes))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;insert_dummy_data&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;():&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    connection = pymysql.connect(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=host,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=port,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=user,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=password,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;database&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=database&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    )&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; connection.cursor() &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; cursor:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            random_string = generate_random_string(dummy_data_size_bytes)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            random_number = random.randint(&lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1000000&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            sql = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;INSERT INTO &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; (random_string, random_number) VALUES (%s, %s)&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            cursor.execute(sql, (random_string, random_number))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            connection.commit()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Inserted data of size: &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(random_string) / (&lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; * &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;1024&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;:.2f}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; MB, Number: &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;random_number&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            time.sleep(&lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)  &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 0.1秒毎にデータを挿入&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;():&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 初期設定のために一度だけ接続&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    connection = pymysql.connect(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=host,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=port,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=user,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=password&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    )&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        create_database_if_not_exists(connection)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        create_table_if_not_exists(connection)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;finally&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        connection.close()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# 並列プロセスの開始&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    processes = []&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _ &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(num_processes):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        process = multiprocessing.Process(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=insert_dummy_data)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        process.start()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        processes.append(process)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; process &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; processes:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            process.join()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;except&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;KeyboardInterrupt&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Data insertion stopped by user.&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;finally&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; process &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; processes:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            process.terminate()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;__name__&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; == &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;__main__&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    main()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-3ff5c297&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-3ff5c297&quot; aria-label=&quot;必要パッケージインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;必要パッケージインストール&lt;/h3&gt;
&lt;p&gt;EC2インスタンスに対して、次の通りパッケージをインストールします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# dnf install mariadb&lt;/code&gt;&lt;br&gt;
→MySQLクライエントです。データベースへの接続検証に使用可能です。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# dnf install pip&lt;/code&gt;&lt;br&gt;
→pythonのパッケージ管理であるpipをインストールします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# pip install pymysql&lt;/code&gt;&lt;br&gt;
→プログラムで使用する為、インストールします。&lt;/p&gt;
&lt;p&gt;※AWS CLIがない場合、インストールします。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;※&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS CLIの最新バージョンのインストールまたは更新 - AWS Command Line Interface&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;h3-497182c4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-497182c4&quot; aria-label=&quot;プログラム実行 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;プログラム実行&lt;/h3&gt;
&lt;p&gt;プログラムを実行するとダミーデータが格納されていき最終的に、テーブルがフルですよというエラーが出ます。&lt;/p&gt;
&lt;p&gt;RDSのストレージは、20GBありますので、ストレージを枯渇させるまで、プログラムの実行時間が長時間になる為、気長にストレージを使い切るまで待ちます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# python auto.py&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Inserted data of size: 10.00 MB, Number: 12934&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Inserted data of size: 10.00 MB, Number: 454018&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Inserted data of size: 10.00 MB, Number: 561060&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Inserted data of size: 10.00 MB, Number: 400860&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Process Process-9:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Traceback (most recent call last):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/lib64/python3.9/multiprocessing/process.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 315, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _bootstrap&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;self.run&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/lib64/python3.9/multiprocessing/process.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 108, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; run&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    self._target(*self._args, **self._kwargs)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/root/auto.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 55, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; insert_dummy_data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    cursor.execute(sql, (random_string, random_number))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/cursors.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 153, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; execute&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    result = self._query(query)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/cursors.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 322, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _query&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    conn.query(q)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/connections.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 563, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; query&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    self._affected_rows = self._read_query_result(unbuffered=unbuffered)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/connections.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 825, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _read_query_result&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;result.read&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/connections.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 1199, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;read&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    first_packet = &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;self.connection._read_packet&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/connections.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 775, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; _read_packet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;packet.raise_for_error&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/protocol.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 219, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; raise_for_error&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    err.raise_mysql_exception(self._data)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  File &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/usr/local/lib/python3.9/site-packages/pymysql/err.py&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, line 150, &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; raise_mysql_exception&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    raise errorclass(errno, errval)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;pymysql.err.OperationalError: (1114, &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;The table &amp;#39;auto&amp;#39; is full&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-fcce3631&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-fcce3631&quot; aria-label=&quot;ストレージ枯渇後の動作確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ストレージ枯渇後の動作確認&lt;/h3&gt;
&lt;h4 id=&quot;rds-3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rds-3&quot; aria-label=&quot;RDSイベント取得 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;RDSイベント取得&lt;/h4&gt;
&lt;p&gt;次のコマンドを使用して、対象RDSのイベントを取得します。&lt;/p&gt;
&lt;p&gt;無事にストレージオートスケーリングが実施されると次の通り遷移します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;low storage&lt;/li&gt;
&lt;li&gt;configuration change&lt;/li&gt;
&lt;li&gt;Finished applying autoscaling-initiated modification to allocated storage.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;# aws rds describe-events --source-identifier dev-my-mariadb-instance --source-type db-instance | jq&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;json&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Events&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceIdentifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceType&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;db-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Storage autoscaling has triggered a pending scale storage task that will reach or exceed the maximum storage threshold. Increase the maximum storage threshold.&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;EventCategories&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;failure&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-07-28T11:43:59.979000+00:00&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceArn&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:rds:ap-northeast-1:{AWSアカウントID12桁}:db:dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceIdentifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceType&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;db-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;The free storage capacity for DB Instance: dev-my-mariadb-instance is low at 0% of the provisioned storage [Provisioned Storage: 19.27 GB, Free Storage: 0 B]. You may want to increase the provisioned storage to address this issue.&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;EventCategories&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;low storage&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-07-28T11:45:29.823000+00:00&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceArn&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:rds:ap-northeast-1:{AWSアカウントID12桁}:db:dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceIdentifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceType&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;db-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Applying autoscaling-initiated modification to allocated storage.&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;EventCategories&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;configuration change&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-07-28T11:45:34.406000+00:00&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceArn&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:rds:ap-northeast-1:{AWSアカウントID12桁}:db:dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceIdentifier&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceType&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;db-instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Message&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Finished applying autoscaling-initiated modification to allocated storage.&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;EventCategories&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;configuration change&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2024-07-28T11:47:57.791000+00:00&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;SourceArn&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:rds:ap-northeast-1:{AWSアカウントID12桁}:db:dev-my-mariadb-instance&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;次のコマンドを使用して、RDSのストレージサイズを確認するとオートスケーリングの上限に設定している50GBになっていることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# aws rds describe-db-instances --db-instance-identifier &quot;dev-my-mariadb-instance&quot; --query &quot;DBInstances[0].AllocatedStorage&quot; --output text&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;50&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;暫くすると、ストレージ最適化（Storage-optimization）が走ります。&lt;/p&gt;
&lt;h4 id=&quot;cloudwatch&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cloudwatch&quot; aria-label=&quot;オートスケーリング前後のCloudWatch画面 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;オートスケーリング前後のCloudWatch画面&lt;/h4&gt;
&lt;p&gt;次の画像通り、20GBから枯渇状態までいき、スケーリング後、上限値50GB - 消費したストレージサイズ20GB = 30GBの空きができスケーリングされました。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4580dbf938644a324921e66308b5819d/bc577/f275bf1d-e894-488b-9180-1f06f492e517-001.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 88.66666666666666%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/4580dbf938644a324921e66308b5819d/2a380/f275bf1d-e894-488b-9180-1f06f492e517-001.avif 300w,
/static/4580dbf938644a324921e66308b5819d/ebc7a/f275bf1d-e894-488b-9180-1f06f492e517-001.avif 600w,
/static/4580dbf938644a324921e66308b5819d/3c22d/f275bf1d-e894-488b-9180-1f06f492e517-001.avif 1200w,
/static/4580dbf938644a324921e66308b5819d/03524/f275bf1d-e894-488b-9180-1f06f492e517-001.avif 1283w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/4580dbf938644a324921e66308b5819d/cb58d/f275bf1d-e894-488b-9180-1f06f492e517-001.webp 300w,
/static/4580dbf938644a324921e66308b5819d/f8b1b/f275bf1d-e894-488b-9180-1f06f492e517-001.webp 600w,
/static/4580dbf938644a324921e66308b5819d/5bb53/f275bf1d-e894-488b-9180-1f06f492e517-001.webp 1200w,
/static/4580dbf938644a324921e66308b5819d/62cf0/f275bf1d-e894-488b-9180-1f06f492e517-001.webp 1283w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/4580dbf938644a324921e66308b5819d/f2d49/f275bf1d-e894-488b-9180-1f06f492e517-001.png 300w,
/static/4580dbf938644a324921e66308b5819d/ff59c/f275bf1d-e894-488b-9180-1f06f492e517-001.png 600w,
/static/4580dbf938644a324921e66308b5819d/5ece7/f275bf1d-e894-488b-9180-1f06f492e517-001.png 1200w,
/static/4580dbf938644a324921e66308b5819d/bc577/f275bf1d-e894-488b-9180-1f06f492e517-001.png 1283w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/4580dbf938644a324921e66308b5819d/5ece7/f275bf1d-e894-488b-9180-1f06f492e517-001.png&quot;
            alt=&quot;cloudwatch rds scaling image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;rds-4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rds-4&quot; aria-label=&quot;RDSストレージオートスケーリング制限事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;RDSストレージオートスケーリング制限事項&lt;/h3&gt;
&lt;p&gt;RDSのストレージオートスケーリングについて気になった点を記載します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RDSストレージオートスケーリング発火条件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon RDS ストレージの自動スケーリングによる容量の自動管理&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;使用可能な空き領域は、割り当てられたストレージの 10% 未満です。&lt;/p&gt;
&lt;p&gt;低ストレージ状態は 5 分以上続きます。&lt;/p&gt;
&lt;p&gt;最後のストレージ変更、あるいはインスタンスでストレージの最適化が完了してから少なくとも 6 時間経過しています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;制限事項を抜粋しています。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;追加ストレージは、10GBもしくは、現在割り当てられているストレージの10%と記載がありましたが、オートスケーリングの上限まで一気にスケーリングされたのは制限事項によるものです。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#autoscaling-limitations&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;制限事項&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;オートスケーリングの場合、RDS は後続のオートスケーリングオペレーションのストレージサイズを予測します。後続のオペレーションが最大ストレージしきい値を超えると予測される場合、RDS では最大ストレージしきい値にオートスケーリングします。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;監視面で気になった点は次の通りです。&lt;/p&gt;
&lt;p&gt;CloudWatch Alarmに設定しているRDS FreeStorageSpace監視（dev-RDSStorageAutoScalingAlarm）の閾値は、ストレージオートスケーリングに追従しないのでオートスケーリング後のディスクサイズに沿った10%未満の閾値に設定する必要があります。&lt;/p&gt;
&lt;h2 id=&quot;h2-bab8492b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-bab8492b&quot; aria-label=&quot;おわりに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;おわりに&lt;/h2&gt;
&lt;p&gt;RDSオートスケーリング便利な反面、注意すべきことがある為、気を付けて使っていきたいですね。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk10 { color: #4EC9B0; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[Ubuntuで急に読み込み専用ファイルシステムになった]]></title><description><![CDATA[目次 概要 事象 対処 対処後 まとめ 概要 Raspberry Pi 4 Model B Rev 1.2のUbuntu 20.10にて、Kubernetes v1.20.4を動かしており、POD上でgitlab…]]></description><link>https://blog.sharemyknowledge.jp/raspberry-pi-ubuntu-fs-recovery/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/raspberry-pi-ubuntu-fs-recovery/</guid><pubDate>Sun, 25 Feb 2024 20:21:15 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4f8c45f8&quot;&gt;事象&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-f08e3c8f&quot;&gt;対処&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-3641358a&quot;&gt;対処後&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;Raspberry Pi 4 Model B Rev 1.2のUbuntu 20.10にて、Kubernetes v1.20.4を動かしており、POD上でgitlabの日次バックアップを実施している時間帯でファイルシステムが壊れ、&lt;strong&gt;読み込み専用ファイルシステム&lt;/strong&gt;になっておりました。&lt;/p&gt;
&lt;p&gt;これらの影響により、nodeが使用不可になり、名前解決が出来ない状態に陥りました。&lt;/p&gt;
&lt;p&gt;備忘録として対応したことを記録する。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;警告：fsck コマンドを使用して、システム領域を修正する場合は、手動で電源 &lt;code&gt;Off/On&lt;/code&gt; できる環境で実施するようにしてください。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-4f8c45f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4f8c45f8&quot; aria-label=&quot;事象 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事象&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;/root/&lt;/code&gt; 配下にtouchコマンドができない状態を確認。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;touch test&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;touch: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;test&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; に touch できません: 読み込み専用ファイルシステムです&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;名前解決不可であることを確認。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;curl ifconfig.io&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;curl: (6) Could not resolve host: ifconfig.io&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Failed to start Network Name Resolution.&lt;/code&gt; となり、名前解決サービスが起動不可になることを確認。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;systemctl status systemd-resolved&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;● systemd-resolved.service - Network Name Resolution&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;     Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;     Active: failed (Result: exit-code) since Tue 2021-07-20 20:44:25 JST; 2s ago&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;       Docs: man:systemd-resolved.service(8)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;             https://www.freedesktop.org/wiki/Software/systemd/resolved&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;             https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;             https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Process: 2930 ExecStart=/lib/systemd/systemd-resolved (code=exited, status=226/NAMESPACE)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;   Main PID: 2930 (code=exited, status=226/NAMESPACE)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; 7月 20 20:44:25 k8s-node-a systemd[1]: systemd-resolved.service: Start request repeated too quickly.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; 7月 20 20:44:25 k8s-node-a systemd[1]: systemd-resolved.service: Failed with result &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;exit-code&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; 7月 20 20:44:25 k8s-node-a systemd[1]: Failed to start Network Name Resolution.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;現在時刻がおかしくなることを確認。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;date&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;2021年  7月 20日 火曜日 20:37:43 JST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-f08e3c8f&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-f08e3c8f&quot; aria-label=&quot;対処 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;/（ルート）&lt;/code&gt; システムで書き込みが出来ない状態になっていますので、fsckコマンドを使用し、ファイルシステムの修正をします。&lt;/p&gt;
&lt;p&gt;ファイルシステム修正を実施するデバイスの確認をおこないます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fdisk -l&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...[中略]...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;ディスク /dev/sda: 57.76 GiB, 62018519040 バイト, 121129920 セクタ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Disk model: USB 3.0 DISK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;単位: セクタ (1 * 512 = 512 バイト)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;セクタサイズ (論理 / 物理): 512 バイト / 512 バイト&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;ディスクラベルのタイプ: dos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;ディスク識別子: 0x254a9658&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;デバイス   起動 開始位置  最後から    セクタ サイズ Id タイプ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/dev/sda1  *        2048    526335    524288   256M  c W95 FAT32 (LBA)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/dev/sda2         526336 121129919 120603584  57.5G 83 Linux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;デバイス &lt;code&gt;/dev/sda2&lt;/code&gt; が &lt;code&gt;/（ルート）&lt;/code&gt; となります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;df -PTh&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Filesystem     Type   Size  Used Avail Use% Mounted on&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;tmpfs          tmpfs  380M   19M  362M   5% /run&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/dev/sda2      ext4    57G   29G   26G  53% /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;tmpfs          tmpfs  1.9G     0  1.9G   0% /dev/shm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;tmpfs          tmpfs  5.0M  4.0K  5.0M   1% /run/lock&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;tmpfs          tmpfs  4.0M     0  4.0M   0% /sys/fs/cgroup&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/dev/sda1      vfat   253M  153M  100M  61% /boot/firmware&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;tmpfs          tmpfs  380M  8.0K  380M   1% /run/user/1000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;fsck&lt;/code&gt; コマンドを使用し、対象のデバイスを修復します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;修正&amp;#x3C;y&gt;?&lt;/code&gt; のように修正するか確認がでるので &lt;code&gt;yes&lt;/code&gt; を押します。&lt;/p&gt;
&lt;p&gt;他にも、修正箇所がある場合、都度確認が求められますので &lt;code&gt;yes&lt;/code&gt; を押します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fsck -f /dev/sda2&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;fsck from util-linux 2.36&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;e2fsck 1.45.6 (20-Mar-2020)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Pass 1: Checking iノードs, blocks, and sizes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Iノードs that were part of a corrupted orphan linked list found.  修正&amp;lt;y&amp;gt;? yes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Iノード 34490 was part of the orphaned iノード list.  FIXED.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Iノード 1181537 has a extra size (11824) which is invalid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;修正&amp;lt;y&amp;gt;? yes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;...[中略]...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;writable: ***** ファイルシステムは変更されました *****&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;writable: ***** REBOOT SYSTEM *****&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;writable: 412572/3769136 files (0.2% non-contiguous), 7686354/15075448 blocks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ファイルシステムの修復が完了すると、 &lt;code&gt;reboot&lt;/code&gt; する必要がありますので、手動で電源 &lt;code&gt;Off/On&lt;/code&gt; します。&lt;/p&gt;
&lt;p&gt;筆者の環境では、ファイルシステム修正後、 &lt;code&gt;reboot&lt;/code&gt; コマンド、 &lt;code&gt;shutdown&lt;/code&gt; コマンドが使用出来ない状態となったため、手動で再起動しています。&lt;/p&gt;
&lt;h2 id=&quot;h2-3641358a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-3641358a&quot; aria-label=&quot;対処後 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処後&lt;/h2&gt;
&lt;p&gt;対処後、冒頭の事象で確認したコマンドを打ち、問題ないことが確認できれば問題ありません。&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;原因はまったく分かりませんが、今後、発生しないことを祈ります。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[Amazon EC2 cloud-init の機能を使用し、公開鍵を変更する（備忘録）]]></title><description><![CDATA[目次 はじめに 結論 はじめに Amazon EC2インスタンスの公開鍵をcloud-initの機能を使用して変更する時に、時間を溶かしたので備忘録として記録します。 結論 以下、サイトが大変参考になりました。 EC…]]></description><link>https://blog.sharemyknowledge.jp/ec2-userdata-cloud-init-public-key-change/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/ec2-userdata-cloud-init-public-key-change/</guid><pubDate>Wed, 17 Jan 2024 22:12:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-40678349&quot;&gt;結論&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Amazon EC2インスタンスの公開鍵をcloud-initの機能を使用して変更する時に、時間を溶かしたので備忘録として記録します。&lt;/p&gt;
&lt;h2 id=&quot;h2-40678349&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-40678349&quot; aria-label=&quot;結論 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;結論&lt;/h2&gt;
&lt;p&gt;以下、サイトが大変参考になりました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.classmethod.jp/articles/ec2_keypair_and_had_to_reconfigure/#toc-6&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;EC2のキーペアを失くしたので設定しなおしてみた | DevelopersIO&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;cloud-initには、初回EC2インスタンス作成時のみに実行するパターンと作成した後のインスタンスで起動時に毎回、実行するパターンを選択できます。&lt;/p&gt;
&lt;p&gt;参考したサイトでは、前者の方で、筆者は、後者の方で実行したかったので以下内容でユーザデータに指定し実行しました。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Content-Type: multipart/mixed; boundary=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;//&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;MIME-Version: 1.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;--//&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Content-Type: text/cloud-config; charset=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;us-ascii&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;MIME-Version: 1.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Content-Transfer-Encoding: 7bit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Content-Disposition: attachment; filename=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;cloud-config.txt&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#cloud-config&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cloud_final_modules:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;- [users-groups, always]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;users:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  - name: ec2-user&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    ssh-authorized-keys: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    - ssh-rsa AAAA***&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;[&lt;/code&gt;users-groups, &lt;strong&gt;once&lt;/strong&gt;&lt;code&gt;]&lt;/code&gt; になっていた部分を &lt;code&gt;[&lt;/code&gt;users-groups, &lt;strong&gt;always&lt;/strong&gt;&lt;code&gt;]&lt;/code&gt; に変更します。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;- ssh-rsa AAAA***&lt;/code&gt; 部分の &lt;code&gt;AAAA***&lt;/code&gt; 箇所を設定したい公開鍵に変更します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;公開鍵に記載されている &lt;code&gt;id-rsa&lt;/code&gt; 以降に羅列されている文字列となりますので注意ください。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AWS ANS ポエム（VPC）]]></title><description><![CDATA[目次 IPアドレスについて IPアドレスについて public ip public ipは、subnetレベルで有効にするパターンとEC2インスタンスを起動する際に有効にするパターンが存在する。 IP…]]></description><link>https://blog.sharemyknowledge.jp/aws-ans-exam-poem-vpc/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-ans-exam-poem-vpc/</guid><pubDate>Mon, 15 Jan 2024 22:39:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#ip&quot;&gt;IPアドレスについて&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;ip&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ip&quot; aria-label=&quot;IPアドレスについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;IPアドレスについて&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;public ip&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;public ipは、subnetレベルで有効にするパターンとEC2インスタンスを起動する際に有効にするパターンが存在する。&lt;/p&gt;
&lt;p&gt;IPアドレスの開放タイミングについて、インスタンスをターミネートすると開放され次回、起動時は別のIPアドレスがAmazonのPublic IPプールから割り当てられる。&lt;/p&gt;
&lt;p&gt;EIPは、AWSアカウントに割り当てられIPアドレスを意図的に開放しない限り、保持できる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;private ip&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;private ipは、サブネットのアドレス範囲から割り当てるパターンや、明示的に指定して割り当てることが可能。&lt;/p&gt;
&lt;p&gt;インスタンスに対して1回限りの割り当てとなり、IPアドレスの変更不可となり、インスタンスをターミネートした際に開放される。&lt;/p&gt;
&lt;p&gt;private ipアドレスは、VPC内の通信に利用できるが、インターネットとの通信はおこなえない。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IPv6について&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;IPv6は、IPv4と異なり、すべてpublic ipアドレスとなる。&lt;/p&gt;
&lt;p&gt;インスタンスの起動停止でIPアドレスは開放されず、ターミネートした際に、開放される仕組みとなっている。&lt;/p&gt;
&lt;p&gt;デフォルトですべてのVPCはIPv4アドレスを必要とし、オプションとして、IPv6アドレスを使用するか否かを選択することができる。&lt;/p&gt;
&lt;p&gt;IPv6のみを使用したいといったことはできない。&lt;/p&gt;
&lt;p&gt;AmazonからIPv6用にDNSが提供されず、IPv4のみAmazonからDNSが提供され、固定のレンジとなり、IPアドレス範囲を選択することはできない。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[特定のAWSアカウントとのAMIの共有]]></title><description><![CDATA[目次 概要 AMI共有 カスタマーキー作成 キーを設定 ラベルを追加 キーの管理アクセス許可を定義 キーの使用法アクセス許可を定義 確認 作成したカスタマーキーのキーポリシーを変更 キーポリシーの編集 AMIを作成したKMSキーでコピー 共有先注意事項 概要 アカウントA…]]></description><link>https://blog.sharemyknowledge.jp/sharingamis-explicit/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/sharingamis-explicit/</guid><pubDate>Sat, 30 Dec 2023 21:43:49 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ami&quot;&gt;AMI共有&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-3a52125c&quot;&gt;カスタマーキー作成&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-a1706303&quot;&gt;キーを設定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-53cbf2c5&quot;&gt;ラベルを追加&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-29ce56fe&quot;&gt;キーの管理アクセス許可を定義&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-76b10ebe&quot;&gt;キーの使用法アクセス許可を定義&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-30749e25&quot;&gt;確認&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-16b00c24&quot;&gt;作成したカスタマーキーのキーポリシーを変更&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-e6266472&quot;&gt;キーポリシーの編集&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amikms&quot;&gt;AMIを作成したKMSキーでコピー&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7dbe5308&quot;&gt;共有先注意事項&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;アカウントAに作成したAMIをアカウントBに共有する方法について気になったので備忘録として記録する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参考文献
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://repost.aws/ja/knowledge-center/share-ami-account&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon マシンイメージ (AMI) を別の AWS アカウントとプライベートに共有する | AWS re:Post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/sharingamis-explicit.html#sharingamis-console&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;特定の AWS アカウントとの AMI の共有 - Amazon Elastic Compute Cloud&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;ami&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ami&quot; aria-label=&quot;AMI共有 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AMI共有&lt;/h2&gt;
&lt;p&gt;AWSマネージメントコンソールより、EC2サービスページに移動し、共有したいEC2インスタンスを選択し、AMIを作成します。&lt;/p&gt;
&lt;p&gt;作成した、AMI権限の編集を選択し、共有アカウント欄に共有したいAWSアカウントID 12桁を入れ、変更を保存することでAMIを対象アカウントに共有することができる。&lt;/p&gt;
&lt;p&gt;以下、エラーが出る場合、カスタマー管理ポリシーで作成する必要がありますので、&lt;a href=&quot;#h2-3a52125c&quot;&gt;カスタマーキー作成&lt;/a&gt;の項目をおこなってから実施します。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;イメージ属性を変更できませんでした&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Snapshots encrypted with the AWS Managed CMK can’t be shared. Specify another snapshot.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/a5351e2819563ee2a2128ec6136b08d0/40c4f/sharingamis-explicit-QK5vQ1-001.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 32.666666666666664%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/a5351e2819563ee2a2128ec6136b08d0/2a380/sharingamis-explicit-QK5vQ1-001.avif 300w,
/static/a5351e2819563ee2a2128ec6136b08d0/ebc7a/sharingamis-explicit-QK5vQ1-001.avif 600w,
/static/a5351e2819563ee2a2128ec6136b08d0/3c22d/sharingamis-explicit-QK5vQ1-001.avif 1200w,
/static/a5351e2819563ee2a2128ec6136b08d0/acec8/sharingamis-explicit-QK5vQ1-001.avif 1596w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/a5351e2819563ee2a2128ec6136b08d0/cb58d/sharingamis-explicit-QK5vQ1-001.webp 300w,
/static/a5351e2819563ee2a2128ec6136b08d0/f8b1b/sharingamis-explicit-QK5vQ1-001.webp 600w,
/static/a5351e2819563ee2a2128ec6136b08d0/5bb53/sharingamis-explicit-QK5vQ1-001.webp 1200w,
/static/a5351e2819563ee2a2128ec6136b08d0/6c6a6/sharingamis-explicit-QK5vQ1-001.webp 1596w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/a5351e2819563ee2a2128ec6136b08d0/f2d49/sharingamis-explicit-QK5vQ1-001.png 300w,
/static/a5351e2819563ee2a2128ec6136b08d0/ff59c/sharingamis-explicit-QK5vQ1-001.png 600w,
/static/a5351e2819563ee2a2128ec6136b08d0/5ece7/sharingamis-explicit-QK5vQ1-001.png 1200w,
/static/a5351e2819563ee2a2128ec6136b08d0/40c4f/sharingamis-explicit-QK5vQ1-001.png 1596w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/a5351e2819563ee2a2128ec6136b08d0/5ece7/sharingamis-explicit-QK5vQ1-001.png&quot;
            alt=&quot;aws ami share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 863px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/b4d922142bfd19a9cb891d00a4d12b60/bf05b/sharingamis-explicit-QK5vQ1-002.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 121.66666666666669%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/b4d922142bfd19a9cb891d00a4d12b60/2a380/sharingamis-explicit-QK5vQ1-002.avif 300w,
/static/b4d922142bfd19a9cb891d00a4d12b60/ebc7a/sharingamis-explicit-QK5vQ1-002.avif 600w,
/static/b4d922142bfd19a9cb891d00a4d12b60/2d49a/sharingamis-explicit-QK5vQ1-002.avif 863w&quot;
              sizes=&quot;(max-width: 863px) 100vw, 863px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/b4d922142bfd19a9cb891d00a4d12b60/cb58d/sharingamis-explicit-QK5vQ1-002.webp 300w,
/static/b4d922142bfd19a9cb891d00a4d12b60/f8b1b/sharingamis-explicit-QK5vQ1-002.webp 600w,
/static/b4d922142bfd19a9cb891d00a4d12b60/10a40/sharingamis-explicit-QK5vQ1-002.webp 863w&quot;
              sizes=&quot;(max-width: 863px) 100vw, 863px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/b4d922142bfd19a9cb891d00a4d12b60/f2d49/sharingamis-explicit-QK5vQ1-002.png 300w,
/static/b4d922142bfd19a9cb891d00a4d12b60/ff59c/sharingamis-explicit-QK5vQ1-002.png 600w,
/static/b4d922142bfd19a9cb891d00a4d12b60/bf05b/sharingamis-explicit-QK5vQ1-002.png 863w&quot;
            sizes=&quot;(max-width: 863px) 100vw, 863px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/b4d922142bfd19a9cb891d00a4d12b60/bf05b/sharingamis-explicit-QK5vQ1-002.png&quot;
            alt=&quot;aws ami share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-3a52125c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-3a52125c&quot; aria-label=&quot;カスタマーキー作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;カスタマーキー作成&lt;/h2&gt;
&lt;p&gt;AWSマネージメントコンソールより、「Key Management Service (KMS)」サービスページに移動し、カスタマー管理型のキーを選択後、キーの作成を押します。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/052e12c00a3cd540f282d1ba1dbddbf0/275a5/sharingamis-explicit-QK5vQ1-003.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 16.333333333333332%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/052e12c00a3cd540f282d1ba1dbddbf0/2a380/sharingamis-explicit-QK5vQ1-003.avif 300w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/ebc7a/sharingamis-explicit-QK5vQ1-003.avif 600w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/3c22d/sharingamis-explicit-QK5vQ1-003.avif 1200w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/a848b/sharingamis-explicit-QK5vQ1-003.avif 1800w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/0670b/sharingamis-explicit-QK5vQ1-003.avif 1844w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/052e12c00a3cd540f282d1ba1dbddbf0/cb58d/sharingamis-explicit-QK5vQ1-003.webp 300w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/f8b1b/sharingamis-explicit-QK5vQ1-003.webp 600w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/5bb53/sharingamis-explicit-QK5vQ1-003.webp 1200w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/8fb31/sharingamis-explicit-QK5vQ1-003.webp 1800w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/c5311/sharingamis-explicit-QK5vQ1-003.webp 1844w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/052e12c00a3cd540f282d1ba1dbddbf0/f2d49/sharingamis-explicit-QK5vQ1-003.png 300w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/ff59c/sharingamis-explicit-QK5vQ1-003.png 600w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/5ece7/sharingamis-explicit-QK5vQ1-003.png 1200w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/7385a/sharingamis-explicit-QK5vQ1-003.png 1800w,
/static/052e12c00a3cd540f282d1ba1dbddbf0/275a5/sharingamis-explicit-QK5vQ1-003.png 1844w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/052e12c00a3cd540f282d1ba1dbddbf0/5ece7/sharingamis-explicit-QK5vQ1-003.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-a1706303&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-a1706303&quot; aria-label=&quot;キーを設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;キーを設定&lt;/h3&gt;
&lt;p&gt;何も変更せず次へボタンをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1109px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/3e978cb63c1dd0af773d2e63dea33a98/33faa/sharingamis-explicit-QK5vQ1-004.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 95%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/3e978cb63c1dd0af773d2e63dea33a98/2a380/sharingamis-explicit-QK5vQ1-004.avif 300w,
/static/3e978cb63c1dd0af773d2e63dea33a98/ebc7a/sharingamis-explicit-QK5vQ1-004.avif 600w,
/static/3e978cb63c1dd0af773d2e63dea33a98/026f1/sharingamis-explicit-QK5vQ1-004.avif 1109w&quot;
              sizes=&quot;(max-width: 1109px) 100vw, 1109px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/3e978cb63c1dd0af773d2e63dea33a98/cb58d/sharingamis-explicit-QK5vQ1-004.webp 300w,
/static/3e978cb63c1dd0af773d2e63dea33a98/f8b1b/sharingamis-explicit-QK5vQ1-004.webp 600w,
/static/3e978cb63c1dd0af773d2e63dea33a98/c03de/sharingamis-explicit-QK5vQ1-004.webp 1109w&quot;
              sizes=&quot;(max-width: 1109px) 100vw, 1109px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/3e978cb63c1dd0af773d2e63dea33a98/f2d49/sharingamis-explicit-QK5vQ1-004.png 300w,
/static/3e978cb63c1dd0af773d2e63dea33a98/ff59c/sharingamis-explicit-QK5vQ1-004.png 600w,
/static/3e978cb63c1dd0af773d2e63dea33a98/33faa/sharingamis-explicit-QK5vQ1-004.png 1109w&quot;
            sizes=&quot;(max-width: 1109px) 100vw, 1109px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/3e978cb63c1dd0af773d2e63dea33a98/33faa/sharingamis-explicit-QK5vQ1-004.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-53cbf2c5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-53cbf2c5&quot; aria-label=&quot;ラベルを追加 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ラベルを追加&lt;/h3&gt;
&lt;p&gt;エイリアス項目に任意の分かりやすい名前を設定し、次へボタンをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1113px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/ddc257424f9895e286e441e17ce745a3/5488e/sharingamis-explicit-QK5vQ1-005.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 78.33333333333333%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/ddc257424f9895e286e441e17ce745a3/2a380/sharingamis-explicit-QK5vQ1-005.avif 300w,
/static/ddc257424f9895e286e441e17ce745a3/ebc7a/sharingamis-explicit-QK5vQ1-005.avif 600w,
/static/ddc257424f9895e286e441e17ce745a3/944a6/sharingamis-explicit-QK5vQ1-005.avif 1113w&quot;
              sizes=&quot;(max-width: 1113px) 100vw, 1113px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/ddc257424f9895e286e441e17ce745a3/cb58d/sharingamis-explicit-QK5vQ1-005.webp 300w,
/static/ddc257424f9895e286e441e17ce745a3/f8b1b/sharingamis-explicit-QK5vQ1-005.webp 600w,
/static/ddc257424f9895e286e441e17ce745a3/95674/sharingamis-explicit-QK5vQ1-005.webp 1113w&quot;
              sizes=&quot;(max-width: 1113px) 100vw, 1113px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/ddc257424f9895e286e441e17ce745a3/f2d49/sharingamis-explicit-QK5vQ1-005.png 300w,
/static/ddc257424f9895e286e441e17ce745a3/ff59c/sharingamis-explicit-QK5vQ1-005.png 600w,
/static/ddc257424f9895e286e441e17ce745a3/5488e/sharingamis-explicit-QK5vQ1-005.png 1113w&quot;
            sizes=&quot;(max-width: 1113px) 100vw, 1113px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/ddc257424f9895e286e441e17ce745a3/5488e/sharingamis-explicit-QK5vQ1-005.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-29ce56fe&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-29ce56fe&quot; aria-label=&quot;キーの管理アクセス許可を定義 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;キーの管理アクセス許可を定義&lt;/h3&gt;
&lt;p&gt;何も変更せず次へボタンをクリックします。&lt;/p&gt;
&lt;h3 id=&quot;h3-76b10ebe&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-76b10ebe&quot; aria-label=&quot;キーの使用法アクセス許可を定義 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;キーの使用法アクセス許可を定義&lt;/h3&gt;
&lt;p&gt;何も変更せず次へボタンをクリックします。&lt;/p&gt;
&lt;h3 id=&quot;h3-30749e25&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-30749e25&quot; aria-label=&quot;確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;確認&lt;/h3&gt;
&lt;p&gt;設定内容に問題ないことを確認し、完了ボタンをクリックします。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1103px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/96f377d5a0b46dbdfece38986cadef80/0141e/sharingamis-explicit-QK5vQ1-006.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 123.33333333333331%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/96f377d5a0b46dbdfece38986cadef80/2a380/sharingamis-explicit-QK5vQ1-006.avif 300w,
/static/96f377d5a0b46dbdfece38986cadef80/ebc7a/sharingamis-explicit-QK5vQ1-006.avif 600w,
/static/96f377d5a0b46dbdfece38986cadef80/d80e5/sharingamis-explicit-QK5vQ1-006.avif 1103w&quot;
              sizes=&quot;(max-width: 1103px) 100vw, 1103px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/96f377d5a0b46dbdfece38986cadef80/cb58d/sharingamis-explicit-QK5vQ1-006.webp 300w,
/static/96f377d5a0b46dbdfece38986cadef80/f8b1b/sharingamis-explicit-QK5vQ1-006.webp 600w,
/static/96f377d5a0b46dbdfece38986cadef80/4fa4b/sharingamis-explicit-QK5vQ1-006.webp 1103w&quot;
              sizes=&quot;(max-width: 1103px) 100vw, 1103px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/96f377d5a0b46dbdfece38986cadef80/f2d49/sharingamis-explicit-QK5vQ1-006.png 300w,
/static/96f377d5a0b46dbdfece38986cadef80/ff59c/sharingamis-explicit-QK5vQ1-006.png 600w,
/static/96f377d5a0b46dbdfece38986cadef80/0141e/sharingamis-explicit-QK5vQ1-006.png 1103w&quot;
            sizes=&quot;(max-width: 1103px) 100vw, 1103px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/96f377d5a0b46dbdfece38986cadef80/0141e/sharingamis-explicit-QK5vQ1-006.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-16b00c24&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-16b00c24&quot; aria-label=&quot;作成したカスタマーキーのキーポリシーを変更 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;作成したカスタマーキーのキーポリシーを変更&lt;/h2&gt;
&lt;p&gt;ポリシービューへの切り替えをクリック後、編集をクリックします。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/7187026ef20da86c762554098a902d39/54939/sharingamis-explicit-QK5vQ1-007.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 27%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/7187026ef20da86c762554098a902d39/2a380/sharingamis-explicit-QK5vQ1-007.avif 300w,
/static/7187026ef20da86c762554098a902d39/ebc7a/sharingamis-explicit-QK5vQ1-007.avif 600w,
/static/7187026ef20da86c762554098a902d39/3c22d/sharingamis-explicit-QK5vQ1-007.avif 1200w,
/static/7187026ef20da86c762554098a902d39/c833c/sharingamis-explicit-QK5vQ1-007.avif 1519w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/7187026ef20da86c762554098a902d39/cb58d/sharingamis-explicit-QK5vQ1-007.webp 300w,
/static/7187026ef20da86c762554098a902d39/f8b1b/sharingamis-explicit-QK5vQ1-007.webp 600w,
/static/7187026ef20da86c762554098a902d39/5bb53/sharingamis-explicit-QK5vQ1-007.webp 1200w,
/static/7187026ef20da86c762554098a902d39/7a151/sharingamis-explicit-QK5vQ1-007.webp 1519w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/7187026ef20da86c762554098a902d39/f2d49/sharingamis-explicit-QK5vQ1-007.png 300w,
/static/7187026ef20da86c762554098a902d39/ff59c/sharingamis-explicit-QK5vQ1-007.png 600w,
/static/7187026ef20da86c762554098a902d39/5ece7/sharingamis-explicit-QK5vQ1-007.png 1200w,
/static/7187026ef20da86c762554098a902d39/54939/sharingamis-explicit-QK5vQ1-007.png 1519w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/7187026ef20da86c762554098a902d39/5ece7/sharingamis-explicit-QK5vQ1-007.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-e6266472&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-e6266472&quot; aria-label=&quot;キーポリシーの編集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;キーポリシーの編集&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;参考文献
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html#share-kms-key&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Amazon EBS スナップショットの共有 - Amazon Elastic Compute Cloud&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;キーポリシーの編集より、以下内容に書き換え、変更を保存をクリックします。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;{共有元AWSアカウントID12桁}&lt;/p&gt;
&lt;p&gt;{共有元AWS IAMユーザ名}&lt;/p&gt;
&lt;p&gt;{共有先AWSアカウントID12桁}&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;上記項目は、適宜自分の環境に置き換えてください。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;json&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Id&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;key-consolepolicy-3&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Version&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;2012-10-17&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Statement&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Sid&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Enable IAM User Permissions&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Allow&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Principal&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;AWS&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{共有元AWSアカウントID12桁}:root&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Action&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:*&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Resource&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Sid&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Allow use of the key&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Allow&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Principal&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;AWS&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{共有元AWSアカウントID12桁}:user/{共有元AWS IAMユーザ名}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{共有先AWSアカウントID12桁}:root&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                ]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Action&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:Encrypt&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:Decrypt&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:ReEncrypt*&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:GenerateDataKey*&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:DescribeKey&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Resource&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Sid&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Allow attachment of persistent resources&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Effect&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;Allow&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Principal&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;AWS&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{共有元AWSアカウントID12桁}:user/{共有元AWS IAMユーザ名}&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;arn:aws:iam::{共有先AWSアカウントID12桁}:root&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                ]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            },&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Action&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:CreateGrant&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:ListGrants&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;kms:RevokeGrant&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            ],&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Resource&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Condition&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Bool&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;kms:GrantIsForAWSResource&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;amikms&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amikms&quot; aria-label=&quot;AMIを作成したKMSキーでコピー permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AMIを作成したKMSキーでコピー&lt;/h2&gt;
&lt;p&gt;AWSマネージメントコンソールより、EC2のサービスページに行き、AMIの画面から、AMIのコピーを先ほど作成したKMSキーを使用しておこないます。&lt;/p&gt;
&lt;p&gt;コピーしたAMIから冒頭記載の&lt;a href=&quot;#ami&quot;&gt;AMI共有&lt;/a&gt;でエラーが出ず共有したいアカウントへ共有できます。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 817px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/94bbed8aece687f0fd998ef53b8fc26c/c7756/sharingamis-explicit-QK5vQ1-008.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 124%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/94bbed8aece687f0fd998ef53b8fc26c/2a380/sharingamis-explicit-QK5vQ1-008.avif 300w,
/static/94bbed8aece687f0fd998ef53b8fc26c/ebc7a/sharingamis-explicit-QK5vQ1-008.avif 600w,
/static/94bbed8aece687f0fd998ef53b8fc26c/ddc25/sharingamis-explicit-QK5vQ1-008.avif 817w&quot;
              sizes=&quot;(max-width: 817px) 100vw, 817px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/94bbed8aece687f0fd998ef53b8fc26c/cb58d/sharingamis-explicit-QK5vQ1-008.webp 300w,
/static/94bbed8aece687f0fd998ef53b8fc26c/f8b1b/sharingamis-explicit-QK5vQ1-008.webp 600w,
/static/94bbed8aece687f0fd998ef53b8fc26c/c0975/sharingamis-explicit-QK5vQ1-008.webp 817w&quot;
              sizes=&quot;(max-width: 817px) 100vw, 817px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/94bbed8aece687f0fd998ef53b8fc26c/f2d49/sharingamis-explicit-QK5vQ1-008.png 300w,
/static/94bbed8aece687f0fd998ef53b8fc26c/ff59c/sharingamis-explicit-QK5vQ1-008.png 600w,
/static/94bbed8aece687f0fd998ef53b8fc26c/c7756/sharingamis-explicit-QK5vQ1-008.png 817w&quot;
            sizes=&quot;(max-width: 817px) 100vw, 817px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/94bbed8aece687f0fd998ef53b8fc26c/c7756/sharingamis-explicit-QK5vQ1-008.png&quot;
            alt=&quot;aws ami kms share image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-7dbe5308&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7dbe5308&quot; aria-label=&quot;共有先注意事項 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;共有先注意事項&lt;/h2&gt;
&lt;p&gt;共有先では、AMIのプライベートイメージとして表示されます。&lt;/p&gt;
&lt;p&gt;共有されたAMIを使用し、EC2インスタンスを立ち上げ後、立ち上げたEC2インスタンスのAMIを作成します。&lt;/p&gt;
&lt;p&gt;その後、共有されたEC2インスタンスは削除し、先ほど作成したAMIを使用し、EC2インスタンスを立ち上げます。&lt;/p&gt;
&lt;p&gt;このようにすることで、共有元のAWSアカウントID所有ではなく、自分自身AWSアカウントID所有のAMIとなります。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AWS NatゲートウェイでAZを跨がないようルートテーブルに定義することが推奨されている件について]]></title><description><![CDATA[目次 概要 検証 サブネット作成時のAZ選択画面 ping検証 感想 概要 AWS Certified Advanced Networking – Specialty（ANS-C01）の資格勉強をおこなっていたところ、ある書籍にて「インスタンスからNATゲートウェイへの通信はAZ…]]></description><link>https://blog.sharemyknowledge.jp/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs/</guid><pubDate>Sun, 26 Mar 2023 14:09:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-2d451fba&quot;&gt;検証&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#az&quot;&gt;サブネット作成時のAZ選択画面&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ping&quot;&gt;ping検証&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4e54bd32&quot;&gt;感想&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;AWS Certified Advanced Networking – Specialty（ANS-C01）の資格勉強をおこなっていたところ、ある書籍にて「インスタンスからNATゲートウェイへの通信はAZをまたがないよう、ルートテーブルにルートを定義します。」と記載がありました。&lt;/p&gt;
&lt;p&gt;私は、当初、NatゲートウェイってAZまたがないと使えないのでは？と思っていましたが、サブネット作成時にAZ選べれたので恥ずかしかったです。&lt;/p&gt;
&lt;p&gt;今回は、AZまたぐ場合とまたがない場合の差違について簡単に試してみましたので備忘録として記録します。&lt;/p&gt;
&lt;h2 id=&quot;h2-2d451fba&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-2d451fba&quot; aria-label=&quot;検証 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;検証&lt;/h2&gt;
&lt;h3 id=&quot;az&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#az&quot; aria-label=&quot;サブネット作成時のAZ選択画面 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;サブネット作成時のAZ選択画面&lt;/h3&gt;
&lt;p&gt;サブネット作成画面で、1a、1cなど選択できることが分かりますね。&lt;/p&gt;
&lt;p&gt;private subnet 1a（apne1-az4）に所属したEC2インスタンスからpublic subnet 1a（apne1-az4）に所属したnatインスタンスを経由した時のping値とprivate subnet 1a（apne1-az4）に所属したEC2インスタンスからpublic subnet 1c（apne1-az1）に所属したnatインスタンスを経由した時のping値を計測してみます。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 798px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/9971d16edddd0e04b8868f16f20906a0/d009f/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 84.33333333333333%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/9971d16edddd0e04b8868f16f20906a0/2a380/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.avif 300w,
/static/9971d16edddd0e04b8868f16f20906a0/ebc7a/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.avif 600w,
/static/9971d16edddd0e04b8868f16f20906a0/0438c/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.avif 798w&quot;
              sizes=&quot;(max-width: 798px) 100vw, 798px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/9971d16edddd0e04b8868f16f20906a0/cb58d/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.webp 300w,
/static/9971d16edddd0e04b8868f16f20906a0/f8b1b/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.webp 600w,
/static/9971d16edddd0e04b8868f16f20906a0/bf233/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.webp 798w&quot;
              sizes=&quot;(max-width: 798px) 100vw, 798px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/9971d16edddd0e04b8868f16f20906a0/f2d49/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.png 300w,
/static/9971d16edddd0e04b8868f16f20906a0/ff59c/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.png 600w,
/static/9971d16edddd0e04b8868f16f20906a0/d009f/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.png 798w&quot;
            sizes=&quot;(max-width: 798px) 100vw, 798px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/9971d16edddd0e04b8868f16f20906a0/d009f/regarding-the-recommendation-to-define-the-aws-nat-gateway-in-the-route-table-so-that-it-does-not-cross-azs-001-3s1a2f.png&quot;
            alt=&quot;subnet create&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;ping&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ping&quot; aria-label=&quot;ping検証 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ping検証&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;natおよびsubnetともに1a&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;private subnet 1a（apne1-az4）に所属したEC2インスタンスからpublic subnet 1a（apne1-az4）に所属したnatインスタンスを経由した時のping値&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@nat-test ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# ping -c 4 8.8.8.8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=1 ttl=103 時間=2.77ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=2 ttl=103 時間=2.39ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=3 ttl=103 時間=2.34ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=4 ttl=103 時間=2.35ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;--- 8.8.8.8 ping 統計 ---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;送信パケット数 4, 受信パケット数 4, 0% packet loss, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 3005ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;rtt min/avg/max/mdev = 2.341/2.460/2.770/0.179 ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;nat 1c、subnet 1a&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;private subnet 1a（apne1-az4）に所属したEC2インスタンスからpublic subnet 1c（apne1-az1）に所属したnatインスタンスを経由した時のping値&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@nat-test ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# ping -c 4 8.8.8.8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=1 ttl=103 時間=6.29ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=2 ttl=103 時間=4.92ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=3 ttl=103 時間=4.94ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;64 バイト応答 送信元 8.8.8.8: icmp_seq=4 ttl=103 時間=4.95ミリ秒&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;--- 8.8.8.8 ping 統計 ---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;送信パケット数 4, 受信パケット数 4, 0% packet loss, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 3004ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;rtt min/avg/max/mdev = 4.918/5.274/6.292/0.587 ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-4e54bd32&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4e54bd32&quot; aria-label=&quot;感想 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;感想&lt;/h2&gt;
&lt;p&gt;結果、同じAZに属している方が、同じデータセンター内からの接続の為、ping値が早いことが分かりました。&lt;/p&gt;
&lt;p&gt;ドキュメントにも以下の様に記載がありました。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-basics&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;NAT ゲートウェイの基本&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;アベイラビリティーゾーン別に NAT ゲートウェイを作成し、同じアベイラビリティーゾーンに属する NAT ゲートウェイをリソースで使用するようにルーティングを設定します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;普段、気にしないところだったので勉強になりました。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[haproxyによるWEB負荷分散]]></title><description><![CDATA[目次 概要 WEB01での作業 Apacheのインストール（WEB01） コンテンツ設置（WEB01） WEB02での作業 Apacheのインストール（WEB02） コンテンツ設置（WEB02） haproxyサーバでの作業 haproxyインストール haproxy…]]></description><link>https://blog.sharemyknowledge.jp/web-load-balancing-by-haproxy/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/web-load-balancing-by-haproxy/</guid><pubDate>Sat, 25 Jun 2022 06:59:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#web01&quot;&gt;WEB01での作業&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#apacheweb01&quot;&gt;Apacheのインストール（WEB01）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#web01-1&quot;&gt;コンテンツ設置（WEB01）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#web02&quot;&gt;WEB02での作業&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#apacheweb02&quot;&gt;Apacheのインストール（WEB02）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#web02-1&quot;&gt;コンテンツ設置（WEB02）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#haproxy&quot;&gt;haproxyサーバでの作業&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#haproxy-1&quot;&gt;haproxyインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#haproxy-2&quot;&gt;haproxy設定ファイルの編集&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-47cbeeb4&quot;&gt;設定の確認&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-f7e0e7c9&quot;&gt;設定変更&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#haproxy-3&quot;&gt;haproxyログ出力設定&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h4-56cf1367&quot;&gt;重複ログ破棄設定&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-52d0c676&quot;&gt;事後確認&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;AlmaLinuxにて、haproxyを利用したWEBの負荷分散をしてみたいと思います。&lt;/p&gt;
&lt;p&gt;今回、利用する環境は、haproxyサーバ1台、WEBサーバ2台構成とします。&lt;/p&gt;
&lt;p&gt;haproxyサーバからWEB2台の &lt;code&gt;private ip&lt;/code&gt; に対してチェックをおこないます。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;サーバ名&lt;/th&gt;
&lt;th&gt;private ip&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;WEB01&lt;/td&gt;
&lt;td&gt;10.0.0.224&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WEB02&lt;/td&gt;
&lt;td&gt;10.0.0.97&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 569px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/f92064948b13dfcc205a5d48b2d3f302/89552/haproxy001.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 59.333333333333336%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/f92064948b13dfcc205a5d48b2d3f302/2a380/haproxy001.avif 300w,
/static/f92064948b13dfcc205a5d48b2d3f302/f07b2/haproxy001.avif 569w&quot;
              sizes=&quot;(max-width: 569px) 100vw, 569px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/f92064948b13dfcc205a5d48b2d3f302/cb58d/haproxy001.webp 300w,
/static/f92064948b13dfcc205a5d48b2d3f302/ddd79/haproxy001.webp 569w&quot;
              sizes=&quot;(max-width: 569px) 100vw, 569px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/f92064948b13dfcc205a5d48b2d3f302/f2d49/haproxy001.png 300w,
/static/f92064948b13dfcc205a5d48b2d3f302/89552/haproxy001.png 569w&quot;
            sizes=&quot;(max-width: 569px) 100vw, 569px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/f92064948b13dfcc205a5d48b2d3f302/89552/haproxy001.png&quot;
            alt=&quot;haproxy構成図&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;トラブルを防ぐため、iptablesやfirewalldやnftables等が動作していないことおよび、SELinuxが無効になっていることとします。&lt;/p&gt;
&lt;h2 id=&quot;web01&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web01&quot; aria-label=&quot;WEB01での作業 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;WEB01での作業&lt;/h2&gt;
&lt;h3 id=&quot;apacheweb01&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#apacheweb01&quot; aria-label=&quot;Apacheのインストール（WEB01） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Apacheのインストール（WEB01）&lt;/h3&gt;
&lt;p&gt;haproxyでWEB負荷分散するためには、分散先でWEBサービスを &lt;code&gt;Listen&lt;/code&gt; していなければいけないのでapacheのインストールをおこないます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@WEB01 ~]# dnf -y install httpd&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installing:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; httpd                                      x86_64                      2.4.37-47.module_el8.6.0+2935+fb177b09.2                      appstream                      1.4 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Complete!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@WEB01 ~]# systemctl --now enable httpd&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;　→apacheサービスの自動起動を有効にし、サービスを開始します。&lt;/p&gt;
&lt;h3 id=&quot;web01-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web01-1&quot; aria-label=&quot;コンテンツ設置（WEB01） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;コンテンツ設置（WEB01）&lt;/h3&gt;
&lt;p&gt;haproxyによって分散先がわかるように、以下の様なコンテンツを設置します。&lt;/p&gt;
&lt;p&gt;設置後、 &lt;code&gt;http://{WEB01のグローバルIP}/&lt;/code&gt; に対してアクセスをおこない、緑の背景に「WEB01のコンテンツが表示されているよ！」と表示されれば問題ありません。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@WEB01 ~]# vim /var/www/html/index.html&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;html&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;WEB01のコンテンツ&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- head --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;background-color:green;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;WEB01のコンテンツが表示されているよ！&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;br&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- body --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- html --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;web02&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web02&quot; aria-label=&quot;WEB02での作業 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;WEB02での作業&lt;/h2&gt;
&lt;h3 id=&quot;apacheweb02&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#apacheweb02&quot; aria-label=&quot;Apacheのインストール（WEB02） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Apacheのインストール（WEB02）&lt;/h3&gt;
&lt;p&gt;WEB02でもWEB01同様の作業を実施します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@WEB02 ~]# dnf -y install httpd&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installing:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; httpd                                      x86_64                      2.4.37-47.module_el8.6.0+2935+fb177b09.2                      appstream                      1.4 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Complete!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@WEB02 ~]# systemctl --now enable httpd&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;　→apacheサービスの自動起動を有効にし、サービスを開始します。&lt;/p&gt;
&lt;h3 id=&quot;web02-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web02-1&quot; aria-label=&quot;コンテンツ設置（WEB02） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;コンテンツ設置（WEB02）&lt;/h3&gt;
&lt;p&gt;haproxyによって分散先がわかるように、以下の様なコンテンツを設置します。&lt;/p&gt;
&lt;p&gt;設置後、 &lt;code&gt;http://{WEB02のグローバルIP}/&lt;/code&gt; に対してアクセスをおこない、ピンクの背景に「WEB02のコンテンツが表示されているよ！」と表示されれば問題ありません。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@WEB02 ~]# vim /var/www/html/index.html&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;html&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;meta&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;charset&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;WEB02のコンテンツ&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- head --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;background-color:pink;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;                &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;WEB02のコンテンツが表示されているよ！&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- body --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;mtk17&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;&amp;lt;!-- html --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;haproxy&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#haproxy&quot; aria-label=&quot;haproxyサーバでの作業 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;haproxyサーバでの作業&lt;/h2&gt;
&lt;h3 id=&quot;haproxy-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#haproxy-1&quot; aria-label=&quot;haproxyインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;haproxyインストール&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# dnf install haproxy&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Last metadata expiration check: 0:09:46 ago on Sat 25 Jun 2022 05:21:37 PM JST.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dependencies resolved.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;===============================================================================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; Package                         Architecture                   Version                                Repository                         Size&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;===============================================================================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installing:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; haproxy                         x86_64                         1.8.27-4.el8                           appstream                         1.4 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Transaction Summary&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;===============================================================================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Install  1 Package&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Total download size: 1.4 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installed size: 4.2 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Is this ok [y/N]: y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# systemctl --now enable haproxy&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;7&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/haproxy.service → /usr/lib/systemd/system/haproxy.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;　→haproxyサービスの自動起動を有効にし、サービスを開始します。&lt;/p&gt;
&lt;h3 id=&quot;haproxy-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#haproxy-2&quot; aria-label=&quot;haproxy設定ファイルの編集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;haproxy設定ファイルの編集&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# cp -p /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.org&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[root@haproxy ~]# cp -p /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg_$(date +&quot;%Y%m%d&quot;)&lt;/code&gt;&lt;br&gt;
→あらかじめ、バックアップを取ります。&lt;/p&gt;
&lt;h3 id=&quot;h3-47cbeeb4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-47cbeeb4&quot; aria-label=&quot;設定の確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定の確認&lt;/h3&gt;
&lt;p&gt;以下の様にデフォルトで、 &lt;code&gt;log         127.0.0.1 local2&lt;/code&gt; となっており、 syslogの種類が &lt;code&gt;local2&lt;/code&gt; となっていることを確認します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# cat /etc/haproxy/haproxy.cfg&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;8&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Global settings&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;global&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    log         127.0.0.1 local2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;haproxyインストールしたての &lt;code&gt;/etc/haproxy/haproxy.cfg&lt;/code&gt; は以下のようになっているので変更します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;9&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# main frontend which proxys to the backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;frontend main&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; *:5000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    acl url_static       path_beg       -i /static /images /javascript /stylesheets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    acl url_static       path_end       -i .jpg .gif .png .css .js&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    use_backend static          &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; url_static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    default_backend             app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# static backend for serving up images, stylesheets and such&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;backend static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    balance     roundrobin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server      static 127.0.0.1:4331 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# round robin balancing between the various backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;backend app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    balance     roundrobin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server  app1 127.0.0.1:5001 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server  app2 127.0.0.1:5002 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server  app3 127.0.0.1:5003 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server  app4 127.0.0.1:5004 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-f7e0e7c9&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-f7e0e7c9&quot; aria-label=&quot;設定変更 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定変更&lt;/h3&gt;
&lt;p&gt;以下のように、80番ポートで &lt;code&gt;Listen&lt;/code&gt; し、分散先として、WEB01およびWEB02の &lt;code&gt;private ip&lt;/code&gt; を指定するようにします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# cat /etc/haproxy/haproxy.cfg&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;10&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# main frontend which proxys to the backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;frontend http_web&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; *:80&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    mode http&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    default_backend app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# round robin balancing between the various backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;backend app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    balance     roundrobin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    mode http&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server WEB01 10.0.0.224:80 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    server WEB02 10.0.0.97:80 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;diffの結果として、以下のような感じになることを確認します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# diff -u /etc/haproxy/haproxy.cfg_$(date +&quot;%Y%m%d&quot;) /etc/haproxy/haproxy.cfg&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;diff&quot; data-index=&quot;11&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;--- /etc/haproxy/haproxy.cfg_20220625   2022-04-19 04:31:18.000000000 +0900&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;+++ /etc/haproxy/haproxy.cfg    2022-06-25 20:02:21.718000000 +0900&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@ -64,27 +64,16 @@&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; #---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # main frontend which proxys to the backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; #---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-frontend main&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    bind *:5000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    acl url_static       path_beg       -i /static /images /javascript /stylesheets&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    acl url_static       path_end       -i .jpg .gif .png .css .js&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    use_backend static          if url_static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    default_backend             app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-# static backend for serving up images, stylesheets and such&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-#---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-backend static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    balance     roundrobin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    server      static 127.0.0.1:4331 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+frontend http_web&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    bind *:80&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    mode http&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    default_backend app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; #---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # round robin balancing between the various backends&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; #---------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; backend app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;     balance     roundrobin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    server  app1 127.0.0.1:5001 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    server  app2 127.0.0.1:5002 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    server  app3 127.0.0.1:5003 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-    server  app4 127.0.0.1:5004 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    mode http&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    server WEB01 10.0.0.224:80 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+    server WEB02 10.0.0.97:80 check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;haproxy-3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#haproxy-3&quot; aria-label=&quot;haproxyログ出力設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;haproxyログ出力設定&lt;/h3&gt;
&lt;p&gt;haproxyのログを、 &lt;code&gt;rsyslog&lt;/code&gt; で受信できるようにするため、 &lt;code&gt;rsyslog&lt;/code&gt; 側での設定変更をします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# netstat -nlp | grep 514&lt;/code&gt;&lt;br&gt;
→UDP 514番ポートで受信するようにしたいため、あらかじめ &lt;code&gt;Listen&lt;/code&gt; していないことを確認します。&lt;br&gt;
※なにも出力がなければokです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# cp -p /etc/rsyslog.conf /etc/rsyslog.conf_$(date +&quot;%Y%m%d&quot;)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[root@haproxy ~]# cp -p /etc/rsyslog.conf /etc/rsyslog.conf.org&lt;/code&gt;&lt;br&gt;
→あらかじめ設定ファイルのバックアップをおこないます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rsyslog&lt;/code&gt; 設定ファイルを編集します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;module(load=&quot;imudp&quot;) # needs to be done just once&lt;/code&gt; および &lt;code&gt;input(type=&quot;imudp&quot; port=&quot;514&quot;)&lt;/code&gt; がコメントアウトされているのでコメントアウトを外します。&lt;br&gt;
→これで、UDP 514番ポート待ち受けが有効になります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# ### sample forwarding rule ###&lt;/code&gt; の上側あたりに、 &lt;code&gt;local2.* /var/log/haproxy.log&lt;/code&gt; の記述を追加します。&lt;br&gt;
→こちらを追加することにより、haproxyのログが、 &lt;code&gt;/var/log/haproxy.log&lt;/code&gt; に記録されます。&lt;/p&gt;
&lt;h4 id=&quot;h4-56cf1367&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-56cf1367&quot; aria-label=&quot;重複ログ破棄設定 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;重複ログ破棄設定&lt;/h4&gt;
&lt;p&gt;このままでは、 &lt;code&gt;/var/log/messages&lt;/code&gt; にも &lt;code&gt;/var/log/haproxy.log&lt;/code&gt; と同様の内容が記録されるため、 &lt;code&gt;/var/log/haproxy.log&lt;/code&gt; にのみ記録するようにします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;*.info;mail.none;authpriv.none;cron.none /var/log/messages&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;↓以下へ変更。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;*.info;mail.none;authpriv.none;cron.none;local2.none /var/log/messages&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;という風に &lt;code&gt;local2.none&lt;/code&gt; を追加することで、 &lt;code&gt;messages&lt;/code&gt; の &lt;code&gt;haproxy&lt;/code&gt; 重複ログを抑制することが可能となります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# vim /etc/rsyslog.conf&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;12&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;module(load=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;imudp&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;) &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# needs to be done just once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;input(type=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;imudp&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; port=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;514&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Log anything (except mail) of level info or higher.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Don&amp;#39;t log private authentication messages!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;*.info;mail.none;authpriv.none;cron.none;local2.none                /var/log/messages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Log all the haproxy messages in one place.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;local2.*                                                /var/log/haproxy.log&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;rsyslog&lt;/code&gt; 設定ファイルの &lt;code&gt;diff&lt;/code&gt; 結果は以下の通りとなります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# diff -u /etc/rsyslog.conf_$(date +&quot;%Y%m%d&quot;) /etc/rsyslog.conf&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;diff&quot; data-index=&quot;13&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;--- /etc/rsyslog.conf_20220625  2022-05-30 16:47:31.000000000 +0900&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;+++ /etc/rsyslog.conf   2022-06-25 21:08:50.901000000 +0900&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@ -16,8 +16,8 @@&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # Provides UDP syslog reception&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # for parameters see http://www.rsyslog.com/doc/imudp.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-#module(load=&amp;quot;imudp&amp;quot;) # needs to be done just once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-#input(type=&amp;quot;imudp&amp;quot; port=&amp;quot;514&amp;quot;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+module(load=&amp;quot;imudp&amp;quot;) # needs to be done just once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+input(type=&amp;quot;imudp&amp;quot; port=&amp;quot;514&amp;quot;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # Provides TCP syslog reception&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # for parameters see http://www.rsyslog.com/doc/imtcp.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@ -43,7 +43,7 @@&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # Log anything (except mail) of level info or higher.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # Don&amp;#39;t log private authentication messages!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;-*.info;mail.none;authpriv.none;cron.none                /var/log/messages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+*.info;mail.none;authpriv.none;cron.none;local2.none                /var/log/messages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # The authpriv file has restricted access.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; authpriv.*                                              /var/log/secure&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@ -64,6 +64,8 @@&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # Save boot messages also to boot.log&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; local7.*                                                /var/log/boot.log&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+# Log all the haproxy messages in one place.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk7&quot;&gt;+local2.*                                                /var/log/haproxy.log&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; # ### sample forwarding rule ###&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@haproxy ~]# systemctl restart haproxy rsyslog&lt;/code&gt;&lt;br&gt;
→最後に &lt;code&gt;haproxy&lt;/code&gt; と &lt;code&gt;rsyslog&lt;/code&gt; サービスを再起動し、設定を適用します。&lt;/p&gt;
&lt;h3 id=&quot;h3-52d0c676&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-52d0c676&quot; aria-label=&quot;事後確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事後確認&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://{haproxyのグローバルIP}/&lt;/code&gt; にアクセスし、ページリロード毎に、コンテンツが切り替わる事および、 &lt;code&gt;haproxy.log&lt;/code&gt; のみにログが出力されていることを確認できればログ設定と負荷分散が上手くおこなえています。&lt;/p&gt;
&lt;p&gt;ページリロード毎に以下、画像のように切り替わります。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 647px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4fdd8a13a7c4ab0bdf3d368ea2883013/397ed/haproxy002.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 12.666666666666668%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/4fdd8a13a7c4ab0bdf3d368ea2883013/2a380/haproxy002.avif 300w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/ebc7a/haproxy002.avif 600w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/d6961/haproxy002.avif 647w&quot;
              sizes=&quot;(max-width: 647px) 100vw, 647px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/4fdd8a13a7c4ab0bdf3d368ea2883013/cb58d/haproxy002.webp 300w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/f8b1b/haproxy002.webp 600w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/ede3a/haproxy002.webp 647w&quot;
              sizes=&quot;(max-width: 647px) 100vw, 647px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/4fdd8a13a7c4ab0bdf3d368ea2883013/f2d49/haproxy002.png 300w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/ff59c/haproxy002.png 600w,
/static/4fdd8a13a7c4ab0bdf3d368ea2883013/397ed/haproxy002.png 647w&quot;
            sizes=&quot;(max-width: 647px) 100vw, 647px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/4fdd8a13a7c4ab0bdf3d368ea2883013/397ed/haproxy002.png&quot;
            alt=&quot;haproxy_web01&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;
　　　　　　　　　　　　　　　　 ↑↓
&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 634px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/4e8f8efb43dd6df9495d8a1422fa1ae6/ea95c/haproxy003.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 10.999999999999998%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/4e8f8efb43dd6df9495d8a1422fa1ae6/2a380/haproxy003.avif 300w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/ebc7a/haproxy003.avif 600w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/5c7ed/haproxy003.avif 634w&quot;
              sizes=&quot;(max-width: 634px) 100vw, 634px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/4e8f8efb43dd6df9495d8a1422fa1ae6/cb58d/haproxy003.webp 300w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/f8b1b/haproxy003.webp 600w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/f5e32/haproxy003.webp 634w&quot;
              sizes=&quot;(max-width: 634px) 100vw, 634px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/4e8f8efb43dd6df9495d8a1422fa1ae6/f2d49/haproxy003.png 300w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/ff59c/haproxy003.png 600w,
/static/4e8f8efb43dd6df9495d8a1422fa1ae6/ea95c/haproxy003.png 634w&quot;
            sizes=&quot;(max-width: 634px) 100vw, 634px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/4e8f8efb43dd6df9495d8a1422fa1ae6/ea95c/haproxy003.png&quot;
            alt=&quot;haproxy_web02&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;私自身、haproxyについて、あまり理解できていなかったですが、実際に構築してみて、少しは理解できたかなぁと思いました。&lt;/p&gt;
&lt;p&gt;簡単に冗長化できて感無量です！&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk17 { color: #808080; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AmazonLinux2022へTeraterm接続で躓いた件について]]></title><description><![CDATA[目次 概要 前提条件 環境 事象 対処 動作確認 まとめ 余談 概要 本日は、TeratermからAmazonLinux2022へ接続した際に、時間を溶かしたので備忘録として記録します。 前提条件 Amazon Linux2022インスタンスをAWS…]]></description><link>https://blog.sharemyknowledge.jp/stumbling-over-teraterm-connection-to-amazonlinux2022/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/stumbling-over-teraterm-connection-to-amazonlinux2022/</guid><pubDate>Fri, 03 Dec 2021 20:02:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-b0ff454a&quot;&gt;前提条件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-ac0eba87&quot;&gt;環境&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4f8c45f8&quot;&gt;事象&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-f08e3c8f&quot;&gt;対処&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-19a4cd7b&quot;&gt;動作確認&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-3d2ef55c&quot;&gt;余談&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;本日は、TeratermからAmazonLinux2022へ接続した際に、時間を溶かしたので備忘録として記録します。&lt;/p&gt;
&lt;h2 id=&quot;h2-b0ff454a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-b0ff454a&quot; aria-label=&quot;前提条件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Amazon Linux2022インスタンスをAWSにデプロイ済みであること。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;※AmazonLinux2022のデプロイ方法は以下を参考にしてください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/amazonlinux/amazon-linux-2022#how-to-get-started&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Launching Amazon Linux 2022 via EC2 Management Console&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-ac0eba87&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-ac0eba87&quot; aria-label=&quot;環境 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;環境&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ツール名&lt;/th&gt;
&lt;th&gt;バージョン&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Teraterm&lt;/td&gt;
&lt;td&gt;4.106&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;（bash client）ssh&lt;/td&gt;
&lt;td&gt;OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;（bash client os）&lt;/td&gt;
&lt;td&gt;Microsoft Windows [Version 10.0.19043.1348]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;h2-4f8c45f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4f8c45f8&quot; aria-label=&quot;事象 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事象&lt;/h2&gt;
&lt;p&gt;TeratermからAWS上に建てたAmazonLinux2022に対して接続すると認証に失敗する事象が発生します。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 659px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/cd18178ade099cf1a232478e47f969b7/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 73.66666666666666%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/cd18178ade099cf1a232478e47f969b7/2a380/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.avif 300w,
/static/cd18178ade099cf1a232478e47f969b7/ebc7a/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.avif 600w,
/static/cd18178ade099cf1a232478e47f969b7/16140/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.avif 659w&quot;
              sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/cd18178ade099cf1a232478e47f969b7/cb58d/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.webp 300w,
/static/cd18178ade099cf1a232478e47f969b7/f8b1b/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.webp 600w,
/static/cd18178ade099cf1a232478e47f969b7/67eaf/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.webp 659w&quot;
              sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/cd18178ade099cf1a232478e47f969b7/f2d49/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.png 300w,
/static/cd18178ade099cf1a232478e47f969b7/ff59c/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.png 600w,
/static/cd18178ade099cf1a232478e47f969b7/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.png 659w&quot;
            sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/cd18178ade099cf1a232478e47f969b7/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-001-VGrQIW.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Windowsのコマンドプロンプトからssh接続すると正常に接続できます。
※altest.pemは、AmazonLinux2022インスタンス作成時に指定した秘密鍵を指定します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;D:\***\***&gt;ssh -i altest.pem ec2-user@13.114.102.110&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;The authenticity of host &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;13.114.102.110 (13.114.102.110)&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; can&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;t be established.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;ECDSA key fingerprint is SHA256:u2mgWsLP+vfrTtQmNIGRFFVEXl5K50hGy13jmGIjTA4.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;Are you sure you want to continue connecting (yes/no/[fingerprint])? yes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;Warning: Permanently added &amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;13.114.102.110&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39; (ECDSA) to the list of known hosts.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;       __|  __|_  )&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;       _|  (     /   Amazon Linux 2022 AMI&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;      ___|\___|___|  Preview&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;http://aws.amazon.com/linux/amazon-linux-2022&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ssh接続ログを見ると、ssh-rsaが許可されていない旨のログがでていることが確認できます。&lt;/p&gt;
&lt;p&gt;これは、AmazonLinux2022内部のOpenSSHがRSA/SHA1（ssh-rsaシグネチャ）をデフォルトで無効化されている事に起因します。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://thinkit.co.jp/news/bn/18734&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;OpenSSH、今後はRSA/SHA1をデフォルトで無効に&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;[root@ip-10-0-0-120 ssh]# tail -f /var/log/secure&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 17:44:15 localhost sshd[14533]: userauth_pubkey: key &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ssh-rsa not &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; PubkeyAcceptedAlgorithms [preauth]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@ip-10-0-0-120 ssh]# ssh -V&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;OpenSSH_8.6p1, OpenSSL 1.1.1l  FIPS 24 Aug 2021&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-f08e3c8f&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-f08e3c8f&quot; aria-label=&quot;対処 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処&lt;/h2&gt;
&lt;p&gt;sshd_configの先頭行等に &lt;strong&gt;&lt;code&gt;PubkeyAcceptedAlgorithms=+ssh-rsa&lt;/code&gt;&lt;/strong&gt; を書き込み、ssh-rsaシグネチャを許可するようにします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_$(date +%Y%m%d)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sed -i &apos;1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/&apos; /etc/ssh/sshd_config&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;systemctl restart sshd.service&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-19a4cd7b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-19a4cd7b&quot; aria-label=&quot;動作確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;動作確認&lt;/h2&gt;
&lt;p&gt;再度、Teratermからインスタンスにアクセスすると正常に接続できることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 659px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/e86146e7df014a24e0b992c13c5afde3/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 73.66666666666666%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/e86146e7df014a24e0b992c13c5afde3/2a380/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.avif 300w,
/static/e86146e7df014a24e0b992c13c5afde3/ebc7a/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.avif 600w,
/static/e86146e7df014a24e0b992c13c5afde3/16140/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.avif 659w&quot;
              sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/e86146e7df014a24e0b992c13c5afde3/cb58d/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.webp 300w,
/static/e86146e7df014a24e0b992c13c5afde3/f8b1b/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.webp 600w,
/static/e86146e7df014a24e0b992c13c5afde3/67eaf/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.webp 659w&quot;
              sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/e86146e7df014a24e0b992c13c5afde3/f2d49/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.png 300w,
/static/e86146e7df014a24e0b992c13c5afde3/ff59c/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.png 600w,
/static/e86146e7df014a24e0b992c13c5afde3/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.png 659w&quot;
            sizes=&quot;(max-width: 659px) 100vw, 659px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/e86146e7df014a24e0b992c13c5afde3/c8822/stumbling-over-teraterm-connection-to-amazonlinux2022-002-VGrQIW.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;ログ上からも認証が許可されていることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@ip-10-0-0-120 ssh]# tail -f /var/log/secure&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 18:31:10 localhost sshd[15526]: Accepted publickey &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ec2-user from ***.***.***.*** port 50731 ssh2: RSA SHA256:************************&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 18:31:10 localhost sshd[15526]: pam_unix(sshd:session): session opened &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; user ec2-user(uid=1000) by (uid=0)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 18:31:32 localhost sshd[15560]: Received disconnect from ***.***.***.*** port 50731:11: disconnected by server request&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 18:31:33 localhost sshd[15560]: Disconnected from user ec2-user ***.***.***.*** port 50731&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Dec  3 18:31:33 localhost sshd[15526]: pam_unix(sshd:session): session closed &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; user ec2-user&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;AmazonLinux2022のOpenSSLのバージョンが高いことによるもので、とても、勉強になりました。&lt;/p&gt;
&lt;p&gt;以下、リンクは、AmazonLinux2022、AmazonLinux2、CentOS、Rocky LinuxについてAmazonLinux2022の位置づけが語られている興味深い記事なので是非みてみてください。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/aws-builders/whats-different-about-amazon-linux-2022-ilb&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;What’s different about Amazon Linux 2022? - DEV Community&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-3d2ef55c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-3d2ef55c&quot; aria-label=&quot;余談 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;余談&lt;/h2&gt;
&lt;p&gt;AmazonLinux2022インスタンス作成時に、ユーザデータとして以下を記述し、デプロイすることで本記事事象を回避できます。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;$(date +%Y%m%d)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;sed -i &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; /etc/ssh/sshd_config&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;systemctl stop sshd.service&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;systemctl start sshd.service&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[yumパッケージ管理でpyenvを使用したpythonインストール時のビルドエラートラブルシューティング]]></title><description><![CDATA[目次 事象 対処 対処後 事象 pyenvを使用してpythonをインストールしようとした時に以下のようにビルドエラーとなっている場合を想定しております。 pyenv install 3.9.0 対処 以下、開発者ツールおよびpython…]]></description><link>https://blog.sharemyknowledge.jp/using-pyenv-to-manage-yum-packages-to-troubleshoot-build-errors-during-a-python-installation/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/using-pyenv-to-manage-yum-packages-to-troubleshoot-build-errors-during-a-python-installation/</guid><pubDate>Fri, 26 Nov 2021 14:37:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4f8c45f8&quot;&gt;事象&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-f08e3c8f&quot;&gt;対処&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-3641358a&quot;&gt;対処後&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-4f8c45f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4f8c45f8&quot; aria-label=&quot;事象 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事象&lt;/h2&gt;
&lt;p&gt;pyenvを使用してpythonをインストールしようとした時に以下のようにビルドエラーとなっている場合を想定しております。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pyenv install 3.9.0&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Downloading Python-3.9.0.tar.xz...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;-&amp;gt; https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installing Python-3.9.0...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-f08e3c8f&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-f08e3c8f&quot; aria-label=&quot;対処 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処&lt;/h2&gt;
&lt;p&gt;以下、開発者ツールおよびpythonビルドに追加で必要なライブラリをインストールします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum groupinstall &quot;Development Tools&quot; -y&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel -y&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-3641358a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-3641358a&quot; aria-label=&quot;対処後 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;対処後&lt;/h2&gt;
&lt;p&gt;以下のようにエラーや警告なくインストール完了すれば問題ございません。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pyenv install 3.9.0&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;pyenv: /root/.pyenv/versions/3.9.0 already exists&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;continue&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; with installation? (y/N) y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Downloading Python-3.9.0.tar.xz...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;-&amp;gt; https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installing Python-3.9.0...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Installed Python-3.9.0 to /root/.pyenv/versions/3.9.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[rustでServerless Framework使用してaws lambda関数をデプロイし実行してみた]]></title><description><![CDATA[目次 概要 前提条件 Rustについて Serverless Frameworkのセットアップ Node.jsのインストール Serverless Frameworkのインストール プロジェクトの作成 AWS上にデプロイ AWS上にデプロイされたLambda関数の実行 AWS…]]></description><link>https://blog.sharemyknowledge.jp/deploying-and-executing-an-aws-lambda-function-in-rust-using-serverless-framework/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/deploying-and-executing-an-aws-lambda-function-in-rust-using-serverless-framework/</guid><pubDate>Sat, 26 Jun 2021 05:18:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-b0ff454a&quot;&gt;前提条件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#rust&quot;&gt;Rustについて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#serverless-framework&quot;&gt;Serverless Frameworkのセットアップ&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#nodejs&quot;&gt;Node.jsのインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#serverless-framework-1&quot;&gt;Serverless Frameworkのインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-42f921b7&quot;&gt;プロジェクトの作成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#aws&quot;&gt;AWS上にデプロイ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#awslambda&quot;&gt;AWS上にデプロイされたLambda関数の実行&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#aws-1&quot;&gt;AWS上での確認&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#cloudformation&quot;&gt;CloudFormation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#lambdarust&quot;&gt;Lambda（rust）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#lambdanodejs&quot;&gt;Lambda（node.js）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;今回は、rust言語で、Serverless Frameworkを用いてAWS Lambda上にデプロイ（サンプルプログラム）し、Hello World!というお決まりのワードを表示してみたいと思います。&lt;/p&gt;
&lt;h2 id=&quot;h2-b0ff454a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-b0ff454a&quot; aria-label=&quot;前提条件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;awsコマンドインストール済で、aws configure認証情報設定済であること。&lt;/li&gt;
&lt;li&gt;dockerがインストール済で、dockerサービスが起動していること。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;rust&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#rust&quot; aria-label=&quot;Rustについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Rustについて&lt;/h2&gt;
&lt;p&gt;Rustはシステムプログラミングや、コマンドラインプログラム、Webサーバ等、さまざまな用途に使用できるプログラミング言語です。&lt;/p&gt;
&lt;p&gt;スピードとメモリー使用の観点で効率的で信頼性の高いコードへと自然に導くよう設計されており、C言語で問題となっているメモリー関連で弱かった部分をカバーしています。&lt;/p&gt;
&lt;p&gt;また、コンパイラー型言語なのでコンパイル時、コードに問題のある箇所を確実に補足してくれます。&lt;/p&gt;
&lt;p&gt;今回は、そのような特徴をもったRustがAWSからAWS SDK for RustというSDKがαリリースされましたので実際に使用していきたいと思います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;※ &lt;strong&gt;AWS SDK&lt;/strong&gt; を使用した、連携は第2回目の記事で記載します。&lt;/li&gt;
&lt;li&gt;※ 今回は、ただRustをLambda上で動かしてみるという内容になります。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;serverless-framework&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#serverless-framework&quot; aria-label=&quot;Serverless Frameworkのセットアップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Serverless Frameworkのセットアップ&lt;/h2&gt;
&lt;h3 id=&quot;nodejs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#nodejs&quot; aria-label=&quot;Node.jsのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Node.jsのインストール&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;. ~/.nvm/nvm.sh&lt;/code&gt;&lt;br&gt;
→nvmの有効化&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nvm install --lts --latest-npm&lt;/code&gt;&lt;br&gt;
→nodeのインストール&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nvm alias default &apos;lts/*&apos;&lt;/code&gt;&lt;br&gt;
→デフォルトにする。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/ffggss/items/94f1c4c5d311db2ec71a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;※nvm(Node Version Manager)を使ってNode.jsをインストールする手順&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LTSバージョンインストールについて&lt;/p&gt;
&lt;p&gt;&lt;code&gt;node -e &quot;console.log(&apos;Running Node.js &apos; + process.version)&quot;&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Running Node.js v14.17.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;→Node.jsがインストールされたことを確認。&lt;/p&gt;
&lt;h3 id=&quot;serverless-framework-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#serverless-framework-1&quot; aria-label=&quot;Serverless Frameworkのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Serverless Frameworkのインストール&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;mkdir sls&lt;/code&gt;&lt;br&gt;
→ディレクトリ作成&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd sls&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;npm init&lt;/code&gt;&lt;br&gt;
→いくつか質問されるがすべてEnterで、最後の質問は、yesでOk。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;npm install --save serverless&lt;/code&gt;&lt;br&gt;
→Serverless Framework本体をインストール。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;npm bin serverless&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/root/sls/node_modules/.bin&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;echo &apos;export PATH=&quot;$HOME/sls/node_modules/.bin/:$PATH&quot;&apos; &gt;&gt; ~/.bash_profile&lt;/code&gt;&lt;br&gt;
→パスを通す。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;source ~/.bash_profile&lt;/code&gt;&lt;br&gt;
→適用する。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;serverless -v&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Framework Core: 2.48.0 (local)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Plugin: 5.4.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;SDK: 4.2.3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Components: 3.12.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;→Serverless Frameworkがインストールされたことを確認。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://qiita.com/Esfahan/items/736d09f732fa619d2410&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;※Serverless FrameworkでAWS Lambda関数を作成する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こちらの記事に書かれている内容となります。&lt;/p&gt;
&lt;h3 id=&quot;h3-42f921b7&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-42f921b7&quot; aria-label=&quot;プロジェクトの作成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;プロジェクトの作成&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;cd ~&lt;/code&gt;&lt;br&gt;
→ホームディレクトリ直下へ移動。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;npx serverless install \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --url https://github.com/softprops/serverless-aws-rust \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  --name rust-first-lambda-app \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &amp;amp;&amp;amp; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;cd&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; rust-first-lambda-app \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &amp;amp;&amp;amp; npm install --silent&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Need to install the following packages:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  serverless&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Ok to proceed? (y) y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Downloading and installing &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;serverless-aws-rust&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Successfully installed &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;serverless-aws-rust&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; as &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;rust-first-lambda-app&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;→serverless AWS Rust templateが用意されているのでありがたく使わせてもらいます。&lt;/p&gt;
&lt;h3 id=&quot;aws&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws&quot; aria-label=&quot;AWS上にデプロイ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWS上にデプロイ&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;npx serverless deploy&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Building Rust hello func...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Running containerized build&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Unable to find image &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;softprops/lambda-rust:0.2.7-rust-1.43.1&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; locally&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;0.2.7-rust-1.43.1: Pulling from softprops/lambda-rust&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;   Compiling hello v0.1.0 (/code)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Finished release [optimized] target(s) &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2m 58s&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  adding: bootstrap (deflated 61%)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Packaging service...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Creating Stack...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Checking Stack create progress...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Serverless: Stack update finished...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Service Information&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;service: rust-first-lambda-app&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;stage: dev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;region: us-east-1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;stack: rust-first-lambda-app-dev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;resources: 6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;api keys:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  None&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;endpoints:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  None&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;functions:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  hello: rust-first-lambda-app-dev-hello&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;layers:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  None&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;→Serverless Frameworkの標準的なデプロイコマンドで実施、AWS Lambda上に提供されるrustカスタムランタイムでビルドされ、その後、CloudFormationスタックが作成されデプロイされます。&lt;/p&gt;
&lt;h3 id=&quot;awslambda&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#awslambda&quot; aria-label=&quot;AWS上にデプロイされたLambda関数の実行 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWS上にデプロイされたLambda関数の実行&lt;/h3&gt;
&lt;p&gt;npx serverless invoke -f hello -d ’{“Hello”:“World!”}’&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;json&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;World!&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;→正常に渡した値が返ってきていることが確認できました。&lt;/p&gt;
&lt;h3 id=&quot;aws-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-1&quot; aria-label=&quot;AWS上での確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWS上での確認&lt;/h3&gt;
&lt;p&gt;node.jsとrustで比較するのは、酷かもしてれませんが、メモリ効率、実行速度ともに良いですね。&lt;/p&gt;
&lt;h4 id=&quot;cloudformation&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#cloudformation&quot; aria-label=&quot;CloudFormation permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;CloudFormation&lt;/h4&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/70728/aws-lambda-rust_IrWZ3Z_001.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 40%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/2a380/aws-lambda-rust_IrWZ3Z_001.avif 300w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/ebc7a/aws-lambda-rust_IrWZ3Z_001.avif 600w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/3c22d/aws-lambda-rust_IrWZ3Z_001.avif 1200w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/a848b/aws-lambda-rust_IrWZ3Z_001.avif 1800w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/f363b/aws-lambda-rust_IrWZ3Z_001.avif 1839w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/cb58d/aws-lambda-rust_IrWZ3Z_001.webp 300w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/f8b1b/aws-lambda-rust_IrWZ3Z_001.webp 600w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/5bb53/aws-lambda-rust_IrWZ3Z_001.webp 1200w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/8fb31/aws-lambda-rust_IrWZ3Z_001.webp 1800w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/13562/aws-lambda-rust_IrWZ3Z_001.webp 1839w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/f2d49/aws-lambda-rust_IrWZ3Z_001.png 300w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/ff59c/aws-lambda-rust_IrWZ3Z_001.png 600w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/5ece7/aws-lambda-rust_IrWZ3Z_001.png 1200w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/7385a/aws-lambda-rust_IrWZ3Z_001.png 1800w,
/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/70728/aws-lambda-rust_IrWZ3Z_001.png 1839w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/d0ceeb37ff740ee07f32f0a4ca0e4db8/5ece7/aws-lambda-rust_IrWZ3Z_001.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4 id=&quot;lambdarust&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lambdarust&quot; aria-label=&quot;Lambda（rust） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Lambda（rust）&lt;/h4&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/78199fbfeaa9a4c3108e431f656a8724/58465/aws-lambda-rust_IrWZ3Z_002.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 62%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/78199fbfeaa9a4c3108e431f656a8724/2a380/aws-lambda-rust_IrWZ3Z_002.avif 300w,
/static/78199fbfeaa9a4c3108e431f656a8724/ebc7a/aws-lambda-rust_IrWZ3Z_002.avif 600w,
/static/78199fbfeaa9a4c3108e431f656a8724/3c22d/aws-lambda-rust_IrWZ3Z_002.avif 1200w,
/static/78199fbfeaa9a4c3108e431f656a8724/e45db/aws-lambda-rust_IrWZ3Z_002.avif 1272w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/78199fbfeaa9a4c3108e431f656a8724/cb58d/aws-lambda-rust_IrWZ3Z_002.webp 300w,
/static/78199fbfeaa9a4c3108e431f656a8724/f8b1b/aws-lambda-rust_IrWZ3Z_002.webp 600w,
/static/78199fbfeaa9a4c3108e431f656a8724/5bb53/aws-lambda-rust_IrWZ3Z_002.webp 1200w,
/static/78199fbfeaa9a4c3108e431f656a8724/f077c/aws-lambda-rust_IrWZ3Z_002.webp 1272w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/78199fbfeaa9a4c3108e431f656a8724/f2d49/aws-lambda-rust_IrWZ3Z_002.png 300w,
/static/78199fbfeaa9a4c3108e431f656a8724/ff59c/aws-lambda-rust_IrWZ3Z_002.png 600w,
/static/78199fbfeaa9a4c3108e431f656a8724/5ece7/aws-lambda-rust_IrWZ3Z_002.png 1200w,
/static/78199fbfeaa9a4c3108e431f656a8724/58465/aws-lambda-rust_IrWZ3Z_002.png 1272w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/78199fbfeaa9a4c3108e431f656a8724/5ece7/aws-lambda-rust_IrWZ3Z_002.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4 id=&quot;lambdanodejs&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lambdanodejs&quot; aria-label=&quot;Lambda（node.js） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Lambda（node.js）&lt;/h4&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/fae7ceed2905a82a7f309f6a44addc6e/bc577/aws-lambda-rust_IrWZ3Z_003.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 64%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/fae7ceed2905a82a7f309f6a44addc6e/2a380/aws-lambda-rust_IrWZ3Z_003.avif 300w,
/static/fae7ceed2905a82a7f309f6a44addc6e/ebc7a/aws-lambda-rust_IrWZ3Z_003.avif 600w,
/static/fae7ceed2905a82a7f309f6a44addc6e/3c22d/aws-lambda-rust_IrWZ3Z_003.avif 1200w,
/static/fae7ceed2905a82a7f309f6a44addc6e/03524/aws-lambda-rust_IrWZ3Z_003.avif 1283w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/fae7ceed2905a82a7f309f6a44addc6e/cb58d/aws-lambda-rust_IrWZ3Z_003.webp 300w,
/static/fae7ceed2905a82a7f309f6a44addc6e/f8b1b/aws-lambda-rust_IrWZ3Z_003.webp 600w,
/static/fae7ceed2905a82a7f309f6a44addc6e/5bb53/aws-lambda-rust_IrWZ3Z_003.webp 1200w,
/static/fae7ceed2905a82a7f309f6a44addc6e/62cf0/aws-lambda-rust_IrWZ3Z_003.webp 1283w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/fae7ceed2905a82a7f309f6a44addc6e/f2d49/aws-lambda-rust_IrWZ3Z_003.png 300w,
/static/fae7ceed2905a82a7f309f6a44addc6e/ff59c/aws-lambda-rust_IrWZ3Z_003.png 600w,
/static/fae7ceed2905a82a7f309f6a44addc6e/5ece7/aws-lambda-rust_IrWZ3Z_003.png 1200w,
/static/fae7ceed2905a82a7f309f6a44addc6e/bc577/aws-lambda-rust_IrWZ3Z_003.png 1283w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/fae7ceed2905a82a7f309f6a44addc6e/5ece7/aws-lambda-rust_IrWZ3Z_003.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Serverless Frameworkを使用すると簡単にAWS上へLambda関数をデプロイすることができ、ビルド環境もコンテナー上で処理されるのでいいことだらけですね。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[CentOS8にpodmanをインストールしてみた]]></title><description><![CDATA[Photo by podman.io(2019) / Adapted. 目次 概要 手順 podmanのインストール コンテナーモジュールのインストール Dockerコマンドを使用できるようにする コンテナーを実行してみる iptablesへ設定を追加する WEB…]]></description><link>https://blog.sharemyknowledge.jp/installed-podman-on-centos8/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/installed-podman-on-centos8/</guid><pubDate>Wed, 09 Jun 2021 09:35:00 GMT</pubDate><content:encoded>&lt;p&gt;Photo by &lt;a href=&quot;https://github.com/containers/podman.io/blob/master/images/logos/podman-logo.png&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;podman.io(2019)&lt;/a&gt; / Adapted.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-de06f3a3&quot;&gt;手順&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#podman&quot;&gt;podmanのインストール&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h4-2ee410e1&quot;&gt;コンテナーモジュールのインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#docker&quot;&gt;Dockerコマンドを使用できるようにする&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-eda2b818&quot;&gt;コンテナーを実行してみる&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#iptables&quot;&gt;iptablesへ設定を追加する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#web&quot;&gt;WEBサーバコンテナーを実行する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#webweb&quot;&gt;WEBサーバコンテナーにWEBブラウザからアクセスしてみる&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;CentOS Stream release 8にpodmanと言われるコンテナーオーケストレーションツールを入れてみます。&lt;/p&gt;
&lt;p&gt;その後、WEBサーバコンテナーを持ってきて、ブラウザから、コンテナーにアクセスできることを確認します。&lt;/p&gt;
&lt;h2 id=&quot;h2-de06f3a3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-de06f3a3&quot; aria-label=&quot;手順 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;手順&lt;/h2&gt;
&lt;h3 id=&quot;podman&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#podman&quot; aria-label=&quot;podmanのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;podmanのインストール&lt;/h3&gt;
&lt;h4 id=&quot;h4-2ee410e1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-2ee410e1&quot; aria-label=&quot;コンテナーモジュールのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;コンテナーモジュールのインストール&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# dnf module install container-tools&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&quot;docker&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker&quot; aria-label=&quot;Dockerコマンドを使用できるようにする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Dockerコマンドを使用できるようにする&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# dnf install podman-docker&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;podmanコマンドラインをdockerコマンドに置き換えて実行できるようになります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;h3-eda2b818&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-eda2b818&quot; aria-label=&quot;コンテナーを実行してみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;コンテナーを実行してみる&lt;/h3&gt;
&lt;h4 id=&quot;iptables&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#iptables&quot; aria-label=&quot;iptablesへ設定を追加する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;iptablesへ設定を追加する&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# iptables -t filter -I FORWARD -i cni-podman0 ! -o cni-podman0 -j ACCEPT&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# systemctl stop nftables&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ファイアウォールを停止する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;web&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#web&quot; aria-label=&quot;WEBサーバコンテナーを実行する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;WEBサーバコンテナーを実行する&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# docker run --rm -p 8080:80 -it php:apache bash&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@b784d756b0b2:/var/www/html# apt-get update&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・・・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Fetched 8448 kB &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2s (4250 kB/s)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Reading package lists... Done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;aptを最新にする。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;root@b784d756b0b2:/var/www/html# apt install vim&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Reading package lists... Done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Building dependency tree&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Reading state information... Done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・・・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;エディターをインストール。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;root@b784d756b0b2:/var/www/html# vim index.html&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;html&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Hello World Podman&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;root@b784d756b0b2:/var/www/html# /etc/init.d/apache2 start&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[....] Starting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;s fully qualified domain name, using 10.88.0.8. Set the &amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;ServerName&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39; directive globally to suppress this message&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;. ok&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;WEBサーバサービス開始。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;webweb&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#webweb&quot; aria-label=&quot;WEBサーバコンテナーにWEBブラウザからアクセスしてみる permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;WEBサーバコンテナーにWEBブラウザからアクセスしてみる&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;http://***.***.***.***:8080/&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;GIPまたはLIPの8080番ポートにアクセスし、「Hello World Podman」が表示されることを確認します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以下、キャプチャ画像のようになっていれば問題ありません。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 431px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/12eac3f4b96603610351c81598672eaf/369db/podman_httpd_hello_world.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 30%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/12eac3f4b96603610351c81598672eaf/2a380/podman_httpd_hello_world.avif 300w,
/static/12eac3f4b96603610351c81598672eaf/3405d/podman_httpd_hello_world.avif 431w&quot;
              sizes=&quot;(max-width: 431px) 100vw, 431px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/12eac3f4b96603610351c81598672eaf/cb58d/podman_httpd_hello_world.webp 300w,
/static/12eac3f4b96603610351c81598672eaf/49804/podman_httpd_hello_world.webp 431w&quot;
              sizes=&quot;(max-width: 431px) 100vw, 431px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/12eac3f4b96603610351c81598672eaf/f2d49/podman_httpd_hello_world.png 300w,
/static/12eac3f4b96603610351c81598672eaf/369db/podman_httpd_hello_world.png 431w&quot;
            sizes=&quot;(max-width: 431px) 100vw, 431px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/12eac3f4b96603610351c81598672eaf/369db/podman_httpd_hello_world.png&quot;
            alt=&quot;image&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;dockerと比較し、podmanはvs codeとの連携ができなかったので、利便性を考えると微妙な感じでした。&lt;/p&gt;
&lt;p&gt;今後、もっと親和性が向上していくことを願うばかりです。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[インフラストラクチャ定義ツールについて]]></title><description><![CDATA[目次 Infrastructure as Codeのためのツール 無人実行のサポート Infrastructure as Codeのためのツール Cloud Formation、TerraFrom、OpenStack Heat…]]></description><link>https://blog.sharemyknowledge.jp/infrastructure-definition-tool/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/infrastructure-definition-tool/</guid><pubDate>Thu, 03 Jun 2021 20:57:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#infrastructure-as-code&quot;&gt;Infrastructure as Codeのためのツール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c1f38c9a&quot;&gt;無人実行のサポート&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;infrastructure-as-code&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#infrastructure-as-code&quot; aria-label=&quot;Infrastructure as Codeのためのツール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Infrastructure as Codeのためのツール&lt;/h2&gt;
&lt;p&gt;Cloud Formation、TerraFrom、OpenStack Heat等のツールがあり、インフラストラクチャリソースの割り当てや、どのような構成・設定をしたいのか指定します。&lt;/p&gt;
&lt;p&gt;Infrastructure as Codeのメリットを享受する場合、インフラは、反復・テスト・再利用可能で自己記述的に管理する必要があります。&lt;/p&gt;
&lt;h2 id=&quot;h2-c1f38c9a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c1f38c9a&quot; aria-label=&quot;無人実行のサポート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;無人実行のサポート&lt;/h2&gt;
&lt;p&gt;信頼性の高い無人実行をサポートするために、スクリプトやタスクが備えるべき特徴として以下が挙げられる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;べき等（idempotent）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;悪影響を及ぼさずに、同じスクリプトやタスクを複数回実行できる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;事前チェック&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;タスクは、開始するための条件を満たしているかチェックし、満たしていなければ目に見える形で意味のあるエラーを出力し、処理を失敗させシステムを使える状態に保つ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;事後チェック&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;タスクは、変更を加えることに成功したかどうかをチェックしする。&lt;br&gt;
単にコマンドのリターンコードをチェックするだけではなく結果が正しいことを証明しなければならない。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;例えば、Webサーバにおいて、バーチャルホストが追加されたことを確認するために、WebサーバにHTTPリクエストを送らなければならない。&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;目に見える形の失敗&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;タスクが正しく実行を失敗させた場合、その失敗はチームからわかる形になっていなければならない。&lt;br&gt;
情報ラジエータ（自動テスト、速さ、インシデントレポート、継続的インテグレーションなどの最新情報がチーム等、一目で確認できるよう目につきやすい場所へ設置する手書きや絵や電子的なディスプレイの総称）を使用したり、モニタリングサービスと統合したりといった方法を使う。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.agilealliance.org/glossary/information-radiators&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;What is an Information Radiator? | Agile Alliance&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://martinfowler.com/bliki/CommunalDashboard.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CommunalDashboard&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;パラメーター化&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;タスクは、同じタイプの複数オペレーションで使用できなければならない。&lt;br&gt;
たとえば、1つのスクリプトで特徴の異なる複数仮想ホストを構成および設定や特定のパラメーターを見つける方法、条件ロジックやテンプレートを駆使し状況にあった構成・設定ができなければならない。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[CentOS8 podman pull official image amazonlinux 起動エラー（未解決）]]></title><description><![CDATA[Photo by podman.io(2019) / Adapted. 目次 概要 コマンド 概要 CentOS8環境のpodmanに対してオフィシャルイメージのAmazonLLinuxをインストールすると下記エラーが出力され未解決・・・ Error reading…]]></description><link>https://blog.sharemyknowledge.jp/centos8-podman-pull-amazonlinux-official-image-run-failed/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/centos8-podman-pull-amazonlinux-official-image-run-failed/</guid><pubDate>Fri, 26 Mar 2021 20:30:00 GMT</pubDate><content:encoded>&lt;p&gt;Photo by &lt;a href=&quot;https://github.com/containers/podman.io/blob/master/images/logos/podman-logo.png&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;podman.io(2019)&lt;/a&gt; / Adapted.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-4c2ea9b6&quot;&gt;コマンド&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;CentOS8環境のpodmanに対してオフィシャルイメージのAmazonLLinuxをインストールすると下記エラーが出力され未解決・・・&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Error reading manifest latest in docker.io/library/935e8db88df5: errors:&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-4c2ea9b6&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-4c2ea9b6&quot; aria-label=&quot;コマンド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;コマンド&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# dnf install podman-docker&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;メタデータの期限切れの最終確認: 1:41:41 時間前の 2021年03月27日 00時25分40秒 に実施しました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;依存関係が解決しました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;=========================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt; パッケージ            アーキテクチャー バージョン                            リポジトリー サイズ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;=========================================================================================&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;podman-docker        noarch         2.2.1-7.module_el8.3.0+699+d61d9c41  AppStream  47 k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;依存関係のインストール:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;podman               x86_64         2.2.1-7.module_el8.3.0+699+d61d9c41  AppStream  14 M&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# podman -v&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;podman version 2.2.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# docker -v&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;podman version 2.2.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# docker search --filter is-official=true amazonlinux&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;INDEX      NAME                           DESCRIPTION                                      STARS   OFFICIAL  AUTOMATED&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker.io  docker.io/library/amazonlinux  Amazon Linux provides a stable, secure, and ...  993     [OK]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# docker pull docker.io/library/amazonlinux&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Trying to pull docker.io/library/amazonlinux:latest...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Getting image &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; signatures&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Copying blob 9da98c321efd &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Copying config 935e8db88d &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Writing manifest to image destination&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Storing signatures&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;935e8db88df5c8906a27e29bf38705c932802cfcfccd5cd39abf408554badb97&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;[root@dev ~]# docker images&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;REPOSITORY                     TAG     IMAGE ID      CREATED      SIZE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker.io/library/amazonlinux  latest  935e8db88df5  4 weeks ago  170 MB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[Kubernetesクラスターへワーカーノードを追加してみる]]></title><description><![CDATA[Photo by CNCF – Change of venue(2019) / Adapted. 目次 概要 手順 Dockerのインストール ファイアウォールの無効化 パッケージインデックスを最新に更新 HTTPS経由でインストールできるようにするための準備 Docker…]]></description><link>https://blog.sharemyknowledge.jp/try-to-add-worker-nodes-to-a-kubernetes-cluster/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/try-to-add-worker-nodes-to-a-kubernetes-cluster/</guid><pubDate>Mon, 01 Mar 2021 18:17:00 GMT</pubDate><content:encoded>&lt;p&gt;Photo by &lt;a href=&quot;https://github.com/cncf/artwork/tree/master/projects/kubernetes&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;CNCF – Change of venue(2019)&lt;/a&gt; / Adapted.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-de06f3a3&quot;&gt;手順&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#docker&quot;&gt;Dockerのインストール&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-6d6e1b00&quot;&gt;ファイアウォールの無効化&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-c5e46f9b&quot;&gt;パッケージインデックスを最新に更新&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#https&quot;&gt;HTTPS経由でインストールできるようにするための準備&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#dockergpg&quot;&gt;DockerオフィシャルGPGキー追加&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#docker-arm64&quot;&gt;Docker Arm64版リポジトリ追加&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#docker-1&quot;&gt;Dockerエンジン（コミュニティ）版のインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#docker-2&quot;&gt;一般ユーザでもdockerを使えるようにする&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#kubernetes&quot;&gt;Kubernetesワーカーノード構築&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-c0e1ea45&quot;&gt;事前準備&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#iptablesnftables&quot;&gt;iptablesがnftablesバックエンドを使用しないようにする&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#kubernetesgpg&quot;&gt;KubernetesオフィシャルGPGキー追加&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#kubernetess&quot;&gt;Kubernetessリポジトリ追加&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#kubernetess-1&quot;&gt;Kubernetessインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#kubernetess-2&quot;&gt;Kubernetessシングルマスターへワーカーノードを追加する&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h2&gt;
&lt;p&gt;今回は、「Raspberry Pi 4 Model B/4GB」にインストールしたKubernetes&lt;br&gt;
シングルマスターへワーカーノードを1台追加してみたいと思います。&lt;/p&gt;
&lt;p&gt;使用する環境は、「Ubuntu 20.10 aarch64」となります。&lt;br&gt;
すべて管理者権限で操作をします。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;この記事ではシングルマスター構築は触れませんので注意してください。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-de06f3a3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-de06f3a3&quot; aria-label=&quot;手順 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;手順&lt;/h2&gt;
&lt;h2 id=&quot;docker&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker&quot; aria-label=&quot;Dockerのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Dockerのインストール&lt;/h2&gt;
&lt;h3 id=&quot;h3-6d6e1b00&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-6d6e1b00&quot; aria-label=&quot;ファイアウォールの無効化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ファイアウォールの無効化&lt;/h3&gt;
&lt;p&gt;Kubernetesが動作する上でFWが原因で動作に問題が生じないように無効化します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# systemctl disable ufw.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# systemctl stop ufw.service&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# systemctl is-enabled ufw.service&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;disabled&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# systemctl is-active ufw.service&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;inactive&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-c5e46f9b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-c5e46f9b&quot; aria-label=&quot;パッケージインデックスを最新に更新 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;パッケージインデックスを最新に更新&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get update&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;864 kB を 5秒 で取得しました (171 kB/s)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;パッケージリストを読み込んでいます... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;https&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#https&quot; aria-label=&quot;HTTPS経由でインストールできるようにするための準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;HTTPS経由でインストールできるようにするための準備&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;root@k8s-node-a:~&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# apt-get install \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    apt-transport-https \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    ca-certificates \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    curl \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    gnupg-agent \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    software-properties-common&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上記コマンドを実行、実行すると下記のように続行するか聞かれるので「y」と押しEnterします。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;この操作後に追加で 209 kB のディスク容量が消費されます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;続行しますか? [Y/n] y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;dockergpg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dockergpg&quot; aria-label=&quot;DockerオフィシャルGPGキー追加 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;DockerオフィシャルGPGキー追加&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Warning: apt-key is deprecated. Manage keyring files &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; trusted.gpg.d instead (see apt-key(8)).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下記コマンドでインストールされたことを確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-key list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Warning: apt-key is deprecated. Manage keyring files &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; trusted.gpg.d instead (see apt-key(8)).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/etc/apt/trusted.gpg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;--------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;pub   rsa4096 2017-02-22 [SCEA]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;uid           [  不明  ] Docker Release (CE deb) &amp;lt;docker@docker.com&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;sub   rsa4096 2017-02-22 [S]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;docker-arm64&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-arm64&quot; aria-label=&quot;Docker Arm64版リポジトリ追加 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Docker Arm64版リポジトリ追加&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;7&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;root@k8s-node-a:~&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# add-apt-repository \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;deb [arch=arm64] https://download.docker.com/linux/ubuntu &lt;/span&gt;&lt;span class=&quot;mtk6&quot;&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;   $(lsb_release -cs) &lt;/span&gt;&lt;span class=&quot;mtk6&quot;&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;   stable&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;コマンドを実行すると以下のようにDocker arm64レポジトリが取得されていることが分かりますね。&lt;/p&gt;
&lt;p&gt;また、httpsを経由していることも同時に分かりますね。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;8&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Repository: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;deb [arch=arm64] https://download.docker.com/linux/ubuntu groovy stable&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Description:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Archive &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; codename: groovy components: stable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;More info: https://download.docker.com/linux/ubuntu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Adding repository.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Press [ENTER] to &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;continue&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; or Ctrl-c to cancel.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Adding deb entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-groovy.list&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-groovy.list&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;取得:1 https://download.docker.com/linux/ubuntu groovy InRelease [27.4 kB]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;取得:2 https://download.docker.com/linux/ubuntu groovy/stable arm64 Packages [4,983 B]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;32.3 kB を 3秒 で取得しました (12.7 kB/s)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;パッケージリストを読み込んでいます... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;後から追加したレポジトリのリストは、&lt;code&gt;/etc/apt/sources.list.d/&lt;/code&gt;に記録されます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-groovy.list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;9&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;deb [arch=arm64] https://download.docker.com/linux/ubuntu groovy stable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# deb-src [arch=arm64] https://download.docker.com/linux/ubuntu groovy stable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;docker-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-1&quot; aria-label=&quot;Dockerエンジン（コミュニティ）版のインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Dockerエンジン（コミュニティ）版のインストール&lt;/h3&gt;
&lt;p&gt;パッケージインデックスを最新に更新します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get update&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;containerdはDocker社が開発している、コンテナーランタイムになりDockerのコンポーネントの一部として動作します。&lt;/p&gt;
&lt;p&gt;途中で続行するか聞かれるので「y」を入力後、Enterを押します、その後、シムリンクが張られ自動起動ONになることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get install docker-ce docker-ce-cli containerd.io&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;10&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;パッケージリストを読み込んでいます... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;依存関係ツリーを作成しています&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;状態情報を読み取っています... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;以下の追加パッケージがインストールされます:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  docker-ce-rootless-extras libslirp0 pigz slirp4netns&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;提案パッケージ:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  cgroupfs-mount | cgroup-lite&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;以下のパッケージが新たにインストールされます:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras libslirp0 pigz slirp4netns&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;83.9 MB のアーカイブを取得する必要があります。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;この操作後に追加で 397 MB のディスク容量が消費されます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;続行しますか? [Y/n] y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;containerd.io (1.4.3-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker-ce-cli (5:20.10.4~3-0~ubuntu-groovy) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;libslirp0:arm64 (4.3.1-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;pigz (2.4-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;slirp4netns (1.0.1-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker-ce (5:20.10.4~3-0~ubuntu-groovy) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker-ce-rootless-extras (5:20.10.4~3-0~ubuntu-groovy) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;systemd (246.6-1ubuntu1.1) のトリガを処理しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;man-db (2.9.3-2) のトリガを処理しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;libc-bin (2.32-0ubuntu3) のトリガを処理しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;docker-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#docker-2&quot; aria-label=&quot;一般ユーザでもdockerを使えるようにする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;一般ユーザでもdockerを使えるようにする&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# gpasswd -a ubuntu docker&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;11&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;ユーザ ubuntu をグループ docker に追加&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;追加されたことは分かりますね。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# grep docker /etc/group&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;12&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;docker:x:998:ubuntu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;kubernetes&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kubernetes&quot; aria-label=&quot;Kubernetesワーカーノード構築 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Kubernetesワーカーノード構築&lt;/h2&gt;
&lt;h3 id=&quot;h3-c0e1ea45&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-c0e1ea45&quot; aria-label=&quot;事前準備 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;事前準備&lt;/h3&gt;
&lt;p&gt;memoryが「0」無効化状態だとマスターを構築する際にERRORがでたので念の為、ワーカーノード側でも有効化状態に変更します。&lt;/p&gt;
&lt;p&gt;現在は、下記の通り無効化状態であることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /proc/cgroups&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;13&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#subsys_name    hierarchy       num_cgroups     enabled&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;memory  0       109     0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;書き込み前の内容となります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /boot/firmware/cmdline.txt&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;14&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc quiet splash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以下内容をboot時に読み込むファイルへ書き込みます。&lt;/p&gt;
&lt;p&gt;末尾につづけて書くようにします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# vi /boot/firmware/cmdline.txt&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;15&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;筆者、環境では書き込み後以下のようになりました。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /boot/firmware/cmdline.txt&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;16&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc quiet splash cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;このままでは設定が適用されないのでOS再起動をおこないます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# reboot&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;無効状態「0」だったのが有効状態「1」になっていることが確認できますね。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /proc/cgroups&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;17&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;#subsys_name    hierarchy       num_cgroups     enabled&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;memory  11      486     1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;KubernetesではSWAP領域を無効化することが条件になっていますので確認します。&lt;/p&gt;
&lt;p&gt;以下コマンドでSWAPが有効になっているか確認できます、筆者環境では元々、SWAP領域がなかったようです。&lt;/p&gt;
&lt;p&gt;この場合、なんの問題もないのでスルーしましょう。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# /sbin/swapon -s&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /proc/swaps&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;18&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Filename                                Type            Size            Used            Priority&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;iptablesnftables&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#iptablesnftables&quot; aria-label=&quot;iptablesがnftablesバックエンドを使用しないようにする permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;iptablesがnftablesバックエンドを使用しないようにする&lt;/h3&gt;
&lt;p&gt;Kubernetesはnftablesと互換性がないので以下コマンドをしようしてiptablesを使用するよう設定します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get install -y iptables arptables ebtables&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# update-alternatives --set iptables /usr/sbin/iptables-legacy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# update-alternatives --set arptables /usr/sbin/arptables-legacy&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# update-alternatives --set ebtables /usr/sbin/ebtables-legacy&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;kubernetesgpg&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kubernetesgpg&quot; aria-label=&quot;KubernetesオフィシャルGPGキー追加 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;KubernetesオフィシャルGPGキー追加&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;19&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Warning: apt-key is deprecated. Manage keyring files &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; trusted.gpg.d instead (see apt-key(8)).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下記コマンドでインストールされたことを確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-key list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;20&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Warning: apt-key is deprecated. Manage keyring files &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; trusted.gpg.d instead (see apt-key(8)).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/etc/apt/trusted.gpg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;--------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;pub   rsa2048 2018-04-01 [SCE] [有効期限: 2021-03-31]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;      54A6 47F9 048D 5688 D7DA  2ABE 6A03 0B21 BA07 F4FB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;uid           [  不明  ] Google Cloud Packages Automatic Signing Key &amp;lt;gc-team@google.com&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kubernetess&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kubernetess&quot; aria-label=&quot;Kubernetessリポジトリ追加 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Kubernetessリポジトリ追加&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;21&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;root@k8s-node-a:~&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# cat &amp;lt;&amp;lt;EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;deb https://apt.kubernetes.io/ kubernetes-xenial main&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;EOF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;レポジトリの設定ができたことを確認できますね。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# cat /etc/apt/sources.list.d/kubernetes.list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;22&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;deb https://apt.kubernetes.io/ kubernetes-xenial main&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kubernetess-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kubernetess-1&quot; aria-label=&quot;Kubernetessインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Kubernetessインストール&lt;/h3&gt;
&lt;p&gt;パッケージインデックスを最新に更新します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get update&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;以下、ツールのインストールをおこないます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;kubeadm：クラスターを起動するコマンドです。&lt;/li&gt;
&lt;li&gt;kubelet　：クラスターの各ノードでPodを管理するコンポーネントです。&lt;/li&gt;
&lt;li&gt;kubectl　：クラスターにアクセスするためのコマンドラインツールです。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-get install -y kubelet kubeadm kubectl&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;23&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;パッケージリストを読み込んでいます... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;依存関係ツリーを作成しています&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;状態情報を読み取っています... 完了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;以下の追加パッケージがインストールされます:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  conntrack cri-tools kubernetes-cni socat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;提案パッケージ:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  nftables&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;以下のパッケージが新たにインストールされます:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  conntrack cri-tools kubeadm kubectl kubelet kubernetes-cni socat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;61.2 MB のアーカイブを取得する必要があります。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;この操作後に追加で 277 MB のディスク容量が消費されます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・[中略]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;・&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm (1.20.4-00) を展開しています...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;conntrack (1:1.4.6-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubectl (1.20.4-00) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;socat (1.7.3.4-1) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cri-tools (1.13.0-01) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubernetes-cni (0.8.7-00) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubelet (1.20.4-00) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /lib/systemd/system/kubelet.service.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm (1.20.4-00) を設定しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;man-db (2.9.3-2) のトリガを処理しています ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先ほどインストールツールのバージョンを固定にします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-mark hold kubelet kubeadm kubectl&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;24&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubelet は保留に設定されました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm は保留に設定されました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubectl は保留に設定されました。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;固定化されたことが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-node-a:~# apt-mark showhold&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;25&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubectl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubelet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kubernetess-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#kubernetess-2&quot; aria-label=&quot;Kubernetessシングルマスターへワーカーノードを追加する permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Kubernetessシングルマスターへワーカーノードを追加する&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;マスター側マシン&lt;/strong&gt; で以下コマンドを実行し、マスターのみであることが確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-master:~# kubectl get nodes&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;26&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;NAME         STATUS   ROLES                  AGE     VERSION&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;k8s-master   Ready    control-plane,master   2d19h   v1.20.4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;今回の記事では解説していません&lt;/strong&gt; がマスター構築時に&lt;code&gt;kubeadm init&lt;/code&gt;を実行しており、この時に、マスターへ追加するコマンドが出力されていますのでこちらのコマンドを使用してマスターへ追加します。&lt;/p&gt;
&lt;p&gt;コマンドは以下の通り。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;27&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;root@k8s-node-a:~&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# kubeadm join 192.168.1.108:6443 --token b677lw.mke79ur70zeagzss \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    --discovery-token-ca-cert-hash sha256:c95d9f8921e34fbabc2dfbc4e0e0a0919e02f899b12d8bab0de9603b3feab883&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;kubeadm join&lt;/code&gt;は &lt;strong&gt;ワーカーノードつまりマスターとは違うマシンで実行&lt;/strong&gt; します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;28&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm join 192.168.1.108:6443 --token b677lw.mke79ur70zeagzss \&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt;     --discovery-token-ca-cert-hash sha256:c95d9f8921e34fbabc2dfbc4e0e0a0919e02f899b12d8bab0de9603b3feab883&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;トークン失効していたみたいでerrorでてしまいましたので再発行します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;29&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[preflight] Running pre-flight checks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING IsDockerSystemdCheck]: detected &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;cgroupfs&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; as the Docker cgroup driver. The recommended driver is &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;systemd&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;. Please follow the guide at https://kubernetes.io/docs/setup/cri/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 20.10.4. Latest validated version: 19.03&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING SystemVerification]: missing optional cgroups: hugetlb&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;error execution phase preflight: couldn&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;t validate the identity of the API Server: could not find a JWS signature in the cluster-info ConfigMap for token ID &amp;quot;b677lw&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk8&quot;&gt;To see the stack trace of this error execute with --v=5 or higher&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;マスター側&lt;/strong&gt; で確認してみると確かに失効していました。
&lt;code&gt;kubeadm token list&lt;/code&gt;で何も出力がない場合、トークンがない状態となります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-master:~# kubeadm token list&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;トークンの再発行をします。&lt;/p&gt;
&lt;p&gt;そのまま、 &lt;strong&gt;ワーカーノード側&lt;/strong&gt; で実行します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;マスター&lt;/strong&gt; とは違うマシンです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-master:~# kubeadm token create --print-join-command&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;30&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;kubeadm join 192.168.1.108:6443 --token t5yafu.rn5tniug8kiu1pbf     --discovery-token-ca-cert-hash sha256:c95d9f8921e34fbabc2dfbc4e0e0a0919e02f899b12d8bab0de9603b3feab883&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;発行されました。&lt;/p&gt;
&lt;p&gt;有効期限があるみたいですね。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-master:~# kubeadm token list&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;31&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;t5yafu.rn5tniug8kiu1pbf   23h         2021-03-03T01:32:47+09:00   authentication,signing   &amp;lt;none&amp;gt;                                                     system:bootstrappers:kubeadm:default-node-token&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;ワーカーノード側&lt;/strong&gt; で再度実行するとすんなり追加されました。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;32&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;root@k8s-node-a:~&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# kubeadm join 192.168.1.108:6443 --token t5yafu.rn5tniug8kiu1pbf     --discovery-token-ca-cert-hash sha256:c95d9f8921e34fbabc2dfbc4e0e0a0919e02f899b12d8bab0de9603b3feab883&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;control-planeで確認しろ言われるのでマスター側で確認します。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;33&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[preflight] Running pre-flight checks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING IsDockerSystemdCheck]: detected &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;cgroupfs&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; as the Docker cgroup driver. The recommended driver is &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;systemd&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;. Please follow the guide at https://kubernetes.io/docs/setup/cri/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 20.10.4. Latest validated version: 19.03&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        [WARNING SystemVerification]: missing optional cgroups: hugetlb&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[preflight] Reading configuration from the cluster...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[preflight] FYI: You can look at this config file with &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;kubectl -n kube-system get cm kubeadm-config -o yaml&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[kubelet-start] Writing kubelet configuration to file &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/var/lib/kubelet/config.yaml&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[kubelet-start] Writing kubelet environment file with flags to file &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;/var/lib/kubelet/kubeadm-flags.env&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[kubelet-start] Starting the kubelet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[kubelet-start] Waiting &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; the kubelet to perform the TLS Bootstrap...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;This node has joined the cluster:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;* Certificate signing request was sent to apiserver and a response was received.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;* The Kubelet was informed of the new secure connection details.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Run &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;#39;kubectl get nodes&amp;#39;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; on the control-plane to see this node join the cluster.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;k8s-node-aが追加されていることがわかります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;マスター側&lt;/strong&gt; で実行しています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NotReady&lt;/strong&gt; になっている場合、すこしまてば &lt;strong&gt;Ready&lt;/strong&gt; 状態へ変わります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;root@k8s-master:~# kubectl get nodes&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;34&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;NAME         STATUS   ROLES                  AGE     VERSION&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;k8s-master   Ready    control-plane,master   2d20h   v1.20.4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;k8s-node-a   Ready    &amp;lt;none&amp;gt;                 5m54s   v1.20.4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以下は &lt;strong&gt;Kubernetes Dashboard&lt;/strong&gt; で確認したスクリーンショットとなります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kubernetes Dashboard&lt;/strong&gt; はここでは解説しません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ポッド&lt;/strong&gt; 詳細みるとエラーでているが、正常と異常を繰り返しておりよく分からない状態、でも取りあえず動いているので気にしません。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/d518ae6b646c26eb2401b59ff7283ab6/2233e/k8s_3F51rZ_001.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 24.666666666666664%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/d518ae6b646c26eb2401b59ff7283ab6/2a380/k8s_3F51rZ_001.avif 300w,
/static/d518ae6b646c26eb2401b59ff7283ab6/ebc7a/k8s_3F51rZ_001.avif 600w,
/static/d518ae6b646c26eb2401b59ff7283ab6/3c22d/k8s_3F51rZ_001.avif 1200w,
/static/d518ae6b646c26eb2401b59ff7283ab6/b60df/k8s_3F51rZ_001.avif 1611w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/d518ae6b646c26eb2401b59ff7283ab6/cb58d/k8s_3F51rZ_001.webp 300w,
/static/d518ae6b646c26eb2401b59ff7283ab6/f8b1b/k8s_3F51rZ_001.webp 600w,
/static/d518ae6b646c26eb2401b59ff7283ab6/5bb53/k8s_3F51rZ_001.webp 1200w,
/static/d518ae6b646c26eb2401b59ff7283ab6/5bb7f/k8s_3F51rZ_001.webp 1611w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/d518ae6b646c26eb2401b59ff7283ab6/f2d49/k8s_3F51rZ_001.png 300w,
/static/d518ae6b646c26eb2401b59ff7283ab6/ff59c/k8s_3F51rZ_001.png 600w,
/static/d518ae6b646c26eb2401b59ff7283ab6/5ece7/k8s_3F51rZ_001.png 1200w,
/static/d518ae6b646c26eb2401b59ff7283ab6/2233e/k8s_3F51rZ_001.png 1611w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/d518ae6b646c26eb2401b59ff7283ab6/5ece7/k8s_3F51rZ_001.png&quot;
            alt=&quot;k8s_3F51rZ_001.png&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/99b4e759a0d60656cf2ed26ebf8de177/831db/k8s_3F51rZ_002.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 25.666666666666664%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/99b4e759a0d60656cf2ed26ebf8de177/2a380/k8s_3F51rZ_002.avif 300w,
/static/99b4e759a0d60656cf2ed26ebf8de177/ebc7a/k8s_3F51rZ_002.avif 600w,
/static/99b4e759a0d60656cf2ed26ebf8de177/3c22d/k8s_3F51rZ_002.avif 1200w,
/static/99b4e759a0d60656cf2ed26ebf8de177/668b7/k8s_3F51rZ_002.avif 1616w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/99b4e759a0d60656cf2ed26ebf8de177/cb58d/k8s_3F51rZ_002.webp 300w,
/static/99b4e759a0d60656cf2ed26ebf8de177/f8b1b/k8s_3F51rZ_002.webp 600w,
/static/99b4e759a0d60656cf2ed26ebf8de177/5bb53/k8s_3F51rZ_002.webp 1200w,
/static/99b4e759a0d60656cf2ed26ebf8de177/599bc/k8s_3F51rZ_002.webp 1616w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/99b4e759a0d60656cf2ed26ebf8de177/f2d49/k8s_3F51rZ_002.png 300w,
/static/99b4e759a0d60656cf2ed26ebf8de177/ff59c/k8s_3F51rZ_002.png 600w,
/static/99b4e759a0d60656cf2ed26ebf8de177/5ece7/k8s_3F51rZ_002.png 1200w,
/static/99b4e759a0d60656cf2ed26ebf8de177/831db/k8s_3F51rZ_002.png 1616w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/99b4e759a0d60656cf2ed26ebf8de177/5ece7/k8s_3F51rZ_002.png&quot;
            alt=&quot;k8s_3F51rZ_002.png&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h2&gt;
&lt;p&gt;Kubernetesへのワーカーノード追加ができました。&lt;/p&gt;
&lt;p&gt;コンテナーよくわからんので、Infrastructure as Codeと一緒に勉強していければ良いと思っています。&lt;/p&gt;
&lt;p&gt;まず、各コマンドの理解から入って、実際に自分で作成したコンテナーをKubernetesで動かしたいので進展あればまたブログに書きます。&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk6 { color: #D7BA7D; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AIDEをインストールおよび改ざんチェックしてみた]]></title><description><![CDATA[目次 AIDEをインストールおよび改ざんチェックしてみた 概要 AIDEのインストール 設定ファイルのバックアップ 設定ファイルの編集 データベース生成 設定通り記録されているか確認 動作確認 まとめ AIDEをインストールおよび改ざんチェックしてみた 概要 AIDEというOSS…]]></description><link>https://blog.sharemyknowledge.jp/i-tried-installing-aide/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/i-tried-installing-aide/</guid><pubDate>Thu, 25 Feb 2021 20:57:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#aide&quot;&gt;AIDEをインストールおよび改ざんチェックしてみた&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-7f1b21a5&quot;&gt;概要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#aide-1&quot;&gt;AIDEのインストール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-451eef55&quot;&gt;設定ファイルのバックアップ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-cc2f6853&quot;&gt;設定ファイルの編集&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-968281dd&quot;&gt;データベース生成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-44999aa6&quot;&gt;設定通り記録されているか確認&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-19a4cd7b&quot;&gt;動作確認&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-c7887a92&quot;&gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;aide&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aide&quot; aria-label=&quot;AIDEをインストールおよび改ざんチェックしてみた permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AIDEをインストールおよび改ざんチェックしてみた&lt;/h2&gt;
&lt;h3 id=&quot;h3-7f1b21a5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-7f1b21a5&quot; aria-label=&quot;概要 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;概要&lt;/h3&gt;
&lt;p&gt;AIDEというOSSソフトを使い、インストールおよび改ざんチェックを行ってみたいと思います。&lt;/p&gt;
&lt;p&gt;今回は、チェック部分までやり、次回、チェックスクリプトを作成していきたいと思っています。&lt;/p&gt;
&lt;h3 id=&quot;aide-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aide-1&quot; aria-label=&quot;AIDEのインストール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AIDEのインストール&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;[root@ ~]# yum install aide&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# yum list installed | grep aide&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;aide.x86_64                           0.15.1-13.el7                  @base&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-451eef55&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-451eef55&quot; aria-label=&quot;設定ファイルのバックアップ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定ファイルのバックアップ&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;[root@ aide]# cp -p /etc/aide.conf /etc/aide.conf.org&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@ aide]# cp -p /etc/aide.conf /etc/aide.conf_20210226&lt;/code&gt;&lt;br&gt;
初期データベース生成時に、&lt;code&gt;/etc/aide.conf&lt;/code&gt;で定義されているルールセットのみチェックするので設定ファイルを変更しますのでバックアップしておきます。&lt;/p&gt;
&lt;h3 id=&quot;h3-cc2f6853&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-cc2f6853&quot; aria-label=&quot;設定ファイルの編集 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定ファイルの編集&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;[root@ aide]# vi /etc/aide.conf&lt;/code&gt;
100行目当りにある、「/bin/    CONTENT_EX」から最下行までのルールセットが不要なので削除します。&lt;/p&gt;
&lt;p&gt;削除後、&lt;code&gt;「/boot/   CONTENT_EX」を「/var/www/vhosts/   CONTENT_EX」&lt;/code&gt;へ変更します。&lt;/p&gt;
&lt;p&gt;※「/var/www/vhosts/」は監視したいディレクトリを指定します。&lt;br&gt;
複数ディレクトリを監視したい場合は、&lt;code&gt;「{監視対象ディレクトリ}   {CONTENT_EX等の監視ルール ※本設定ファイル内に記載があります。}」&lt;/code&gt;のルールセットを複製します。&lt;br&gt;
例：「/var/www/vhosts/ CONTENT_EX」&lt;/p&gt;
&lt;p&gt;※ファイル単体を監視する場合は、&lt;code&gt;「{監視対象ファイル}$ {CONTENT_EX等の監視ルール ※本設定ファイル内に記載があります。}」&lt;/code&gt;と定義します。&lt;br&gt;
例：「/etc/my.cnf$ CONTENT_EX」&lt;/p&gt;
&lt;p&gt;※特定ディレクトリや特定ファイルを削除したい場合は、&lt;code&gt;監視パスの先頭に「!」を付けるようにします。&lt;/code&gt;&lt;br&gt;
例：「!/var/www/vhosts/mattermost.whitesweets.pgw.jp/LOG」&lt;/p&gt;
&lt;p&gt;ここままでで、設定ファイルには下記のように設定しました。&lt;br&gt;
※一部分のみ抜粋しています。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Next decide what directories/files you want in the database. Aide&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# uses a first match system. Put file specific instructions before generic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# matches. e.g. Put file matches before directories.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/var/www/vhosts/ CONTENT_EX&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/etc/my.cnf$ CONTENT_EX&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Ignore apache log files&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;!/var/www/vhosts/mattermost.whitesweets.pgw.jp/LOG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;!/var/www/vhosts/.jp/LOG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;!/var/www/vhosts/whitesweets.pgw.jp/LOG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-968281dd&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-968281dd&quot; aria-label=&quot;データベース生成 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;データベース生成&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# aide --init&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;AIDE, version 0.15.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;### AIDE database at /var/lib/aide/aide.db.new.gz initialized.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;初期データベースを生成を行います。&lt;br&gt;
&lt;code&gt;※生成時間は設定した監視対象領域のコンテンツ数によって異なります。&lt;/code&gt;&lt;br&gt;
&lt;code&gt;コンテンツ量が多い場合、上記データベースファイルの肥大化に繋がるので、ディスク空き領域を確認し、生成中等サイズをモニタリングするようにします。&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-44999aa6&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-44999aa6&quot; aria-label=&quot;設定通り記録されているか確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;設定通り記録されているか確認&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ aide]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# grep -v -E &amp;quot;\/etc\/my.cnf|\/var\/www\/vhosts\/&amp;quot; aide.db.new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@begin_db&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# This file was generated by Aide, version 0.15.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Time of generation was 2021-02-26 03:45:56&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@db_spec name lname attr perm inode uid gid lcount sha256 acl xattrs selinux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;先ほど、&lt;code&gt;生成した初期データベースが設定したルールセットのみ&lt;/code&gt;であることが確認できます。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ aide]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# grep -E &amp;quot;\/LOG\/&amp;quot; aide.db.new | wc -l&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;除外設定&lt;/code&gt;をしたLOGディレクトリが除外されていることが確認できます。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ aide]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# head -n 6 aide.db.new;echo -e &amp;quot;\n---\n&amp;quot;;tail -n 3 aide.db.new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@begin_db&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# This file was generated by Aide, version 0.15.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# Time of generation was 2021-02-26 04:12:30&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;@@db_spec name lname attr perm inode uid gid lcount sha256 acl xattrs selinux&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/etc/my.cnf 0 44025514013 100644 5210466 0 0 1 99BtTnIuXei4igc5MG31haE0EWHPej3bdSE1+QFBf4w= POSIX,dXNlcjo6cnctCmdyb3VwOjpyLS0Kb3RoZXI6OnItLQo=,0 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/var/www/vhosts/whitesweets.pgw.jp 0 42951772189 40755 37782900 0 0 4 0 POSIX,dXNlcjo6cnd4Cmdyb3VwOjpyLXgKb3RoZXI6OnIteAo=,0 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/var/www/vhosts/whitesweets.pgw.jp/WWW/wpWebCms3094X/wp-includes/widgets/class-wp-widget-media-video.php 0 44025514013 100755 50368753 48 48 1 4QeN5oYcd+7psGcjRVXhx1hNkrOUZVX1Iza9zUCZcAY= POSIX,dXNlcjo6cnd4Cmdyb3VwOjpyLXgKb3RoZXI6OnIteAo=,0 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/var/www/vhosts/whitesweets.pgw.jp/WWW/wpWebCms3094X/wp-includes/widgets/class-wp-widget-media.php 0 44025514013 100755 50368754 48 48 1 qhDVwus4dDGxp4dUKP4eyfNCEaaI3dJ4JK0R14zrG7I= POSIX,dXNlcjo6cnd4Cmdyb3VwOjpyLXgKb3RoZXI6OnIteAo=,0 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;/var/www/vhosts/whitesweets.pgw.jp/WWW/wpWebCms3094X/wp-includes/widgets/class-wp-widget-custom-html.php 0 44025514013 100755 50368755 48 48 1 eLD9P+JtCgHyZXuBo/ORBzhi1CLE4AcvFO9C6Mw6St0= POSIX,dXNlcjo6cnd4Cmdyb3VwOjpyLXgKb3RoZXI6OnIteAo=,0 0 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;データベースの中身（おまけ）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[root@ ~]# cp -p /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz&lt;/code&gt;&lt;br&gt;
生成したデータベースを使用できるように、&lt;code&gt;「.new.」部分を削除した形でコピーします。&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-19a4cd7b&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-19a4cd7b&quot; aria-label=&quot;動作確認 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;動作確認&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# aide --check&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;AIDE 0.15.1 found differences between database and filesystem!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Start timestamp: 2021-02-26 04:41:32&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Summary:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Total number of files:        24744&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Added files:                  2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Removed files:                0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Changed files:                0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;---------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Added files:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;---------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;added: /var/www/vhosts/.jp/WWW/wp-content/uploads/wpcf7_captcha/1692799095.png&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;added: /var/www/vhosts/.jp/WWW/wp-content/uploads/wpcf7_captcha/1692799095.bash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;チェックを実施した結果、ファイルが追加されていることが分かりますね。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;7&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# aide --update&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;AIDE 0.15.1 found differences between database and filesystem!!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Start timestamp: 2021-02-26 04:46:45&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Summary:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Total number of files:        24744&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Added files:                  2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Removed files:                0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  Changed files:                0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;---------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;Added files:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;---------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;added: /var/www/vhosts/.jp/WWW/wp-content/uploads/wpcf7_captcha/1692799095.png&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;added: /var/www/vhosts/.jp/WWW/wp-content/uploads/wpcf7_captcha/1692799095.bash&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;「aide --check」&lt;/code&gt;ではデータベースが更新されないので&lt;code&gt;「aide --update」&lt;/code&gt;を実行し&lt;code&gt;「/var/lib/aide/aide.db.new.gz」&lt;/code&gt;を&lt;code&gt;「/var/lib/aide/aide.db.gz」&lt;/code&gt;へコピーするようにします。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;8&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# cp -p  /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;cp: &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;`/var/lib/aide/aide.db.gz&amp;#39; を上書きしますか? y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;9&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;[root@ ~]&lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# aide --update&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;AIDE, version 0.15.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;### All files match AIDE database. Looks okay!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;### New AIDE database written to /var/lib/aide/aide.db.new.gz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;再度、実行すると全部マッチし差違がなかったことを確認できます。&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;h3-c7887a92&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-c7887a92&quot; aria-label=&quot;まとめ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;まとめ&lt;/h3&gt;
&lt;p&gt;設定ファイルの編集に少し迷いましたが、なれれば簡単ですね。&lt;/p&gt;
&lt;p&gt;次回は、チェックスクリプトを作成していたいと思っています。&lt;/p&gt;
&lt;p&gt;参考にしたサイト：&lt;a href=&quot;https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/security_guide/sec-using-aide&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/security_guide/sec-using-aide&lt;/a&gt;&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AWSにおけるInfrastructure as Codeの考え方]]></title><description><![CDATA[目次 IaCのイメージ 参考文献 IaCのイメージ IaC（Infrastructure as Code）のイメージとして下記に示します。 サービス名 特徴 影響範囲 AWS CloudFormation AWSリソース（VPC・EC2・RDS・Lamda…]]></description><link>https://blog.sharemyknowledge.jp/the-concept-of-aws-iac/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/the-concept-of-aws-iac/</guid><pubDate>Wed, 27 Jan 2021 04:28:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#iac&quot;&gt;IaCのイメージ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-fb507f2c&quot;&gt;参考文献&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;iac&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#iac&quot; aria-label=&quot;IaCのイメージ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;IaCのイメージ&lt;/h2&gt;
&lt;p&gt;IaC（Infrastructure as Code）のイメージとして下記に示します。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;サービス名&lt;/th&gt;
&lt;th&gt;特徴&lt;/th&gt;
&lt;th&gt;影響範囲&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS CloudFormation&lt;/td&gt;
&lt;td&gt;AWSリソース（VPC・EC2・RDS・Lamda等）のインフラ基盤をコード形式で管理するサービス&lt;/td&gt;
&lt;td&gt;Global/Mutable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terraform&lt;/td&gt;
&lt;td&gt;HashiCorp社より提供されているオープンソースのインフラ基盤を宣言型コードで管理できるツールでaws・azure・gcp等の各種クラウドに対応している。&lt;/td&gt;
&lt;td&gt;Global/Mutable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AWS OpsWorks&lt;/td&gt;
&lt;td&gt;サーバの内部設定（ミドルウェア等のデプロイ自動化）管理をコード形式で管理するサービス。&lt;br&gt; &lt;strong&gt;CloudFormationよりも上のレイヤーになる。&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Local/Mutable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ansible&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Local/Mutable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kubernetes&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Local/Immutable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Local/Immutable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;※その他に「AWS Systems Manager（OSのパッチ適用やWindows、LinuxといたOS設定の自動化）」やAWS Config（フルマネージド型の構成履歴や構成変更通知機能を備えた監査サービス）&lt;/strong&gt; が存在しますがここでは扱わないものとします。&lt;/p&gt;
&lt;p&gt;aws iac 冪等性 純粋性 再現性&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AWSにおけるサーバレスの定義は「お客様からみてサーバの存在を意識しない環境」のことをいう。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-fb507f2c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-fb507f2c&quot; aria-label=&quot;参考文献 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;参考文献&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://ccvanishing.hateblo.jp/entry/2020/07/30/173935&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;【#CODT2020 解説】Infrastructure as Code の静的テスト戦略&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=vBGWUN8s6cE&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;C-1-5 Infrastructure as Code の静的テスト戦略&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://qiita.com/suzuki-navi/items/60c046c95c217487e4f4&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;AWS CloudFormationをちょっとだけ理解した&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLa7KKuU8Ysnv3cJJUMCeG8fECnhGYRvBo&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;インフラ技術を網羅的に学ぶ Infra Study Meetup シリーズ&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.oreilly.com/search/?query=Infrastructure%20as%20Code&amp;#x26;extended_publisher_data=true&amp;#x26;highlight=true&amp;#x26;include_assessments=false&amp;#x26;include_case_studies=true&amp;#x26;include_courses=true&amp;#x26;include_playlists=true&amp;#x26;include_collections=true&amp;#x26;include_notebooks=true&amp;#x26;is_academic_institution_account=false&amp;#x26;source=user&amp;#x26;sort=relevance&amp;#x26;facet_json=true&amp;#x26;page=0&amp;#x26;include_facets=false&amp;#x26;include_scenarios=true&amp;#x26;include_sandboxes=true&amp;#x26;json_facets=true&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;search results for “Infrastructure as Code”&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@shogomuranushi/infrastructure-as-code%E3%81%AB%E7%96%B2%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%A7-%E5%83%95%E3%81%9F%E3%81%A1%E3%81%8C%E6%9C%AC%E6%9D%A5%E3%82%84%E3%82%8A%E3%81%9F%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E6%95%B4%E7%90%86%E3%81%99%E3%82%8B-%E3%82%92%EF%BC%91%E5%B9%B4%E6%8E%9B%E3%81%91%E3%81%A6%E6%95%B4%E7%90%86%E3%81%97%E3%81%9F-ad435d953471&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;「Infrastructure as Codeに疲れたので、僕たちが本来やりたかったことを整理する」を１年掛けて整理した&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[RPA勉強会 SPECIAL EDITION ～AI-OCRを学ぼう～ 議事録]]></title><description><![CDATA[目次 取り巻くトレンド AI-OCRメーカーセミナー1：クラウドじゃなくてもAI-OCRは使えます AI-OCRメーカーセミナー2：請求書OCRをあきらめない！電子帳簿保存もまとめて解決 LT1準定型x手書き帳票をRPAに組み込んで処理できる件 T2 LINEのレシートOCR…]]></description><link>https://blog.sharemyknowledge.jp/RPA-Study-Group-Special-Edition---Let&apos;s-Learn-AI-OCR/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/RPA-Study-Group-Special-Edition---Let&apos;s-Learn-AI-OCR/</guid><pubDate>Mon, 07 Dec 2020 12:15:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-efb44bad&quot;&gt;取り巻くトレンド&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ai-ocr1ai-ocr&quot;&gt;AI-OCRメーカーセミナー1：クラウドじゃなくてもAI-OCRは使えます&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#ai-ocr2ocr&quot;&gt;AI-OCRメーカーセミナー2：請求書OCRをあきらめない！電子帳簿保存もまとめて解決&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#lt1xrpa&quot;&gt;LT1準定型x手書き帳票をRPAに組み込んで処理できる件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#t2-lineocrrpa&quot;&gt;T2 LINEのレシートOCRとRPA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#lt3-axroboyuanai-ocr&quot;&gt;LT3 Axrobo（アクロボ）×ジジラで元気にAI-OCR！&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h1 id=&quot;ai-ocr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-ocr&quot; aria-label=&quot;AI-OCR permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AI-OCR&lt;/h1&gt;
&lt;h2 id=&quot;h2-efb44bad&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-efb44bad&quot; aria-label=&quot;取り巻くトレンド permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;取り巻くトレンド&lt;/h2&gt;
&lt;p&gt;多くの企業でAI-OCRの導入が進んでいる。&lt;br&gt;
↑&lt;br&gt;
OCR業界をこれから牽引していく技術。&lt;/p&gt;
&lt;p&gt;チャットボットやAI対話等の定型化しやすいものはRPA化をしやすく導入が進んでいる。&lt;br&gt;
OCR市場は成長市場で、コロナ下においても影響を受けていない。&lt;br&gt;
↑&lt;br&gt;
寧ろ、活発になってきている。&lt;/p&gt;
&lt;p&gt;文字検出・認識+分類 = OCR技術&lt;br&gt;
オンプレミスの事例が増えてきている。&lt;br&gt;
オンプレミス自体、秘匿性が高い物なので、オンライン上に事例が上がりにくい。&lt;/p&gt;
&lt;p&gt;eKYCの技術でOCRが使われている。&lt;/p&gt;
&lt;h2 id=&quot;ai-ocr1ai-ocr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-ocr1ai-ocr&quot; aria-label=&quot;AI-OCRメーカーセミナー1：クラウドじゃなくてもAI-OCRは使えます permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AI-OCRメーカーセミナー1：クラウドじゃなくてもAI-OCRは使えます&lt;/h2&gt;
&lt;p&gt;アライズイノベーション様&lt;/p&gt;
&lt;p&gt;オンプレミスのAI-OCR：AIRead&lt;br&gt;
↑&lt;br&gt;
帳票データの処理等に使用される。&lt;/p&gt;
&lt;p&gt;オンプレミスのAI-OCRデメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;文字学習を自分たちで作成しないとならないため学習コストが高い。&lt;/li&gt;
&lt;li&gt;サーバのスペックよって実行時間が異なってくる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;文字学習の際に個別に学習モデルを作成しようとすると、すごく時間が掛かり学習コスト&lt;br&gt;
に関しても高くなってくる。&lt;/p&gt;
&lt;p&gt;英語や英数字等は誤読しやすい傾向にある。&lt;/p&gt;
&lt;p&gt;WinActor等の他RPAシステム等の連携ができる。&lt;/p&gt;
&lt;h2 id=&quot;ai-ocr2ocr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ai-ocr2ocr&quot; aria-label=&quot;AI-OCRメーカーセミナー2：請求書OCRをあきらめない！電子帳簿保存もまとめて解決 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AI-OCRメーカーセミナー2：請求書OCRをあきらめない！電子帳簿保存もまとめて解決&lt;/h2&gt;
&lt;p&gt;オートメーションラボ様&lt;/p&gt;
&lt;p&gt;紹介製品：sweeep&lt;br&gt;
↑&lt;br&gt;
請求書特化型OCR
クラウド型で月額3万円 ～ 利用可能。&lt;/p&gt;
&lt;p&gt;OCRとは&lt;br&gt;
業務効率化の手段&lt;br&gt;
「見る」を自動化する。&lt;/p&gt;
&lt;p&gt;atena等への連携も可能になっている。&lt;br&gt;
slackへの通知も可能。&lt;/p&gt;
&lt;p&gt;263枚中7枚修正必要で読取り率97%になっており高精度。&lt;/p&gt;
&lt;h2 id=&quot;lt1xrpa&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lt1xrpa&quot; aria-label=&quot;LT1準定型x手書き帳票をRPAに組み込んで処理できる件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;LT1準定型x手書き帳票をRPAに組み込んで処理できる件&lt;/h2&gt;
&lt;p&gt;オートメーションエニウェア様
↑&lt;br&gt;
RPAのベンダー&lt;/p&gt;
&lt;p&gt;botのことをデジタルワーカーと呼んでいる。&lt;br&gt;
OCRの役割も担っている。&lt;/p&gt;
&lt;p&gt;Automation Anywhere&lt;/p&gt;
&lt;p&gt;IQ Bot×Tegaki&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;手書きをふくむ準定型業務を自動化できる。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;t2-lineocrrpa&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#t2-lineocrrpa&quot; aria-label=&quot;T2 LINEのレシートOCRとRPA permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;T2 LINEのレシートOCRとRPA&lt;/h2&gt;
&lt;p&gt;エンザントライズ様&lt;/p&gt;
&lt;p&gt;LINEのOCRとRPA&lt;/p&gt;
&lt;p&gt;CLOVA OCR&lt;br&gt;
↓&lt;br&gt;
Excelへのエクスポートが可能。→RPAの連携ができる。（インドのRPA）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;正確な読取り&lt;/li&gt;
&lt;li&gt;APIなのでアプリ組込も可能&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;lt3-axroboyuanai-ocr&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#lt3-axroboyuanai-ocr&quot; aria-label=&quot;LT3 Axrobo（アクロボ）×ジジラで元気にAI-OCR！ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;LT3 Axrobo（アクロボ）×ジジラで元気にAI-OCR！&lt;/h2&gt;
&lt;p&gt;アクロスロード様&lt;/p&gt;
&lt;p&gt;AI-OCR：Jijilla&lt;br&gt;
RPA：アシロボ&lt;br&gt;
これらを連携してアクロボに流し込む形。&lt;/p&gt;
&lt;p&gt;AI-OCRジジラ&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;手書きも活字も自動化できる。&lt;/li&gt;
&lt;li&gt;ERPやSFA（営業支援システム）はの一気通貫で自動化できる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;アシロボの方で読み込んでジジラの方で処理する流れになる。&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS SAA ポエム 2020年11月28日(土)]]></title><description><![CDATA[目次 問題・回答 問題・回答 Q1:S3を使用した共有サイトに、会員以外の人がファイルのダウンロードする行為を防ぐにはどのようにすれば良いか。 A:有効期限付きの著名付きURLを使用し、S3の一般公開用のアクセス権を削除する。 Q…]]></description><link>https://blog.sharemyknowledge.jp/aws-saa-poem-20201128/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-saa-poem-20201128/</guid><pubDate>Sat, 28 Nov 2020 09:25:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c7c04f22&quot;&gt;問題・回答&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-c7c04f22&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c7c04f22&quot; aria-label=&quot;問題・回答 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;問題・回答&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Q1:S3を使用した共有サイトに、会員以外の人がファイルのダウンロードする行為を防ぐにはどのようにすれば良いか。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A:有効期限付きの著名付きURLを使用し、S3の一般公開用のアクセス権を削除する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q2:以下の要件を満たす事が出来るサービスは何か。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;業務データを頻繁に登録・更新・削除することに耐えられるデータベース&lt;/li&gt;
&lt;li&gt;複数のテーブルを結合してデータ取得することができる&lt;/li&gt;
&lt;li&gt;データベースのストレージを自動スケーリングすることができる&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;A:Amazon Aurora&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Auroraはマネージド型のRDBをサポートしているデータベースの一つで &lt;strong&gt;頻繁にデータの更新削除がおこなわれるデータベースに向いて&lt;/strong&gt; おり &lt;strong&gt;SQLを発行して複数のテーブルを結合し、結合されたテーブルから対象のデータを取得することが出来る。&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;　　&lt;br&gt;
また、Auroraは、フルマネージド型のデータベースサービスなので &lt;strong&gt;データ量に応じて自動スケーリング&lt;/strong&gt; する機能を備えている。&lt;/p&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;**DynamoDBは一般的なRDBのようにSQLを利用したデータの取り出しには対応していない。**  &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;https://stackoverrun.com/ja/q/10132760  &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&amp;gt; **DynamoDBはリレーショナルデータベースとして設計されておらず、結合操作をサポートしていません。**&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[zabbix ユーザパラメータ監視設定メモ]]></title><description><![CDATA[目次 リンク リンク Zabbix Official Repository ↳zabbix-releaseを使用する。 ホスト監視追加手順, 関連度合い強 監視追加仕様 アイテムの作成 ZabbixにQmail…]]></description><link>https://blog.sharemyknowledge.jp/zabbix-user-parameter/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/zabbix-user-parameter/</guid><pubDate>Mon, 09 Nov 2020 04:30:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-12ecd8b9&quot;&gt;リンク&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-12ecd8b9&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-12ecd8b9&quot; aria-label=&quot;リンク permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;リンク&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://repo.zabbix.com/zabbix/5.0/rhel/6/x86_64/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;Zabbix Official Repository&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;↳zabbix-releaseを使用する。&lt;/strong&gt;&lt;br&gt;
&lt;a href=&quot;https://knowledge.sakura.ad.jp/13655/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ホスト監視追加手順&lt;/a&gt;, &lt;a href=&quot;https://colabmix.co.jp/tech-blog/install-zabbix-agent-centos6/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;関連度合い強&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://www.zabbix.com/documentation/2.2/jp/manual/config/items/item&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;監視追加仕様 アイテムの作成&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://sersha.net/ja/centos6/zabbix-qmail-mailqueue-setup&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ZabbixにQmailのメールキューの監視を設定&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://networkengineer.it-study.info/zabbix/zabbix-get-sender.html#text2&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;監視設定確認&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://www.zabbix.com/documentation/2.0/jp/manual/config/visualisation/graphs/custom&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;カスタムグラフ設定&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://www.atmarkit.co.jp/ait/articles/1003/03/news146.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;ユーザパラメータ設定&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://www.zabbix.com/documentation/2.2/jp/manual/config/notifications/action/operation/remote_command&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リモートコマンド&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;↳リモートコマンドにより、監視しているホストで、ある条件を満たした時、あらかじめ設定したコマンドを自動的に実行されます。&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;↳アプリケーション（Webサーバ、ミドルウェア、CRM）が応答しない場合に自動的に再起動する。等&lt;/strong&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[rmコマンドを使用した時の配列動作の挙動]]></title><description><![CDATA[目次 目的 ゴール 前提条件 ソースコード 挙動 目的 シェルスクリプト（bash）で、rmコマンドで配列の中身（ファイル）を削除後、echo…]]></description><link>https://blog.sharemyknowledge.jp/array-behavior-when-using-the-rm-command/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/array-behavior-when-using-the-rm-command/</guid><pubDate>Thu, 08 Oct 2020 11:55:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-d994d598&quot;&gt;目的&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-1b5dba2f&quot;&gt;ゴール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-b0ff454a&quot;&gt;前提条件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-91d805dd&quot;&gt;ソースコード&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-c5fb381d&quot;&gt;挙動&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-d994d598&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-d994d598&quot; aria-label=&quot;目的 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;目的&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;シェルスクリプト（bash）で、rmコマンドで配列の中身（ファイル）を削除後、echoコマンド等で削除した配列の中身を出力した場合の動作について理解する。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;h2-1b5dba2f&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-1b5dba2f&quot; aria-label=&quot;ゴール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ゴール&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;どのような場合に、配列の中身（ファイル）を削除した時の動作が理解できるようになる。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;h2-b0ff454a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-b0ff454a&quot; aria-label=&quot;前提条件 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;前提条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;配列についての知識を有していること。&lt;/li&gt;
&lt;li&gt;シェルスクリプトの独特な表現を理解している方。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;h2-91d805dd&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-91d805dd&quot; aria-label=&quot;ソースコード permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ソースコード&lt;/h2&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;bash&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;findDelLogList=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;mapfile -t findDelLogList &amp;lt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;lt;(find &amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$scriptDir&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot; -name &amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$findDelLogName&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;*&amp;quot;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;declare -a findDelLogList=&amp;#39;([0]=&amp;quot;/var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_20_13_25&amp;quot;)&amp;#39;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;((i &lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;; i &lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;findDelLogList[@]}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;; i&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;do&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;declare -a findDelLogList=&amp;#39;([0]=&amp;quot;/var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_20_13_25&amp;quot;)&amp;#39;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    tmp=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;${findDelLogList[i]}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;declare -a findDelLogList=&amp;#39;([0]=&amp;quot;/var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_20_13_25&amp;quot;)&amp;#39;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; rm -f &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;${findDelLogList[i]}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;/var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_20_13_25&amp;#39;（変数tmp)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;/var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log&amp;#39;（変数cronStdOutLogFilePath)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;古いログファイル：「 &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$tmp&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; 」の削除を実施しました。&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$cronStdOutLogFilePath&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        isFindDelLogList=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;古いログファイル：「 &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$tmp&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt; 」の削除に失敗しました。&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$cronStdOutLogFilePath&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        isFindDelLogList=&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk3&quot;&gt;# &amp;#39;0&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; [ &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$isFindDelLogList&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; -eq &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ]; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;古いログファイル：$(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;${findDelLogList[i]}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;)の削除を実施しました。&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$cronStdOutLogFilePath&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;elif&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; [ &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$isFindDelLogList&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; -eq &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;-1&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ]; &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;古いログファイル：$(&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;${findDelLogList[i]}&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;)の削除に失敗しました。&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;$cronStdOutLogFilePath&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; 2&amp;gt;&amp;amp;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;done&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;h2-c5fb381d&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-c5fb381d&quot; aria-label=&quot;挙動 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;挙動&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;bash-4.2$ cat /var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;上記コマンド出力結果 ↓↓↓↓&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;古いログファイル：「 /var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_17_27_25 」の削除を実施しました。&lt;/li&gt;
&lt;li&gt;古いログファイル：の削除を実施しました。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;削除前の削除ファイル配列変数を事前に変数tmpへ待避していない場合、後者のisFindDelLogList変数で判定している条件分岐内でfindDelLogList変数の中身が出力されなくなっています。&lt;/p&gt;
&lt;p&gt;下記、デバッグコンソールの出力結果からもわかるように、待避していない場合、rmコマンドですでにファイルを削除してしまっているので &lt;strong&gt;そのようなファイルやディレクトリはありません&lt;/strong&gt; となっているため、出力されず空白のままになってしまっています。&lt;/p&gt;
&lt;p&gt;シェルスクリプト（bash）で変数の中身からファイルを削除しその後、削除結果を変数から参照する場合は、事前に削除前の変数中身を待避させ、待避させた変数から参照するようにしましょう。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;デバッグコンソール出力結果 ↓↓↓↓&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;/var/www/vhost/dev.test.com/private/shell/swap_os_reboot.sh: 行 60: /var/www/vhost/dev.test.com/.vscode-server/extensions/rogalmic.bash-debug-0.3.9/bashdb_dir/swap_os_reboot.log_20201008_17_27_25: そのようなファイルやディレクトリはありません&lt;/code&gt;&lt;/p&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item><item><title><![CDATA[AWS SAA ポエム 2020年10月05日(月)]]></title><description><![CDATA[目次 AWS S3パフォーマンス最適化 AWS S3パフォーマンス最適化  https://qiita.com/iron-breaker/items/f35c1d54887c434a321a]]></description><link>https://blog.sharemyknowledge.jp/aws-saa-poem-20201005/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-saa-poem-20201005/</guid><pubDate>Sun, 04 Oct 2020 22:40:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#aws-s3&quot;&gt;AWS S3パフォーマンス最適化&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;aws-s3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-s3&quot; aria-label=&quot;AWS S3パフォーマンス最適化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWS S3パフォーマンス最適化&lt;/h2&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 601px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/19abc1cb43287edb11f84f6f7267bb65/31d03/aws_saa_s3_poem_vV0GKsx3.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 158.33333333333334%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/19abc1cb43287edb11f84f6f7267bb65/2a380/aws_saa_s3_poem_vV0GKsx3.avif 300w,
/static/19abc1cb43287edb11f84f6f7267bb65/ebc7a/aws_saa_s3_poem_vV0GKsx3.avif 600w,
/static/19abc1cb43287edb11f84f6f7267bb65/f84e4/aws_saa_s3_poem_vV0GKsx3.avif 601w&quot;
              sizes=&quot;(max-width: 601px) 100vw, 601px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/19abc1cb43287edb11f84f6f7267bb65/cb58d/aws_saa_s3_poem_vV0GKsx3.webp 300w,
/static/19abc1cb43287edb11f84f6f7267bb65/f8b1b/aws_saa_s3_poem_vV0GKsx3.webp 600w,
/static/19abc1cb43287edb11f84f6f7267bb65/84ffc/aws_saa_s3_poem_vV0GKsx3.webp 601w&quot;
              sizes=&quot;(max-width: 601px) 100vw, 601px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/19abc1cb43287edb11f84f6f7267bb65/f2d49/aws_saa_s3_poem_vV0GKsx3.png 300w,
/static/19abc1cb43287edb11f84f6f7267bb65/ff59c/aws_saa_s3_poem_vV0GKsx3.png 600w,
/static/19abc1cb43287edb11f84f6f7267bb65/31d03/aws_saa_s3_poem_vV0GKsx3.png 601w&quot;
            sizes=&quot;(max-width: 601px) 100vw, 601px&quot;
            type=&quot;image/png&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/19abc1cb43287edb11f84f6f7267bb65/31d03/aws_saa_s3_poem_vV0GKsx3.png&quot;
            alt=&quot;aws saa s3 poem vV0GKsx3&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://qiita.com/iron-breaker/items/f35c1d54887c434a321a&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://qiita.com/iron-breaker/items/f35c1d54887c434a321a&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content:encoded></item><item><title><![CDATA[AWS SAA 試験準備ワークショップ３]]></title><description><![CDATA[目次 AWSリソースへのセキュアなアクセスの設計 Amazon VPC（Amazon Virtual Private Cloud） サブネット セキュリティグループ Amazon VPC接続 セキュアなアプリケーション階層の設計 責任共有モデル IAM（AWS Identity…]]></description><link>https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-3/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-3/</guid><pubDate>Tue, 29 Sep 2020 07:30:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#aws&quot;&gt;AWSリソースへのセキュアなアクセスの設計&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-vpcamazon-virtual-private-cloud&quot;&gt;Amazon VPC（Amazon Virtual Private Cloud）&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h4-23308a35&quot;&gt;サブネット&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h4-4f93a6f0&quot;&gt;セキュリティグループ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-vpc&quot;&gt;Amazon VPC接続&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-f02797b5&quot;&gt;セキュアなアプリケーション階層の設計&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-5812ff77&quot;&gt;責任共有モデル&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#iamaws-identity-and-access-management&quot;&gt;IAM（AWS Identity and Access Management）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-52e5703a&quot;&gt;適切なデータセキュリティオプションの選択&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-ea5f52cc&quot;&gt;転送中のデータ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-7652c844&quot;&gt;保管中のデータ&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h4-76f50e43&quot;&gt;データの暗号化&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-fb507f2c&quot;&gt;参考文献&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;aws&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws&quot; aria-label=&quot;AWSリソースへのセキュアなアクセスの設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWSリソースへのセキュアなアクセスの設計&lt;/h2&gt;
&lt;h3 id=&quot;amazon-vpcamazon-virtual-private-cloud&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-vpcamazon-virtual-private-cloud&quot; aria-label=&quot;Amazon VPC（Amazon Virtual Private Cloud） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon VPC（Amazon Virtual Private Cloud）&lt;/h3&gt;
&lt;p&gt;セキュアな外からはアクセスできなよ。といった空間を作ることができるサービスとなっている。&lt;/p&gt;
&lt;p&gt;完全にアクセスできないのは利便性が低いので、 &lt;strong&gt;色々なコンポーネント&lt;/strong&gt; を追加することにより &lt;strong&gt;きめ細やかなネットワーク&lt;/strong&gt; を構築することができる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;EC2やRDSとはすべてこの中で動くようになっている。&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&quot;h4-23308a35&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-23308a35&quot; aria-label=&quot;サブネット permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;サブネット&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;パブリックサブネット&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Elastic Network Interfaceに関連付け&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ルール許可のみをサポート&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ステートフル&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;NICなので当たっているEC2インスタンスサーバ単位でパケットの制御をすることができる。&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;パブリックインターネットへの直接アクセスをサポートし、インターネットゲートウェイへのルーティングテーブルエントリで指定する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;プライベートサブネット&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;サブネットに関連付け&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ルールの許可と拒否をサポート&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ステートレス&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;サブネット単位なので、サブネットに入っているインスタンス等はすべて影響を受ける。&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;code&gt;サブネット単位で一括にどこどこのポートを落としてしまうなんていう制御をおこなうことができる。&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;インターネットゲートウェイへのルーティングテーブルエントリがなく、NAT経由でパブリックインターネットに間接的にアクセスする。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;用語のようなものだと思って押さえておくとよい、試験でもこのような感じで出てくる。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;パブリックサブネットやプライベートサブネットで当たっている対象に違いがあることを認識しておく。&lt;/p&gt;
&lt;h4 id=&quot;h4-4f93a6f0&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-4f93a6f0&quot; aria-label=&quot;セキュリティグループ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;セキュリティグループ&lt;/h4&gt;
&lt;p&gt;アプリケーション層のセキュリティグループ、データ層のセキュリティグループといった具合で層によって、アクセスの振る舞いを変更したいときなどに用いるものである。&lt;br&gt;
&lt;strong&gt;トラフィックの制御をおこなうことができる。&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&quot;amazon-vpc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-vpc&quot; aria-label=&quot;Amazon VPC接続 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon VPC接続&lt;/h4&gt;
&lt;p&gt;Amazon VPCでトラフィックをやり取りするサービスとして、 &lt;strong&gt;AWS Direct Connect&lt;/strong&gt; や &lt;strong&gt;VPCピアリング接続&lt;/strong&gt; といった方法なども存在するので試験の前に一度確認する必要がある。&lt;/p&gt;
&lt;h2 id=&quot;h2-f02797b5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-f02797b5&quot; aria-label=&quot;セキュアなアプリケーション階層の設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;セキュアなアプリケーション階層の設計&lt;/h2&gt;
&lt;h3 id=&quot;h3-5812ff77&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-5812ff77&quot; aria-label=&quot;責任共有モデル permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;責任共有モデル&lt;/h3&gt;
&lt;p&gt;AWSは &lt;strong&gt;クラウドの&lt;/strong&gt; セキュリティに責任を持ち、お客様は &lt;strong&gt;クラウド内の&lt;/strong&gt; セキュリティに責任をもつ。&lt;/p&gt;
&lt;p&gt;AWSの基盤サービスやAWSグローバルインフラストラクチャといったお客様側で触れない部分は &lt;strong&gt;AWS側&lt;/strong&gt; が責任を持つ形となっている。&lt;/p&gt;
&lt;p&gt;基盤側より上のレイヤー、EC2インスタンスの中には、AWS側はアクセスできなので &lt;strong&gt;お客様側&lt;/strong&gt; で責任をもって管理する必要がある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;マネージドサービス&lt;/strong&gt; になってくればくるほど、 &lt;strong&gt;AWS側で&lt;/strong&gt; 責任を持つ範囲が広くなる。&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;markdown-hover-zoom&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-haspopup=&quot;dialog&quot; aria-label=&quot;画像をホバー/タップすると拡大表示されます&quot; data-hover-zoom=&quot;true&quot; data-zoom-scale=&quot;1.12&quot; data-mobile-zoom-scale=&quot;1.05&quot; style=&quot;--hover-zoom-scale: 1.12; --hover-zoom-scale-mobile: 1.05;&quot;&gt;&lt;span class=&quot;markdown-hover-zoom__media&quot;&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1200px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/47f698db713f91fc9b08c4eac6c8a5d7/6e0e4/aws-saa-exam-preparation-workshop-3_01.jpg&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 55.00000000000001%; position: relative; bottom: 0; left: 0; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;picture&gt;
          &lt;source
              srcset=&quot;/static/47f698db713f91fc9b08c4eac6c8a5d7/2a380/aws-saa-exam-preparation-workshop-3_01.avif 300w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/ebc7a/aws-saa-exam-preparation-workshop-3_01.avif 600w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/3c22d/aws-saa-exam-preparation-workshop-3_01.avif 1200w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/c7877/aws-saa-exam-preparation-workshop-3_01.avif 1466w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/avif&quot;
            /&gt;&lt;source
              srcset=&quot;/static/47f698db713f91fc9b08c4eac6c8a5d7/cb58d/aws-saa-exam-preparation-workshop-3_01.webp 300w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/f8b1b/aws-saa-exam-preparation-workshop-3_01.webp 600w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/5bb53/aws-saa-exam-preparation-workshop-3_01.webp 1200w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/aa5f1/aws-saa-exam-preparation-workshop-3_01.webp 1466w&quot;
              sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
              type=&quot;image/webp&quot;
            /&gt;
          &lt;source
            srcset=&quot;/static/47f698db713f91fc9b08c4eac6c8a5d7/37e03/aws-saa-exam-preparation-workshop-3_01.jpg 300w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/2a8be/aws-saa-exam-preparation-workshop-3_01.jpg 600w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/5a523/aws-saa-exam-preparation-workshop-3_01.jpg 1200w,
/static/47f698db713f91fc9b08c4eac6c8a5d7/6e0e4/aws-saa-exam-preparation-workshop-3_01.jpg 1466w&quot;
            sizes=&quot;(max-width: 1200px) 100vw, 1200px&quot;
            type=&quot;image/jpeg&quot;
          /&gt;
          &lt;img
            class=&quot;gatsby-resp-image-image&quot;
            src=&quot;/static/47f698db713f91fc9b08c4eac6c8a5d7/5a523/aws-saa-exam-preparation-workshop-3_01.jpg&quot;
            alt=&quot;aws saa exam preparation workshop 3 01&quot;
            title=&quot;&quot;
            loading=&quot;lazy&quot;
            decoding=&quot;async&quot;
            style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
          /&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__indicator&quot; aria-hidden=&quot;true&quot;&gt;&lt;svg viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;1.8&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; role=&quot;presentation&quot;&gt;
    &lt;circle cx=&quot;11&quot; cy=&quot;11&quot; r=&quot;6&quot;&gt;&lt;/circle&gt;
    &lt;line x1=&quot;16&quot; y1=&quot;16&quot; x2=&quot;21&quot; y2=&quot;21&quot;&gt;&lt;/line&gt;
  &lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;markdown-hover-zoom__sr&quot;&gt;画像をホバー/タップすると拡大表示されます&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AWS責任共有モデル図：&lt;a href=&quot;https://aws.amazon.com/jp/compliance/shared-responsibility-model/&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;https://aws.amazon.com/jp/compliance/shared-responsibility-model/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;iamaws-identity-and-access-management&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#iamaws-identity-and-access-management&quot; aria-label=&quot;IAM（AWS Identity and Access Management） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;IAM（AWS Identity and Access Management）&lt;/h3&gt;
&lt;p&gt;誰がEC2インスタンスを &lt;strong&gt;消してもいい&lt;/strong&gt; 、誰が &lt;strong&gt;S3にバケットへオブジェクトを投入してもいい&lt;/strong&gt; といったアクセス管理を細かく設定することができるサービスとなっている。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;誰彼構わず管理者権限を付与するのではなく必要最小権限を付与するという原則がある。&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IAMは凄く複雑になっているので試験を受ける前に一度、確認しておく必要がある。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-52e5703a&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-52e5703a&quot; aria-label=&quot;適切なデータセキュリティオプションの選択 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;適切なデータセキュリティオプションの選択&lt;/h2&gt;
&lt;h3 id=&quot;h3-ea5f52cc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-ea5f52cc&quot; aria-label=&quot;転送中のデータ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;転送中のデータ&lt;/h3&gt;
&lt;p&gt;AWSに対して、データの転送が発生する場合で、S3とDynamoDB間の通信等は &lt;strong&gt;SSL/TLS&lt;/strong&gt; 接続で暗号化されているので途中の経路で盗聴されることはない。&lt;/p&gt;
&lt;p&gt;VPC上への資産に対して安全にアクセスをしたいという場合には、 &lt;strong&gt;VPNやAmazon DirectConnect&lt;/strong&gt; 等のサービスを使用して接続することもできるので覚えておく必要がある。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AWS APIへのデータ送信&lt;/strong&gt; は、 AWS APIコールでHTTPSを使用し、すべてのAPIコールでSigv4の署名がなされる。&lt;/p&gt;
&lt;h3 id=&quot;h3-7652c844&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-7652c844&quot; aria-label=&quot;保管中のデータ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;保管中のデータ&lt;/h3&gt;
&lt;p&gt;Amazon S3を例に、保存されたデータはデフォルトでプライベートなので、公開はされていないものとなるがユーザ側で細かい設定をして外部に公開することも可能である。&lt;br&gt;
&lt;code&gt;この場合、アクセス管理等についてユーザ側で責任をもって管理をしていく必要がある。&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&quot;h4-76f50e43&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-76f50e43&quot; aria-label=&quot;データの暗号化 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;データの暗号化&lt;/h4&gt;
&lt;p&gt;S3に保管されているデータ自体の暗号化について、 &lt;strong&gt;サーバサイド暗号化&lt;/strong&gt; および &lt;strong&gt;クライアントサイド暗号化&lt;/strong&gt; というものが存在する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;クライアントサイド暗号化&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AWS KMSで管理するカスタマーマスターキー（CSE-KMS）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;クライアント側のマスターキー（CSE-C）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;等が存在する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;自分のPCなどでOpenSSL等のコマンドを用いデータを暗号化しその &lt;strong&gt;暗号化した文字列等&lt;/strong&gt; をS3へ保管するというもので &lt;strong&gt;作成したキー&lt;/strong&gt; 等についてはユーザ側で責任を持って管理をする必要がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;サーバサイド暗号化&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Amazon S3で管理するキー（SSE-S3）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS KMSで管理するキー（SSE-KMS）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;顧客が提供するキー（SSE-C）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;等が存在する。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;h2-fb507f2c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-fb507f2c&quot; aria-label=&quot;参考文献 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;参考文献&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://resources.awscloud.com/aws-summit-online-japan-2020-on-demand-tc-24866/tac-04-aws-summit-online-2020-tcsaa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TAC-3：AWS 認定 - 試験準備ワークショップ 「ソリューションアーキテクト ? アソシエイト」セッション 2&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS SAA 試験準備ワークショップ②]]></title><description><![CDATA[目次 スケーラブルなコンピューティングリソースの識別 垂直スケーリング 水平スケーリング Amazon EC2 Auto Scaling AWS Auto Scaling Amazon CloudWatch モニタリング方式 ELB（Elastic load Blancing…]]></description><link>https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-2/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-2/</guid><pubDate>Mon, 28 Sep 2020 19:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-882375a4&quot;&gt;スケーラブルなコンピューティングリソースの識別&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-5eecc480&quot;&gt;垂直スケーリング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-8a5a399e&quot;&gt;水平スケーリング&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-ec2-auto-scaling&quot;&gt;Amazon EC2 Auto Scaling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#aws-auto-scaling&quot;&gt;AWS Auto Scaling&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-cloudwatch&quot;&gt;Amazon CloudWatch&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h4-6e3243fc&quot;&gt;モニタリング方式&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#elbelastic-load-blancing&quot;&gt;ELB（Elastic load Blancing）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-1e9b36e5&quot;&gt;パフォーマンスとスケーラブルなストレージソリューションの選択&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#ebsamazon-elastic-block-store&quot;&gt;EBS（Amazon Elastic Block Store）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-s3amazon-simple-storage-service&quot;&gt;Amazon S3（Amazon Simple Storage Service）&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#s3&quot;&gt;S3の料金体系&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-da54c544&quot;&gt;パフォーマンスが高いネットワーキングソリューションの選択&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-cloudfront&quot;&gt;Amazon CloudFront&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-2c9da8ad&quot;&gt;パフォーマンスの高いデータベースソリューションの選択&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-rds&quot;&gt;Amazon RDS&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-rds-1&quot;&gt;Amazon RDSリードレプリカ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#dynamodb&quot;&gt;DynamoDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-elasticcache&quot;&gt;Amazon ElasticCache&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-fb507f2c&quot;&gt;参考文献&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-882375a4&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-882375a4&quot; aria-label=&quot;スケーラブルなコンピューティングリソースの識別 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;スケーラブルなコンピューティングリソースの識別&lt;/h2&gt;
&lt;h3 id=&quot;h3-5eecc480&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-5eecc480&quot; aria-label=&quot;垂直スケーリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;垂直スケーリング&lt;/h3&gt;
&lt;p&gt;必要な時にEC2等のコンピューティングリソース（CPUやメモリ等）の上げ下げが可能になっている。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1台のサーバを大きくする、小さくすることを&lt;code&gt;垂直スケーリング&lt;/code&gt;と呼ぶ。&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;利点&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;サーバの能力自体がそのまま垂直に上がる・下がるといったことをする為、中のアーキテクチャがクラウド特有 &lt;strong&gt;（水平スケーリング）&lt;/strong&gt; に対応していない形で書かれていても、純然たるサーバの能力を上げる・下げるだけなので対応することが可能になる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;欠点&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Java等のアプリケーションを実行している場合で、大量のヒープメモリを使用している場合、ガベージコレクションの時間が長くなってしまうなどが挙げられる。&lt;br&gt;
&lt;br&gt;垂直スケーリングをおこなう際には、&lt;strong&gt;EC2インスタンスの再起動&lt;/strong&gt;が必要になってくる。&lt;/p&gt;
&lt;h3 id=&quot;h3-8a5a399e&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-8a5a399e&quot; aria-label=&quot;水平スケーリング permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;水平スケーリング&lt;/h3&gt;
&lt;p&gt;1個のサーバの処理能力を上げる・下げるのではなく&lt;strong&gt;サーバの台数を水平方向にどんどんどんどん増やしていこう、足りなければサーバを増やしていき、過剰であればへらしていく&lt;/strong&gt;ことを&lt;code&gt;水平スケーリング&lt;/code&gt;という。&lt;/p&gt;
&lt;h4 id=&quot;amazon-ec2-auto-scaling&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-ec2-auto-scaling&quot; aria-label=&quot;Amazon EC2 Auto Scaling permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon EC2 Auto Scaling&lt;/h4&gt;
&lt;p&gt;サーバをデブロイする削除するサービス。&lt;br&gt;
CPUが何十%を超えたら自動的にスケーリングする等。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EC2 Auto Scalingグループの管理とスケールのみ必要な場合に使用。&lt;/li&gt;
&lt;li&gt;EC2フリートの正常性維持のみに関係する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AWSでは、特定アプリケーションを実行するために用意されたインスタンス群のことを &lt;strong&gt;フリート&lt;/strong&gt; と呼び、状態を監視することで可用性の維持が期待できる。&lt;/p&gt;
&lt;h4 id=&quot;aws-auto-scaling&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws-auto-scaling&quot; aria-label=&quot;AWS Auto Scaling permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;AWS Auto Scaling&lt;/h4&gt;
&lt;p&gt;こちらは、AWS EC2に限ったスケーリングではなく、EC2のオートスケーリンググループ、ECS、、Aurora、DinamoDB等のサービスと連携して必要なキャパシティの変更が可能。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;複数のサービスにまたがってスケーリングを管理したい場合に使用する。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;amazon-cloudwatch&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-cloudwatch&quot; aria-label=&quot;Amazon CloudWatch permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon CloudWatch&lt;/h3&gt;
&lt;p&gt;いつオートスケーリングをするか否かを管理することができ、AWSリソースのCPU使用率やネットワーク等をモニタリングすることができる。&lt;/p&gt;
&lt;h4 id=&quot;h4-6e3243fc&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h4-6e3243fc&quot; aria-label=&quot;モニタリング方式 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;モニタリング方式&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;デフォルトのモニタリング&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AWS標準のモニタリングを指す。&lt;br&gt;
AWSが標準でデータを収集してくれるものとなる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;カスタムメトリクスによるモニタリング&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ユーザがCloudWatchの大して&lt;strong&gt;何時何分何秒にこのデータのメトリクスがいくつか&lt;/strong&gt;のデータを渡すことによりユーザが定義したカスタムメトリクスを保存することで、CloudWatch上において見ることができる方式を指す。&lt;/p&gt;
&lt;h3 id=&quot;elbelastic-load-blancing&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#elbelastic-load-blancing&quot; aria-label=&quot;ELB（Elastic load Blancing） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ELB（Elastic load Blancing）&lt;/h3&gt;
&lt;p&gt;ELB配下に対して複数のサーバを配置することによりアクセスを分散させることができるので負荷対策に繋がり、これらのサービスを使うことで自動的にスケーリングすることが可能。&lt;/p&gt;
&lt;h2 id=&quot;h2-1e9b36e5&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-1e9b36e5&quot; aria-label=&quot;パフォーマンスとスケーラブルなストレージソリューションの選択 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;パフォーマンスとスケーラブルなストレージソリューションの選択&lt;/h2&gt;
&lt;h3 id=&quot;ebsamazon-elastic-block-store&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#ebsamazon-elastic-block-store&quot; aria-label=&quot;EBS（Amazon Elastic Block Store） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;EBS（Amazon Elastic Block Store）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;汎用SSD（gp2）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;プロビジョンドIOPS SSD（io1）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スループット最適化HDD（st1）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ゴールドHDD（sc1）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ゴールドHDD &gt; スループット最適化HDD &gt; 汎用SSD &gt; プロビジョンドIOPS SSDの順にI/O性能が高くなっている。&lt;br&gt;
&lt;strong&gt;どういった場合にどういったものを選択しておけば良いか押さえておけば良い。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;amazon-s3amazon-simple-storage-service&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-s3amazon-simple-storage-service&quot; aria-label=&quot;Amazon S3（Amazon Simple Storage Service） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon S3（Amazon Simple Storage Service）&lt;/h3&gt;
&lt;p&gt;ただデータを保存するといった用途だけではなく、htmlやjavascript、CSS等のファイルを置いて、WEBサーバとしての機能を持たすことが可能。&lt;br&gt;
&lt;strong&gt;こうした機能をAWS側で、マネージドで管理してくれる。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;S3のキャパシティ等を気にすることなく勝手にS3へアクセスできるよう処理してくれるので非常に高いスケーラビリティを享受することができる。&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;s3に保存される物は物（オブジェクトとして管理）され、KEYとして対応付けられている。&lt;/p&gt;
&lt;p&gt;ユーザ側はKEYに対してアクセスすることで閲覧権限が付加されている場合、参照することができる。&lt;/p&gt;
&lt;h4 id=&quot;s3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#s3&quot; aria-label=&quot;S3の料金体系 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;S3の料金体系&lt;/h4&gt;
&lt;p&gt;中に保管しているデータ量に対して課金量が多くなっている、リクエスト回数やリージョン外への転送なども課金対象になっている。&lt;/p&gt;
&lt;p&gt;S3へのデータ転送やS3から同一リージョンの他のサービスへのテータ転送は無料となっている。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;S3にはストレージクラスというものが存在&lt;/strong&gt; しており、なにもしなかった場合は、&lt;code&gt;S3標準&lt;/code&gt;といったストレージクラスに格納される。&lt;/p&gt;
&lt;p&gt;中に置いている物を適切なストレージクラスに格納することによって、料金を抑えることができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ライフサイクルポリシー&lt;/strong&gt; 、マネージメントコンソール上で、ボタンポチポチで設定することが可能で、&lt;code&gt;中に入れたデータを時間的なポイント&lt;/code&gt;でストレージクラスを移動させることが実現できる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;S3標準（通常アクセス）⇒S3低頻度アクセス（アクセス少）⇒S3 Glacier（まったく見ないアーカイブ用）⇒ゴミ箱&lt;/strong&gt; といった様な&lt;code&gt;ライフサイクルポリシー&lt;/code&gt;を設定することが可能になっている。&lt;/p&gt;
&lt;p&gt;何十日経過したらストレージクラスを移動するといった具合。&lt;/p&gt;
&lt;h2 id=&quot;h2-da54c544&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-da54c544&quot; aria-label=&quot;パフォーマンスが高いネットワーキングソリューションの選択 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;パフォーマンスが高いネットワーキングソリューションの選択&lt;/h2&gt;
&lt;h3 id=&quot;amazon-cloudfront&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-cloudfront&quot; aria-label=&quot;Amazon CloudFront permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon CloudFront&lt;/h3&gt;
&lt;p&gt;コンテンツデリバリーネットワーク（キャッシュ）のサービスになってくる。&lt;/p&gt;
&lt;p&gt;例：エンドユーザが直接S3のコンテンツを参照しデータのやり取りをしている場合、間にCloudFrontを挟むことによって地理的な制約を受けずにスムーズにデータのやり取りをおこなうことができる。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CloudFront&lt;/strong&gt; は世界中にサーバを持っておりデータを &lt;strong&gt;S3&lt;/strong&gt; からあらかじめキャッシュしておくことによりデータを素早く表示できる特性を持ち、データが存在しない場合には、都度 &lt;strong&gt;S3&lt;/strong&gt; を参照する。&lt;/p&gt;
&lt;p&gt;エンドユーザからCloudFrontへのアクセスは自動的にもっとも近い &lt;strong&gt;CloudFrontエッジロケーション&lt;/strong&gt; にアクセスし、 &lt;strong&gt;S3&lt;/strong&gt; へのアクセスは &lt;strong&gt;CloudFront&lt;/strong&gt; のみからのアクセスを担保できるのでエンドユーザへは素早くデータを返すことができる仕組みとなっている。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;適切な部分にデータを適切にキャッシュをするという部分も凄く重要な観点になってくる。&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&quot;h2-2c9da8ad&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-2c9da8ad&quot; aria-label=&quot;パフォーマンスの高いデータベースソリューションの選択 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;パフォーマンスの高いデータベースソリューションの選択&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Amazon Database Service&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Amazon RDS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Amazon DynamoDB&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Amazon Redshift&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;試験的にはこれらのデータベースサービスがよく利用される。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;amazon-rds&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-rds&quot; aria-label=&quot;Amazon RDS permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon RDS&lt;/h3&gt;
&lt;p&gt;一般的な &lt;strong&gt;RDBMS&lt;/strong&gt; として比較されるのが &lt;strong&gt;RDS&lt;/strong&gt; で &lt;strong&gt;複雑なトランザクションや複雑なクエリ&lt;/strong&gt; 、 &lt;strong&gt;高耐久性&lt;/strong&gt; を求める場合に使用する。&lt;/p&gt;
&lt;h4 id=&quot;amazon-rds-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-rds-1&quot; aria-label=&quot;Amazon RDSリードレプリカ permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon RDSリードレプリカ&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;RDS&lt;/strong&gt; 負荷軽減の施策として取られ、DBの負荷が大きくDB側で耐えきれない場合に、DBのコピー &lt;strong&gt;リードレプリカ&lt;/strong&gt; 読込専用のインスタンスを作っておき &lt;strong&gt;読み込み専用のインスタンスに対して読み込みアクセスを振り分け&lt;/strong&gt; ることによってMatserの方に書き込みを制御している方へ、負荷がいかないようにするよという手法を &lt;strong&gt;リードレプリカ&lt;/strong&gt; という。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;書き込みのクエリを処理することはできないが、読み込みのクエリだけには耐えられるよということを担保するためのもの。&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;超高速な読み書き速度&lt;/strong&gt; や &lt;strong&gt;簡単なGET/PUTリクエスト&lt;/strong&gt; の場合は使用しない。&lt;br&gt;
&lt;strong&gt;これらは試験によくでてくるポイントとなる。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;dynamodb&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#dynamodb&quot; aria-label=&quot;DynamoDB permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;DynamoDB&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;プロビジョンドスループット&lt;/strong&gt; となり事前に読み込み書き込みそれぞれにおいて、どれくらいに量を使うよというリソースを事前に割り当てる方式となっている。&lt;/p&gt;
&lt;p&gt;事前に割り当てた量を &lt;strong&gt;キャパシティユニット&lt;/strong&gt; と言い、これを超えてしまうとエラーを返す。&lt;br&gt;
&lt;strong&gt;なので適切な値まで上げてあげるよといったことが必要になってくる。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;amazon-elasticcache&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-elasticcache&quot; aria-label=&quot;Amazon ElasticCache permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon ElasticCache&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Memcached&lt;/strong&gt; や &lt;strong&gt;Redis&lt;/strong&gt; と言ったようにな実際のcacheを管理する為のサービスとなっている。&lt;/p&gt;
&lt;p&gt;DBに対して直接アクセスするのではなく、間に &lt;strong&gt;cache層&lt;/strong&gt; を置き（&lt;strong&gt;ElasticCache&lt;/strong&gt;）等の中にDBのデータをキャッシュさせておきこれらのキャッシュデータにアクセスすることでDBに対するアクセスを下げることが期待できる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Memcached&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;マルチスレッド&lt;/li&gt;
&lt;li&gt;メンテナンスが簡単&lt;/li&gt;
&lt;li&gt;簡単に自動検出機能で水平スケーリングできる。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Redis&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;複数のデータ構造をサポート&lt;/li&gt;
&lt;li&gt;アトミックオペレーション&lt;/li&gt;
&lt;li&gt;Pub/Subメーセージング&lt;/li&gt;
&lt;li&gt;リードレプリカ/フェイルオーバー&lt;/li&gt;
&lt;li&gt;クラスターモード/シャードされたクラスター&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;等の特徴がある。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;試験的には&lt;code&gt;MemcachedやRedis&lt;/code&gt;は暗記するものではなく、どういったものかを把握していればよい。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;h2-fb507f2c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-fb507f2c&quot; aria-label=&quot;参考文献 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;参考文献&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://resources.awscloud.com/aws-summit-online-japan-2020-on-demand-tc-24866/tac-03-aws-summit-online-2020-tcsaa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TAC-3：AWS 認定 - 試験準備ワークショップ 「ソリューションアーキテクト ? アソシエイト」セッション 2&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[AWS SAA 試験準備ワークショップ①]]></title><description><![CDATA[目次 多層アーキテクチャソリューションの設計およびAWSのサービスを使用したデカップリングメカニズムの設計 ELBについて 可用性の高いアーキテクチャやフォールトトレラントなアーキテクチャの設計 適切な回復力あるストレージの選択 Amazon EC…]]></description><link>https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-1/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/aws-saa-exam-preparation-workshop-1/</guid><pubDate>Wed, 16 Sep 2020 09:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#aws&quot;&gt;&lt;code&gt;多層アーキテクチャソリューションの設計&lt;/code&gt;および&lt;code&gt;AWSのサービスを使用したデカップリングメカニズムの設計&lt;/code&gt;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#elb&quot;&gt;ELBについて&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-01733f19&quot;&gt;可用性の高いアーキテクチャやフォールトトレラントなアーキテクチャの設計&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-21c85620&quot;&gt;適切な回復力あるストレージの選択&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-ec2&quot;&gt;Amazon EC2インスタンスストア&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-ebsamazon-elastic-block-store&quot;&gt;Amazon EBS（Amazon Elastic Block Store）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#efsamazon-elastic-file-system&quot;&gt;EFS（Amazon Elastic File System）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-s3amazon-simple-storage-service&quot;&gt;Amazon S3（Amazon Simple Storage Service）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amzaon-s3&quot;&gt;Amzaon S3アクセスコントロール&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#amazon-s3-glacier&quot;&gt;Amazon S3 Glacier&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h2-fb507f2c&quot;&gt;参考文献&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;aws&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#aws&quot; aria-label=&quot;多層アーキテクチャソリューションの設計およびAWSのサービスを使用したデカップリングメカニズムの設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;code&gt;多層アーキテクチャソリューションの設計&lt;/code&gt;および&lt;code&gt;AWSのサービスを使用したデカップリングメカニズムの設計&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;疎結合とは、1つのサービスに問題が起きた場合に、全体に対して問題が波及するのではなく、問題を局所化しサービスを動かすことができることを指す。&lt;/p&gt;
&lt;p&gt;WEBサーバがEメールサービスと直接通信している場合で、Eメールサーバがダウンした時、引きずられてWEBサーバに関わる処理ができなくなり、問題が大きくなるが間にSQS（メッセージキューイングサービス）を入れることでWEBサーバ自体は問題なく処理できることを担保できる。&lt;/p&gt;
&lt;h3 id=&quot;elb&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#elb&quot; aria-label=&quot;ELBについて permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;ELBについて&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Classic Load Balancer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;旧式のロードバランサーとなっている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Application Load Balancer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OSI参照モデルのレイヤー7で実行されリクエストの内容に基づいてトラフィックをルーティングしてくれる。&lt;br&gt;
&lt;code&gt;固定レスポンス&lt;/code&gt;となっている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Network Load Balancer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OSI参照モデルのレイヤー4で実行され、TCPパケットのロードバランシングで、高パフォーマンスのアプリケーション向けとなっている。&lt;/p&gt;
&lt;h2 id=&quot;h2-01733f19&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-01733f19&quot; aria-label=&quot;可用性の高いアーキテクチャやフォールトトレラントなアーキテクチャの設計 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;可用性の高いアーキテクチャやフォールトトレラントなアーキテクチャの設計&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;あらゆるものは必ず壊れる。それが終わることはない&lt;/code&gt;&lt;br&gt;
壊れることを想定し、システムを構築しておく必要があることを意味している。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AWS Well Architected Framework&lt;/strong&gt;を該当程度に理解しておく必要がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;運用上の優秀性&lt;/li&gt;
&lt;li&gt;セキュリティ&lt;/li&gt;
&lt;li&gt;信頼性&lt;/li&gt;
&lt;li&gt;パフォーマンス効率&lt;/li&gt;
&lt;li&gt;コスト最適化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こらら4つの柱から成り立っている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;回復性の高いアーキテクチャを考える上で・・・&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AWS CloudFormation&lt;br&gt;
AWS Lambda&lt;br&gt;
等のサービスが該当する。&lt;/p&gt;
&lt;h2 id=&quot;h2-21c85620&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-21c85620&quot; aria-label=&quot;適切な回復力あるストレージの選択 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;適切な回復力あるストレージの選択&lt;/h2&gt;
&lt;h3 id=&quot;amazon-ec2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-ec2&quot; aria-label=&quot;Amazon EC2インスタンスストア permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon EC2インスタンスストア&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;エフェメラルボリューム&lt;/code&gt;は、インスタンスを停止すると揮発し、データが消えてしまうが、&lt;strong&gt;高速・広帯域&lt;/strong&gt;なのでバッチ処理の一時ディスクやキャッシュとしての利用が好まれる。&lt;/p&gt;
&lt;h3 id=&quot;amazon-ebsamazon-elastic-block-store&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-ebsamazon-elastic-block-store&quot; aria-label=&quot;Amazon EBS（Amazon Elastic Block Store） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon EBS（Amazon Elastic Block Store）&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;ブロックレベル&lt;/code&gt;のストレージを提供し、インスタンスから&lt;code&gt;独立した永続性&lt;/code&gt;を持つ。&lt;/p&gt;
&lt;h3 id=&quot;efsamazon-elastic-file-system&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#efsamazon-elastic-file-system&quot; aria-label=&quot;EFS（Amazon Elastic File System） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;EFS（Amazon Elastic File System）&lt;/h3&gt;
&lt;p&gt;EC2上で利用できる共有ファイルのディスクとなっている。&lt;br&gt;
&lt;code&gt;EBSを使った共有ファイルディスク作成は出来ないので注意が必要。&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&quot;amazon-s3amazon-simple-storage-service&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-s3amazon-simple-storage-service&quot; aria-label=&quot;Amazon S3（Amazon Simple Storage Service） permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon S3（Amazon Simple Storage Service）&lt;/h3&gt;
&lt;p&gt;インターネットからアクセス可能なオブジェクトストレージとなる。&lt;br&gt;
容量は事実上無制限。&lt;/p&gt;
&lt;h3 id=&quot;amzaon-s3&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amzaon-s3&quot; aria-label=&quot;Amzaon S3アクセスコントロール permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amzaon S3アクセスコントロール&lt;/h3&gt;
&lt;p&gt;どのオブジェクトに誰がアクセスできるのか細かく定義することができる。&lt;/p&gt;
&lt;h3 id=&quot;amazon-s3-glacier&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#amazon-s3-glacier&quot; aria-label=&quot;Amazon S3 Glacier permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Amazon S3 Glacier&lt;/h3&gt;
&lt;p&gt;通常は取り出さないが、なにかあった時の為に、消すことはできないが使うことも、ほとんどない場合において安価に保存ができるストレージサービスとなっている。&lt;/p&gt;
&lt;h2 id=&quot;h2-fb507f2c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-fb507f2c&quot; aria-label=&quot;参考文献 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;参考文献&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://resources.awscloud.com/aws-summit-online-japan-2020-on-demand-tc-24866/tac-02-aws-summit-online-2020-tcsaa&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;TAC-2：AWS 認定 - 試験準備ワークショップ 「ソリューションアーキテクト – アソシエイト」セッション 1&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title><![CDATA[最近お腹の調子が悪い]]></title><description><![CDATA[目次 はじめに はじめに 最近、胸焼けが酷くなってきた筆者です。 体重も15kg位増え、標準体重気味になってきました。 お腹もたるんたるんで困っちゃいます。 ランニングでもしようかなぁp(´⌒｀q]]></description><link>https://blog.sharemyknowledge.jp/my-stomach-has-been-acting-up-lately/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/my-stomach-has-been-acting-up-lately/</guid><pubDate>Sat, 12 Sep 2020 20:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;最近、胸焼けが酷くなってきた筆者です。&lt;br&gt;
体重も15kg位増え、標準体重気味になってきました。&lt;/p&gt;
&lt;p&gt;お腹もたるんたるんで困っちゃいます。&lt;br&gt;
ランニングでもしようかなぁp(´⌒｀q&lt;/p&gt;</content:encoded></item><item><title><![CDATA[シンタックスハイライトテスト(*´∀`*)ﾎﾟｯ]]></title><description><![CDATA[目次 はじめに “C” “C++” “C#” Mermaid フローチャート シーケンス図 クラス図 “Terraform / HCL” はじめに gatsby-remark-vscode および robb0wen/synthwave-vscode…]]></description><link>https://blog.sharemyknowledge.jp/syntaxHighlight/</link><guid isPermaLink="false">https://blog.sharemyknowledge.jp/syntaxHighlight/</guid><pubDate>Sat, 12 Sep 2020 04:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;目次&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;article-toc&quot;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h2-761a80f8&quot;&gt;はじめに&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#c&quot;&gt;“C”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#c-1&quot;&gt;“C++”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#c-2&quot;&gt;“C#”&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#mermaid&quot;&gt;Mermaid&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;#h3-fd968546&quot;&gt;フローチャート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-39385441&quot;&gt;シーケンス図&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#h3-e45feb11&quot;&gt;クラス図&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#terraform-hcl&quot;&gt;“Terraform / HCL”&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h2 id=&quot;h2-761a80f8&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h2-761a80f8&quot; aria-label=&quot;はじめに permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;はじめに&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;gatsby-remark-vscode&lt;/strong&gt; および &lt;strong&gt;robb0wen/synthwave-vscode&lt;/strong&gt;を使ったハイライトコーディングテストです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;テーマは「Dark (Visual Studio)」&lt;/code&gt;を使用しています。&lt;/p&gt;
&lt;p&gt;公式？テーマとして提供されているのが感無量ですね。&lt;br&gt;
&lt;a href=&quot;https://www.gatsbyjs.com/plugins/gatsby-remark-vscode/#using-languages-and-themes-from-an-extension&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener noreferrer&quot;&gt;リンク先&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;c&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c&quot; aria-label=&quot;&amp;#x22;C&amp;#x22; permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;“C”&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;c&quot; data-index=&quot;0&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;%s&lt;/span&gt;&lt;span class=&quot;mtk6&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ようこそ ! C 言語の世界へ(*･ω･*)&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;c-1&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c-1&quot; aria-label=&quot;&amp;#x22;C++&amp;#x22; permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;“C++”&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;cpp&quot; data-index=&quot;1&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;using&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;namespace&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;std&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    cout &amp;lt;&amp;lt; &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ようこそ C++ の世界へ(*´∀`*)ﾎﾟｯ&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;lt;&amp;lt; endl;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;c-2&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#c-2&quot; aria-label=&quot;&amp;#x22;C#&amp;#x22; permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;“C#”&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;csharp&quot; data-index=&quot;2&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk15&quot;&gt;using&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Collections&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Generic&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;DictionaryExample&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;ItemsList&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; } &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; } }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;ItemsList2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; } &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;set&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; { &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; } }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;DictionaryExample&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( ) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;List&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt;( );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;mtk15&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk7&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &amp;lt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;++ ) {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;			&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk11&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( ) );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;			&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;[ &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; ].&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;dictionaryList&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Dictionary&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt;( );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;( );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;myItems2&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;dictionaryList&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Dictionary&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt;( );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Items&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;		&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;Dictionary&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;dictionaryList&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;	}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;mermaid&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#mermaid&quot; aria-label=&quot;Mermaid permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;Mermaid&lt;/h2&gt;
&lt;h3 id=&quot;h3-fd968546&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-fd968546&quot; aria-label=&quot;フローチャート permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;フローチャート&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;mermaid&quot; data-index=&quot;3&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;graph TD&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    A[開始] --&amp;gt; B{条件チェック}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    B --&amp;gt;|Yes| C[処理A]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    B --&amp;gt;|No| D[処理B]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    C --&amp;gt; E[終了]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    D --&amp;gt; E&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-39385441&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-39385441&quot; aria-label=&quot;シーケンス図 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;シーケンス図&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;mermaid&quot; data-index=&quot;4&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;sequenceDiagram&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    participant Client&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    participant Server&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    participant DB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Client-&amp;gt;&amp;gt;Server: GET /api/data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Server-&amp;gt;&amp;gt;DB: SELECT FROM records&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    DB--&amp;gt;&amp;gt;Server: rows&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Server--&amp;gt;&amp;gt;Client: &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; OK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-e45feb11&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#h3-e45feb11&quot; aria-label=&quot;クラス図 permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;クラス図&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;mermaid&quot; data-index=&quot;5&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;classDiagram&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    class Animal {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        +String name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        +int age&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        +speak() void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    class Dog {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        +fetch() void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    class Cat {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;        +purr() void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Animal &amp;lt;|-- Dog&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    Animal &amp;lt;|-- Cat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h3 id=&quot;terraform-hcl&quot; style=&quot;position:relative;&quot;&gt;&lt;a href=&quot;#terraform-hcl&quot; aria-label=&quot;&amp;#x22;Terraform / HCL&amp;#x22; permalink&quot; class=&quot;anchor before&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;“Terraform / HCL”&lt;/h3&gt;
&lt;pre class=&quot;grvsc-container dark-default-dark&quot; data-language=&quot;terraform&quot; data-index=&quot;6&quot;&gt;&lt;code class=&quot;grvsc-code&quot;&gt;&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk3&quot;&gt;# resource type と logical name が別色になることを確認&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;resource&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;&amp;quot;aws_instance&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;web_server&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;ami&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;           = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ami-0c55b159cbfafe1f0&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;instance_type&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;t3.micro&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;WebServer&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;&amp;quot;aws_ami&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;ubuntu&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;most_recent&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk4&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;name&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;values&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = [&lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ubuntu/images/hvm-ssd/ubuntu-*&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;variable&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;instance_type&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;EC2 instance type&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;        = &lt;/span&gt;&lt;span class=&quot;mtk10&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;     = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;t3.micro&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;provider&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;aws&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;region&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;ap-northeast-1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;module&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;vpc&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;terraform-aws-modules/vpc/aws&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;my-vpc&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;cidr&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;   = &lt;/span&gt;&lt;span class=&quot;mtk8&quot;&gt;&amp;quot;10.0.0.0/16&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk4&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;&amp;quot;instance_ip&amp;quot;&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt; = &lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;aws_instance&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;web_server&lt;/span&gt;&lt;span class=&quot;mtk1&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk12&quot;&gt;public_ip&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;grvsc-line&quot;&gt;&lt;span class=&quot;grvsc-source&quot;&gt;&lt;span class=&quot;mtk1&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;style class=&quot;grvsc-styles&quot;&gt;
  
  .dark-default-dark {
    background-color: #1E1E1E;
    color: #D4D4D4;
  }
  .dark-default-dark .mtk15 { color: #C586C0; }
  .dark-default-dark .mtk8 { color: #CE9178; }
  .dark-default-dark .mtk4 { color: #569CD6; }
  .dark-default-dark .mtk1 { color: #D4D4D4; }
  .dark-default-dark .mtk11 { color: #DCDCAA; }
  .dark-default-dark .mtk6 { color: #D7BA7D; }
  .dark-default-dark .mtk10 { color: #4EC9B0; }
  .dark-default-dark .mtk7 { color: #B5CEA8; }
  .dark-default-dark .mtk12 { color: #9CDCFE; }
  .dark-default-dark .mtk3 { color: #6A9955; }
  .dark-default-dark .grvsc-line-highlighted::before {
    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));
    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));
  }
&lt;/style&gt;</content:encoded></item></channel></rss>