{"id":3410,"date":"2026-09-12T09:46:55","date_gmt":"2026-09-12T00:46:55","guid":{"rendered":"https:\/\/qol-kk.com\/wp2\/?p=3410"},"modified":"2026-09-12T09:46:55","modified_gmt":"2026-09-12T00:46:55","slug":"20260910-plan018","status":"publish","type":"post","link":"https:\/\/qol-kk.com\/wp2\/blog\/2026\/09\/12\/20260910-plan018\/","title":{"rendered":"VPC \u5165\u9580 \u2014 \u30b5\u30d6\u30cd\u30c3\u30c8 \/ \u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb \/ IGW \u3092\u56f3\u89e3\u3067\u7406\u89e3\u3059\u308b"},"content":{"rendered":"<h2>\u6982\u8981<\/h2>\n<p>AWS \u3092\u89e6\u308a\u306f\u3058\u3081\u3066\u6700\u521d\u306b\u3076\u3064\u304b\u308b\u306e\u304c VPC\uff08Virtual Private Cloud\uff09\u3067\u3059\u3002EC2 \u30921\u53f0\u7acb\u3066\u308b\u3060\u3051\u3067\u3082\u300c\u3069\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u7f6e\u304f\u304b\u300d\u300c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u51fa\u3089\u308c\u308b\u304b\u300d\u3092\u610f\u8b58\u305b\u3056\u308b\u3092\u5f97\u307e\u305b\u3093\u3002<\/p>\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001VPC \u3092\u69cb\u6210\u3059\u308b\u4e3b\u8981\u30d1\u30fc\u30c4\uff08<strong>\u30b5\u30d6\u30cd\u30c3\u30c8 \/ \u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb \/ Internet Gateway \/ NAT Gateway<\/strong>\uff09\u304c\u3001\u305d\u308c\u305e\u308c\u4f55\u306e\u305f\u3081\u306b\u3042\u308a\u3001\u3069\u3046\u7e4b\u304c\u3063\u3066\u300c\u901a\u4fe1\u3067\u304d\u308b \/ \u3067\u304d\u306a\u3044\u300d\u3092\u6c7a\u3081\u3066\u3044\u308b\u306e\u304b\u3092\u3001\u56f3\u3068\u3068\u3082\u306b\u6574\u7406\u3057\u307e\u3059\u3002\u5bfe\u8c61\u306f\u300c\u306a\u3093\u3068\u306a\u304f VPC \u3092\u4f5c\u3063\u305f\u304c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4ed5\u7d44\u307f\u304c\u8179\u843d\u3061\u3057\u3066\u3044\u306a\u3044\u300d\u65b9\u3067\u3059\u3002<\/p>\n<h2>VPC \u3068\u306f\u4f55\u304b<\/h2>\n<p>VPC \u306f\u3001AWS \u30a2\u30ab\u30a6\u30f3\u30c8\u5185\u306b\u78ba\u4fdd\u3059\u308b<strong>\u8ad6\u7406\u7684\u306b\u9694\u96e2\u3055\u308c\u305f\u81ea\u5206\u5c02\u7528\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af<\/strong>\u3067\u3059\u3002\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u3067\u3044\u3048\u3070\u300c\u81ea\u793e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e1\u68df\u300d\u306b\u76f8\u5f53\u3057\u3001\u305d\u306e\u4e2d\u306b\u90e8\u5c4b\uff08\u30b5\u30d6\u30cd\u30c3\u30c8\uff09\u3092\u5207\u308a\u3001\u90e8\u5c4b\u9593\u30fb\u5916\u90e8\u3068\u306e\u901a\u4fe1\u7d4c\u8def\uff08\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\uff09\u3092\u81ea\u5206\u3067\u8a2d\u8a08\u3057\u307e\u3059\u3002<\/p>\n<p>VPC \u3092\u4f5c\u308b\u3068\u304d\u6700\u521d\u306b\u6c7a\u3081\u308b\u306e\u304c <strong>CIDR \u30d6\u30ed\u30c3\u30af<\/strong>\u3067\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">VPC CIDR: 10.0.0.0\/16   \u2192 10.0.0.0 \u301c 10.0.255.255\uff08\u7d04 65,536 IP\uff09<\/pre>\n<p>\u3053\u306e <code>\/16<\/code> \u306e\u4e2d\u3092\u3001\u3055\u3089\u306b\u5c0f\u3055\u306a\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u5206\u5272\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<h2>\u5168\u4f53\u50cf\uff08\u56f3\u89e3\uff09<\/h2>\n<pre class=\"lang:default decode:true\">\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 VPC  10.0.0.0\/16                                         \u2502\n\u2502                                                          \u2502\n\u2502   \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510   \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502\n\u2502   \u2502 Public Subnet         \u2502   \u2502 Private Subnet        \u2502  \u2502\n\u2502   \u2502 10.0.1.0\/24           \u2502   \u2502 10.0.2.0\/24           \u2502  \u2502\n\u2502   \u2502  [EC2: Web]           \u2502   \u2502  [EC2: DB \/ App]      \u2502  \u2502\n\u2502   \u2502     \u25bc Route Table A   \u2502   \u2502     \u25bc Route Table B   \u2502  \u2502\n\u2502   \u2502  0.0.0.0\/0 \u2192 IGW      \u2502   \u2502  0.0.0.0\/0 \u2192 NATGW    \u2502  \u2502\n\u2502   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502\n\u2502         \u250c\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2510                  \u250c\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2510        \u2502\n\u2502         \u2502  IGW   \u2502                  \u2502  NAT GW  \u2502        \u2502\n\u2502         \u2514\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2518                  \u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2518        \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n              \u25bc                            \u25bc\n        Internet  \u25c4\u2500\u2500\u2500\u2500\u2500\u2500(NAT\u7d4c\u7531\u306e\u623b\u308a)\u2500\u2500\u2500\u2500\u2518<\/pre>\n<p>\u30dd\u30a4\u30f3\u30c8\u306f\u3001<strong>\u300cPublic \u304b Private \u304b\u300d\u3092\u6c7a\u3081\u3066\u3044\u308b\u306e\u306f\u30b5\u30d6\u30cd\u30c3\u30c8\u305d\u306e\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u305d\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u7d10\u3065\u304f\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u306e\u4e2d\u8eab<\/strong>\u3060\u3068\u3044\u3046\u70b9\u3067\u3059\u3002\u3053\u3053\u304c\u6700\u521d\u306e\u843d\u3068\u3057\u7a74\u3067\u3059\u3002<\/p>\n<h2>\u30b5\u30d6\u30cd\u30c3\u30c8<\/h2>\n<p>\u30b5\u30d6\u30cd\u30c3\u30c8\u306f VPC \u306e CIDR \u3092\u3055\u3089\u306b\u5206\u5272\u3057\u305f\u7bc4\u56f2\u3067\u3001\u5fc5\u305a<strong>1\u3064\u306e\u30a2\u30d9\u30a4\u30e9\u30d3\u30ea\u30c6\u30a3\u30be\u30fc\u30f3\uff08AZ\uff09\u306b\u5c5e\u3057\u307e\u3059<\/strong>\u3002VPC \u304c\u30ea\u30fc\u30b8\u30e7\u30f3\u5358\u4f4d\u306a\u306e\u306b\u5bfe\u3057\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u306f AZ \u5358\u4f4d\u3067\u3042\u308b\u3001\u3068\u3044\u3046\u7c92\u5ea6\u306e\u9055\u3044\u3092\u62bc\u3055\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"lang:default decode:true\">VPC 10.0.0.0\/16\n\u251c\u2500 Subnet 10.0.1.0\/24  (ap-northeast-1a)  \u2190 Public \u306b\u3059\u308b\u4e88\u5b9a\n\u251c\u2500 Subnet 10.0.2.0\/24  (ap-northeast-1a)  \u2190 Private \u306b\u3059\u308b\u4e88\u5b9a\n\u251c\u2500 Subnet 10.0.3.0\/24  (ap-northeast-1c)  \u2190 \u5197\u9577\u5316\u7528\n\u2514\u2500 Subnet 10.0.4.0\/24  (ap-northeast-1c)<\/pre>\n<h3>AWS \u304c\u4e88\u7d04\u3059\u308b 5 IP<\/h3>\n<p><code>\/24<\/code>\uff08256 IP\uff09\u3092\u4f5c\u3063\u3066\u3082\u3001\u5b9f\u969b\u306b\u4f7f\u3048\u308b\u306e\u306f 251 \u500b\u3067\u3059\u3002\u5404\u30b5\u30d6\u30cd\u30c3\u30c8\u306e<strong>\u5148\u982d4\u3064\u3068\u672b\u5c3e1\u3064<\/strong>\u306f AWS \u304c\u4e88\u7d04\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">10.0.1.0    \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30c9\u30ec\u30b9\n10.0.1.1    VPC \u30eb\u30fc\u30bf\u30fc\n10.0.1.2    Amazon \u304c\u63d0\u4f9b\u3059\u308b DNS\n10.0.1.3    \u5c06\u6765\u5229\u7528\u306e\u305f\u3081\u306e\u4e88\u7d04\n10.0.1.255  \u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\uff08AWS\u3067\u306f\u4f7f\u308f\u306a\u3044\u304c\u4e88\u7d04\uff09<\/pre>\n<p>\u5c0f\u3055\u3059\u304e\u308b CIDR\uff08<code>\/28<\/code> = 16 IP \u306e\u3046\u3061\u4f7f\u3048\u308b\u306e\u306f 11 \u500b\uff09\u3092\u5207\u308b\u3068\u3001\u601d\u3063\u305f\u3088\u308a\u65e9\u304f IP \u304c\u67af\u6e07\u3057\u307e\u3059\u3002<\/p>\n<h2>\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb<\/h2>\n<p>\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u306f\u300c\u5b9b\u5148 IP \u30ec\u30f3\u30b8\u3054\u3068\u306b\u3001\u3069\u3053\u3078\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u308b\u304b\u300d\u3092\u5b9a\u7fa9\u3057\u305f<strong>\u9053\u6848\u5185\u8868<\/strong>\u3067\u3059\u3002\u5404\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u306f\u5fc5\u305a1\u3064\u306e\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u304c\u95a2\u9023\u4ed8\u304d\u307e\u3059\u3002<\/p>\n<h3>Public \u30b5\u30d6\u30cd\u30c3\u30c8\u7528\uff08Route Table A\uff09<\/h3>\n<pre class=\"lang:default decode:true\">Destination     Target\n10.0.0.0\/16     local           \u2190 VPC \u5185\u306f\u5e38\u306b local\uff08\u524a\u9664\u4e0d\u53ef\uff09\n0.0.0.0\/0       igw-xxxxxxxx     \u2190 \u305d\u308c\u4ee5\u5916\u306f Internet Gateway \u3078<\/pre>\n<p><code>0.0.0.0\/0<\/code>\uff08\uff1d\u4e0a\u306e\u3069\u306e\u884c\u306b\u3082\u5f53\u3066\u306f\u307e\u3089\u306a\u3044\u5168\u3066\u306e\u5b9b\u5148\uff09\u3092 <strong>IGW \u306b\u5411\u3051\u3066\u3044\u308b<\/strong>\u305f\u3081\u3001\u3053\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u306e EC2 \u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3078\u51fa\u3089\u308c\u307e\u3059\u3002\u3053\u306e\u884c\u304c\u3042\u308b\u30b5\u30d6\u30cd\u30c3\u30c8\u304c\u300cPublic \u30b5\u30d6\u30cd\u30c3\u30c8\u300d\u3068\u547c\u3070\u308c\u307e\u3059\u3002<\/p>\n<h3>Private \u30b5\u30d6\u30cd\u30c3\u30c8\u7528\uff08Route Table B\uff09<\/h3>\n<pre class=\"lang:default decode:true\">Destination     Target\n10.0.0.0\/16     local\n0.0.0.0\/0       nat-xxxxxxxx    \u2190 \u5916\u5411\u304d\u306f NAT Gateway \u7d4c\u7531<\/pre>\n<p><code>0.0.0.0\/0<\/code> \u3092 IGW \u3067\u306f\u306a\u304f <strong>NAT Gateway<\/strong> \u306b\u5411\u3051\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u300c\u3053\u3061\u3089\u304b\u3089\u306f\u5916\u3078\u51fa\u3089\u308c\u308b\uff08\u30d1\u30c3\u30b1\u30fc\u30b8\u66f4\u65b0\u306a\u3069\uff09\u304c\u3001\u5916\u304b\u3089\u76f4\u63a5\u306f\u5165\u3089\u308c\u306a\u3044\u300d\u69cb\u6210\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>\u30eb\u30fc\u30c8\u8a55\u4fa1\u306f\u300c\u6700\u9577\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u4e00\u81f4\u300d<\/h3>\n<p>\u5b9b\u5148\u304c\u8907\u6570\u306e\u30eb\u30fc\u30c8\u306b\u30de\u30c3\u30c1\u3059\u308b\u5834\u5408\u3001AWS \u306f<strong>\u3088\u308a\u5177\u4f53\u7684\uff08\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u304c\u9577\u3044\uff09\u306a\u30eb\u30fc\u30c8<\/strong>\u3092\u512a\u5148\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">\u5b9b\u5148 10.0.2.50 \u306e\u5834\u5408\uff1a10.0.0.0\/16 \u304c\u63a1\u7528 \u2192 local\uff08IGW \u306b\u306f\u884c\u304b\u306a\u3044\uff09\n\u5b9b\u5148 8.8.8.8   \u306e\u5834\u5408\uff1a0.0.0.0\/0 \u304c\u63a1\u7528 \u2192 IGW \u3078<\/pre>\n<h2>Internet Gateway\uff08IGW\uff09<\/h2>\n<p>IGW \u306f VPC \u3068\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u7e4b\u3050<strong>\u51fa\u5165\u53e3<\/strong>\u3067\u3059\u3002<\/p>\n<ul>\n<li>VPC \u306b<strong>1\u3064\u3060\u3051<\/strong>\u30a2\u30bf\u30c3\u30c1\u3067\u304d\u308b<\/li>\n<li>\u6c34\u5e73\u30b9\u30b1\u30fc\u30eb\u30fb\u5197\u9577\u5316\u6e08\u307f\u3067\u3001\u5e2f\u57df\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306b\u306a\u3089\u306a\u3044\uff08\u30de\u30cd\u30fc\u30b8\u30c9\uff09<\/li>\n<li>IGW \u81ea\u4f53\u306f\u7121\u6599\uff08\u901a\u4fe1\u91cf\u8ab2\u91d1\u306f\u3042\u308b\uff09<\/li>\n<\/ul>\n<p>IGW \u306f\u300c\u30a2\u30bf\u30c3\u30c1\u3057\u305f\u3060\u3051\u300d\u3067\u306f\u901a\u4fe1\u3067\u304d\u307e\u305b\u3093\u3002<strong>\u6b21\u306e3\u70b9\u304c\u63c3\u3063\u3066\u521d\u3081\u3066<\/strong>\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u901a\u4fe1\u304c\u6210\u7acb\u3057\u307e\u3059\u3002<\/p>\n<ol>\n<li>IGW \u304c VPC \u306b\u30a2\u30bf\u30c3\u30c1\u3055\u308c\u3066\u3044\u308b<\/li>\n<li>\u30b5\u30d6\u30cd\u30c3\u30c8\u306e\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u306b <code>0.0.0.0\/0 \u2192 igw<\/code> \u304c\u3042\u308b<\/li>\n<li>EC2 \u304c<strong>\u30d1\u30d6\u30ea\u30c3\u30af IP\uff08\u307e\u305f\u306f EIP\uff09\u3092\u6301\u3063\u3066\u3044\u308b<\/strong><\/li>\n<\/ol>\n<p>3 \u304c\u629c\u3051\u3066\u3044\u3066\u300c\u30eb\u30fc\u30c8\u306f\u901a\u3057\u305f\u306e\u306b\u7e4b\u304c\u3089\u306a\u3044\u300d\u3068\u3044\u3046\u306e\u304c\u5178\u578b\u7684\u306a\u30cf\u30de\u308a\u3069\u3053\u308d\u3067\u3059\u3002<\/p>\n<h2>NAT Gateway\uff08Private \u304b\u3089\u306e\u5916\u5411\u304d\u901a\u4fe1\uff09<\/h2>\n<p>Private \u30b5\u30d6\u30cd\u30c3\u30c8\u306e EC2 \u306f\u30d1\u30d6\u30ea\u30c3\u30af IP \u3092\u6301\u305f\u306a\u3044\u305f\u3081\u3001\u305d\u306e\u307e\u307e\u3067\u306f\u5916\u90e8\u3078\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3002\u304b\u3068\u3044\u3063\u3066 IGW \u306b\u5411\u3051\u308b\u3068\u300c\u5916\u304b\u3089\u5165\u3089\u308c\u308b\u300d\u7d4c\u8def\u3082\u958b\u3044\u3066\u3057\u307e\u3046\u3002\u305d\u3053\u3067 <strong>NAT Gateway<\/strong> \u3092 Public \u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u7f6e\u304d\u3001Private \u304b\u3089\u306e\u5916\u5411\u304d\u901a\u4fe1\u3092\u4ee3\u7406\u3055\u305b\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">[Private EC2] --0.0.0.0\/0--&gt; [NAT GW (Public Subnet)] --&gt; [IGW] --&gt; Internet\n       \u25b2                                                              \u2502\n       \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u623b\u308a\u30d1\u30b1\u30c3\u30c8\u306e\u307f\u901a\u3059 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/pre>\n<ul>\n<li>NAT Gateway \u81ea\u8eab\u306f <strong>Public \u30b5\u30d6\u30cd\u30c3\u30c8\u306b<\/strong>\u7f6e\u304f\uff08IGW \u3078\u306e\u7d4c\u8def\u304c\u5fc5\u8981\u306a\u305f\u3081\uff09<\/li>\n<li>Private \u30b5\u30d6\u30cd\u30c3\u30c8\u306e\u30eb\u30fc\u30c8\u306f <code>0.0.0.0\/0 \u2192 nat-xxxx<\/code><\/li>\n<li>\u5916\u90e8\u304b\u3089 NAT \u7d4c\u7531\u3067\u5185\u90e8\u3078\u5165\u308b\u7d4c\u8def\u306f\u5b58\u5728\u3057\u306a\u3044\uff08\uff1d\u30a4\u30f3\u30d0\u30a6\u30f3\u30c9\u906e\u65ad\uff09<\/li>\n<\/ul>\n<p>\u306a\u304a NAT Gateway \u306f<strong>\u8d77\u52d5\u3057\u3066\u3044\u308b\u9593\u305a\u3063\u3068\u8ab2\u91d1<\/strong>\u3055\u308c\u3001\u901a\u4fe1\u91cf\u306b\u3082\u8ab2\u91d1\u3055\u308c\u307e\u3059\u3002\u5b66\u7fd2\u7528\u9014\u3067\u306f\u6d88\u3057\u5fd8\u308c\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>\u5b9f\u88c5\u4f8b\uff08AWS CLI \u6700\u5c0f\u69cb\u6210\uff09<\/h2>\n<pre class=\"lang:default decode:true\"># 1. VPC \u4f5c\u6210\nVPC_ID=$(aws ec2 create-vpc \\\n  --cidr-block 10.0.0.0\/16 \\\n  --query 'Vpc.VpcId' --output text)\n\n# 2. Public \u30b5\u30d6\u30cd\u30c3\u30c8\u4f5c\u6210\nSUBNET_ID=$(aws ec2 create-subnet \\\n  --vpc-id \"$VPC_ID\" \\\n  --cidr-block 10.0.1.0\/24 \\\n  --availability-zone ap-northeast-1a \\\n  --query 'Subnet.SubnetId' --output text)\n\n# 3. Internet Gateway \u3092\u4f5c\u6210\u3057\u3066 VPC \u306b\u30a2\u30bf\u30c3\u30c1\nIGW_ID=$(aws ec2 create-internet-gateway \\\n  --query 'InternetGateway.InternetGatewayId' --output text)\naws ec2 attach-internet-gateway \\\n  --vpc-id \"$VPC_ID\" --internet-gateway-id \"$IGW_ID\"\n\n# 4. \u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u95a2\u9023\u4ed8\u3051\nRTB_ID=$(aws ec2 create-route-table \\\n  --vpc-id \"$VPC_ID\" \\\n  --query 'RouteTable.RouteTableId' --output text)\naws ec2 associate-route-table \\\n  --route-table-id \"$RTB_ID\" --subnet-id \"$SUBNET_ID\"\n\n# 5. 0.0.0.0\/0 \u2192 IGW \u306e\u30eb\u30fc\u30c8\u3092\u8ffd\u52a0\uff08\u3053\u3053\u3067\u521d\u3081\u3066\u5916\u306b\u51fa\u3089\u308c\u308b\uff09\naws ec2 create-route \\\n  --route-table-id \"$RTB_ID\" \\\n  --destination-cidr-block 0.0.0.0\/0 \\\n  --gateway-id \"$IGW_ID\"\n\n# 6. \u3053\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u3067\u8d77\u52d5\u3059\u308b EC2 \u306b\u81ea\u52d5\u3067\u30d1\u30d6\u30ea\u30c3\u30af IP \u3092\u5272\u308a\u5f53\u3066\u308b\naws ec2 modify-subnet-attribute \\\n  --subnet-id \"$SUBNET_ID\" \\\n  --map-public-ip-on-launch<\/pre>\n<h2>\u78ba\u8a8d\u65b9\u6cd5<\/h2>\n<p>\u69cb\u6210\u5f8c\u3001\u901a\u4fe1\u53ef\u5426\u3092\u5207\u308a\u5206\u3051\u308b\u30c1\u30a7\u30c3\u30af\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002<\/p>\n<ol>\n<li><strong>\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb\u306e\u4e2d\u8eab<\/strong>\u3092\u78ba\u8a8d\u3059\u308b<\/li>\n<\/ol>\n<p>``<code>bash    aws ec2 describe-route-tables --route-table-id \"$RTB_ID\" \\      --query 'RouteTables[].Routes'    <\/code>``<\/p>\n<ol>\n<li><strong>EC2 \u306b\u30d1\u30d6\u30ea\u30c3\u30af IP \u304c\u4ed8\u3044\u3066\u3044\u308b\u304b<\/strong><\/li>\n<\/ol>\n<p>``<code>bash    aws ec2 describe-instances --instance-ids i-xxxx \\      --query 'Reservations[].Instances[].PublicIpAddress'    <\/code>``<\/p>\n<ol>\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7 \/ \u30cd\u30c3\u30c8\u30ef\u30fc\u30af ACL<\/strong> \u3067\u8a72\u5f53\u30dd\u30fc\u30c8\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u304b\uff08\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304c\u6b63\u3057\u304f\u3066\u3082\u3053\u3053\u3067\u6b62\u307e\u308b\uff09\u3002<\/li>\n<li>\u5b9f\u969b\u306b EC2 \u304b\u3089 <code>curl https:\/\/checkip.amazonaws.com<\/code> \u306a\u3069\u3067\u5916\u90e8\u5230\u9054\u3092\u78ba\u8a8d\u3059\u308b\u3002<\/li>\n<\/ol>\n<h2>\u6ce8\u610f\u70b9<\/h2>\n<ul>\n<li><strong>Public \/ Private \u3092\u5206\u3051\u3066\u3044\u308b\u306e\u306f\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb<\/strong>\u3067\u3042\u308a\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u306e\u540d\u524d\u3067\u306f\u306a\u3044\u3002<\/li>\n<li>IGW \u306f\u300c\u30a2\u30bf\u30c3\u30c1 + \u30eb\u30fc\u30c8 + \u30d1\u30d6\u30ea\u30c3\u30af IP\u300d\u306e3\u70b9\u30bb\u30c3\u30c8\u3067\u521d\u3081\u3066\u6a5f\u80fd\u3059\u308b\u3002<\/li>\n<li>\u30b5\u30d6\u30cd\u30c3\u30c8\u306f AZ \u5358\u4f4d\u3002<strong>\u5197\u9577\u69cb\u6210\u306b\u3059\u308b\u306a\u3089\u6700\u4f4e2\u3064\u306e AZ<\/strong>\u306b\u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u5206\u3051\u308b\u3002<\/li>\n<li>NAT Gateway \u306f\u8d77\u52d5\u4e2d\u305a\u3063\u3068\u8ab2\u91d1\u3055\u308c\u308b\u3002\u691c\u8a3c\u5f8c\u306e\u524a\u9664\u3092\u5fd8\u308c\u306a\u3044\u3002<\/li>\n<li>IP \u30ec\u30f3\u30b8\u306f\u5f8c\u304b\u3089\u5e83\u3052\u306b\u304f\u3044\u3002<strong>\u6700\u521d\u306b\u4f59\u88d5\u3092\u6301\u3063\u305f CIDR \u8a2d\u8a08<\/strong>\u306b\u3059\u308b\u3002<\/li>\n<\/ul>\n<h2>\u307e\u3068\u3081<\/h2>\n<ul>\n<li>VPC = \u81ea\u5206\u5c02\u7528\u306e\u9694\u96e2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3002\u307e\u305a CIDR \u3092\u6c7a\u3081\u308b\u3002<\/li>\n<li>\u30b5\u30d6\u30cd\u30c3\u30c8 = VPC \u3092 AZ \u5358\u4f4d\u3067\u5206\u5272\u3057\u305f\u7bc4\u56f2\u3002\u5148\u982d4 + \u672b\u5c3e1 \u306e 5 IP \u306f\u4e88\u7d04\u3055\u308c\u308b\u3002<\/li>\n<li>\u30eb\u30fc\u30c8\u30c6\u30fc\u30d6\u30eb = \u5b9b\u5148\u3054\u3068\u306e\u9053\u6848\u5185\u3002<strong><code>0.0.0.0\/0<\/code> \u306e\u5411\u304d\u5148\u304c Public \/ Private \u3092\u6c7a\u3081\u308b<\/strong>\u3002<\/li>\n<li>IGW = \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u51fa\u5165\u53e3\u3002\u30a2\u30bf\u30c3\u30c1 + \u30eb\u30fc\u30c8 + \u30d1\u30d6\u30ea\u30c3\u30af IP \u306e3\u70b9\u3067\u6a5f\u80fd\u3059\u308b\u3002<\/li>\n<li>NAT Gateway = Private \u304b\u3089\u306e\u300c\u5916\u3078\u306f\u51fa\u308b\u304c\u5916\u304b\u3089\u306f\u5165\u3089\u308c\u306a\u3044\u300d\u7d4c\u8def\u3002<\/li>\n<\/ul>\n<p>\u3053\u306e4\u3064\u306e\u95a2\u4fc2\u304c\u8179\u843d\u3061\u3059\u308b\u3068\u3001\u300c\u30eb\u30fc\u30c8\u306f\u6b63\u3057\u3044\u306e\u306b\u7e4b\u304c\u3089\u306a\u3044\u300d\u7cfb\u306e\u30c8\u30e9\u30d6\u30eb\u3092\u3001\u3069\u306e\u30ec\u30a4\u30e4\u30fc\u3067\u5207\u308a\u5206\u3051\u308c\u3070\u3088\u3044\u304b\u304c\u898b\u3048\u3066\u304d\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AWS \u3092\u89e6\u308a\u306f\u3058\u3081\u3066\u6700\u521d\u306b\u3076\u3064\u304b\u308b\u306e\u304c VPC\uff08Virtual Private Cloud\uff09\u3067\u3059\u3002EC2 \u30921\u53f0\u7acb\u3066\u308b\u3060\u3051\u3067\u3082\u300c\u3069\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u306b\u7f6e\u304f\u304b\u300d\u300c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u51fa\u3089\u308c\u308b\u304b\u300d\u3092\u610f\u8b58\u305b\u3056\u308b\u3092\u5f97\u307e\u305b\u3093\u3002<\/p>\n","protected":false},"author":1,"featured_media":3409,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[75],"tags":[499,1031,679,562,1162],"class_list":["post-3410","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-of-serverside","tag-aws","tag-ec2","tag-679","tag-562","tag-1162"],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_publicize_connections":[],"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2026\/09\/20260910-plan018-thumbnail.jpg","_links":{"self":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/3410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/comments?post=3410"}],"version-history":[{"count":1,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/3410\/revisions"}],"predecessor-version":[{"id":3411,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/3410\/revisions\/3411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media\/3409"}],"wp:attachment":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media?parent=3410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/categories?post=3410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/tags?post=3410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}