<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aws-Cli on K-Life Hack | 韓国ハイエンド・ライフスタイルガイド</title><link>https://klifehack.com/tags/aws-cli/</link><description>Recent content in Aws-Cli on K-Life Hack | 韓国ハイエンド・ライフスタイルガイド</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Wed, 27 May 2026 10:40:20 +0900</lastBuildDate><atom:link href="https://klifehack.com/tags/aws-cli/index.xml" rel="self" type="application/rss+xml"/><item><title>AWS Systems ManagerにおけるVPCエンドポイントの設計と実装：Interface型とGateway型の構造的差異</title><link>https://klifehack.com/p/aws-ssm-vpc-endpoint-architecture-analysis/</link><pubDate>Wed, 27 May 2026 10:40:20 +0900</pubDate><guid>https://klifehack.com/p/aws-ssm-vpc-endpoint-architecture-analysis/</guid><description>&lt;h1 id="aws-vpcエンドポイントの設計と実装セキュアなプライベート接続の構造的理解"&gt;AWS VPCエンドポイントの設計と実装：セキュアなプライベート接続の構造的理解
&lt;/h1&gt;&lt;p&gt;&lt;b&gt;meta_description&lt;/b&gt;: Interface型およびGateway型VPCエンドポイントの動作原理、SSM運用のためのセキュリティ設計、CLIによる検証プロセスをシステムアーキテクトの視点から詳説します。&lt;/p&gt;
&lt;h2 id="1-vpcエンドポイントの基本概念と設計思想"&gt;1. VPCエンドポイントの基本概念と設計思想
&lt;/h2&gt;&lt;p&gt;AWS VPCエンドポイントは、Amazon Virtual Private Cloud (VPC) 内のリソースが、パブリックインターネットを経由せずに、サポートされているAWSサービスやVPCエンドポイントサービスにプライベートに接続することを可能にするネットワーク機能です。このアーキテクチャにより、VPCとサービス間のトラフィックはAmazonネットワーク内に留まり、セキュリティとパフォーマンスが向上します。&lt;/p&gt;
&lt;p&gt;通常、プライベートサブネット内に配置されたEC2インスタンス、ECSタスク、Lambda関数などのリソースは、AWS Systems Manager (SSM)、Amazon S3、Amazon CloudWatch Logs、Amazon ECRなどのサービスにアクセスするためにVPCエンドポイントを利用します。&lt;/p&gt;
&lt;h3 id="トラフィックフローの論理"&gt;トラフィックフローの論理
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;プライベートサブネットリソース&lt;/code&gt; → &lt;code&gt;AWSサービスAPIコール&lt;/code&gt; → &lt;code&gt;VPCエンドポイント&lt;/code&gt; → &lt;code&gt;AWSサービス&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;実装において正確に区別すべき4つのコンポーネントは以下の通りです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;VPCエンドポイント&lt;/b&gt;: プライベート接続機能そのもの。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VPCエンドポイントサービス名&lt;/b&gt;: 作成時に選択する特定のAWSサービス識別子 (例: &lt;code&gt;com.amazonaws.ap-northeast-2.ssm&lt;/code&gt;)。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;プレフィックスリスト&lt;/b&gt;: IPアドレス範囲 (CIDRブロック) のグループを含む管理オブジェクト。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;エンドポイントタイプ&lt;/b&gt;: 基盤となる接続手法 (Interface型またはGateway型)。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="2-ネットワークコンポーネントの比較分析"&gt;2. ネットワークコンポーネントの比較分析
&lt;/h2&gt;&lt;p&gt;VPCエンドポイントは、Transit Gateway、NAT Gateway、EC2 Instance Connectなど、他のネットワーク機能と目的が異なります。主要な差異は以下の通りです。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: left"&gt;カテゴリ&lt;/th&gt;
					&lt;th style="text-align: left"&gt;目的&lt;/th&gt;
					&lt;th style="text-align: left"&gt;代表的なフロー&lt;/th&gt;
					&lt;th style="text-align: left"&gt;主要な判断基準&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;b&gt;VPCエンドポイント&lt;/b&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;内部リソースからのAWSサービスへのプライベートアクセス&lt;/td&gt;
					&lt;td style="text-align: left"&gt;EC2 → VPCE → AWS Service&lt;/td&gt;
					&lt;td style="text-align: left"&gt;AWSサービスへのアクセスに使用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;b&gt;Transit Gateway&lt;/b&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;VPC、VPN、Direct Connect間のルーティングハブ&lt;/td&gt;
					&lt;td style="text-align: left"&gt;VPC ↔ TGW ↔ VPC/オンプレミス&lt;/td&gt;
					&lt;td style="text-align: left"&gt;ネットワーク間接続に使用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;b&gt;NAT Gateway&lt;/b&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;プライベートリソースからのインターネット送信&lt;/td&gt;
					&lt;td style="text-align: left"&gt;EC2 → NAT → Internet&lt;/td&gt;
					&lt;td style="text-align: left"&gt;インターネットへの外部送信に使用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: left"&gt;&lt;b&gt;EIC エンドポイント&lt;/b&gt;&lt;/td&gt;
					&lt;td style="text-align: left"&gt;パブリックIPなしでのEC2へのSSH/RDPアクセス&lt;/td&gt;
					&lt;td style="text-align: left"&gt;User → EIC Endpoint → EC2&lt;/td&gt;
					&lt;td style="text-align: left"&gt;EC2へのアクセスパスとして使用&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="3-サービス名とプレフィックスリストの厳密な識別"&gt;3. サービス名とプレフィックスリストの厳密な識別
&lt;/h2&gt;&lt;h3 id="3-1-vpcエンドポイントサービス名の形式"&gt;3-1. VPCエンドポイントサービス名の形式
&lt;/h3&gt;&lt;p&gt;サービス名は、エンドポイントが接続するAWSサービスを指定するための識別子です。ソウルリージョン (ap-northeast-2) の場合、標準的な形式は &lt;code&gt;com.amazonaws.&amp;lt;region&amp;gt;.&amp;lt;service-code&amp;gt;&lt;/code&gt; となります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;com.amazonaws.ap-northeast-2.ssm&lt;/code&gt; (SSM API)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;com.amazonaws.ap-northeast-2.ssmmessages&lt;/code&gt; (Session Managerデータチャネル)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;com.amazonaws.ap-northeast-2.ec2messages&lt;/code&gt; (SSMエージェントメッセージング)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-2-プレフィックスリスト-prefix-lists"&gt;3-2. プレフィックスリスト (Prefix Lists)
&lt;/h3&gt;&lt;p&gt;プレフィックスリストは、&lt;code&gt;pl-xxxxxxxx&lt;/code&gt; という形式のIDで管理されるCIDRブロックの集合です。AWS管理のプレフィックスリストは、セキュリティグループやルートテーブルで参照可能ですが、すべてのVPCエンドポイントサービスにプレフィックスリストが存在するわけではありません。主にS3やDynamoDBなどのGateway型エンドポイントで重要な役割を果たします。&lt;/p&gt;
&lt;h2 id="4-エンドポイントタイプ別の構造的論理"&gt;4. エンドポイントタイプ別の構造的論理
&lt;/h2&gt;&lt;h3 id="4-1-interface型エンドポイント-aws-privatelink"&gt;4-1. Interface型エンドポイント (AWS PrivateLink)
&lt;/h3&gt;&lt;p&gt;Interface型エンドポイントは、AWS PrivateLinkを利用します。作成時、指定したサブネット内に&lt;b&gt;エンドポイントENI&lt;/b&gt; (Elastic Network Interface) が生成されます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;論理&lt;/b&gt;: &lt;code&gt;EC2&lt;/code&gt; → &lt;code&gt;TCP 443&lt;/code&gt; → &lt;code&gt;エンドポイントENI&lt;/code&gt; → &lt;code&gt;AWS PrivateLink&lt;/code&gt; → &lt;code&gt;AWSサービス&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;セキュリティ&lt;/b&gt;: エンドポイントENIにはセキュリティグループをアタッチし、インバウンドトラフィックを制御する必要があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-2-gateway型エンドポイント"&gt;4-2. Gateway型エンドポイント
&lt;/h3&gt;&lt;p&gt;Gateway型エンドポイントは、ENIやセキュリティグループを使用しません。代わりに、&lt;b&gt;ルートテーブル&lt;/b&gt;を直接変更することで機能します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;メカニズム&lt;/b&gt;: 送信先をAWS管理プレフィックスリスト (例: S3)、ターゲットをVPCエンドポイントID (&lt;code&gt;vpce-xxxxxxxx&lt;/code&gt;) とするルートをルートテーブルに追加します。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;論理&lt;/b&gt;: &lt;code&gt;EC2&lt;/code&gt; → &lt;code&gt;ルートテーブル (Dest: S3 Prefix List, Target: VPCE)&lt;/code&gt; → &lt;code&gt;S3/DynamoDB&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-ssm運用におけるインターフェースエンドポイントのセキュリティ設計"&gt;5. SSM運用におけるインターフェースエンドポイントのセキュリティ設計
&lt;/h2&gt;&lt;p&gt;SSM、Logs、MonitoringなどのサービスはInterface型を使用するため、セキュリティグループの設定が不可欠です。&lt;/p&gt;
&lt;h3 id="セキュリティグループの標準設定"&gt;セキュリティグループの標準設定
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;インバウンドルール&lt;/b&gt;: ソース (EC2インスタンスのセキュリティグループまたは内部CIDR) からの &lt;b&gt;TCP 443&lt;/b&gt; を許可します。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;アウトバンドルール&lt;/b&gt;: 通常は「すべてのトラフィック」を許可しますが、組織のポリシーに応じて制限可能です。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;⚠️ &lt;b&gt;注意&lt;/b&gt;: プライベートDNS (Private DNS) を有効にする必要があります。これにより、サービスURLがエンドポイントENIのプライベートIPアドレスに解決されるようになります。&lt;/p&gt;
&lt;h2 id="6-cliによるインフラ状態の検証手順"&gt;6. CLIによるインフラ状態の検証手順
&lt;/h2&gt;&lt;p&gt;構成が正しく行われているかを確認するために、以下の手順で検証を実施します。&lt;/p&gt;
&lt;h3 id="ステップ1-vpcエンドポイントの特定"&gt;ステップ1: VPCエンドポイントの特定
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ec2 describe-vpc-endpoints --filters Name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;vpc-id,Values&lt;span style="color:#f92672"&gt;=&lt;/span&gt;vpc-xxxxxxxx --query &lt;span style="color:#e6db74"&gt;&amp;#39;VpcEndpoints[*].{ID:VpcEndpointId,Service:ServiceName,Type:VpcEndpointType}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ステップ2-セキュリティグループルールの確認"&gt;ステップ2: セキュリティグループルールの確認
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws ec2 describe-security-group-rules --filters Name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;group-id,Values&lt;span style="color:#f92672"&gt;=&lt;/span&gt;sg-xxxxxxxx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ステップ3-dns解決の確認"&gt;ステップ3: DNS解決の確認
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nslookup ssm.ap-northeast-2.amazonaws.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;💡 プライベートDNSが正しく設定されている場合、結果はInterface型エンドポイントENIのプライベートIPアドレスを返します。&lt;/p&gt;
&lt;h2 id="7-operational-notes"&gt;7. Operational Notes
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Interface型&lt;/b&gt;: ENI、セキュリティグループ、プライベートDNSの3点が揃っていることを確認してください。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gateway型&lt;/b&gt;: ルートテーブルにプレフィックスリストを宛先とするエントリが存在することを確認してください。&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SSMの要件&lt;/b&gt;: SSMを完全に機能させるには、&lt;code&gt;ssm&lt;/code&gt;、&lt;code&gt;ssmmessages&lt;/code&gt;、&lt;code&gt;ec2messages&lt;/code&gt; の3つのエンドポイントがすべて必要です。これらが欠けると、Session Managerの接続失敗やエージェントのオフライン状態が発生します。&lt;/service-code&gt;&lt;/region&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>