AWS NATGATEWAY(NATゲートウェイ)を使ってプライベートサブネットからインターネットにアクセスする


AWS資格取得に向けて実際にAWSを利用してみるシリーズの投稿です。
今回はAWSを使っていてVPCのプライベートサブネットからインターネットにアクセスするために利用するNATゲートウェイ（NAT Gateway）を利用してみる編です。15分程度でNATゲートウェイを利用してプライベートサブネットからインターネットアクセスができるようになります。
資格勉強的にはNATゲートウェイの利用手順およびインターネットに出るために手順を学ぶといったところでしょうか。興味がある方は読んでみて下さい。

資格試験の勉強法は記事は以下を参照。

[AWS初心者がAWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法](https://qiita.com/fkooo/items/e5284a4ed3c3466ffd41 "AWS初心者がAWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法")
[AWS初心者がAWS 認定ソリューションアーキテクト – プロフェッショナル資格試験に合格した時の勉強法](https://qiita.com/fkooo/items/17fa401f4e46ecd00675 "AWS初心者がAWS 認定ソリューションアーキテクト – プロフェッショナル資格試験に合格した時の勉強法")

参考書籍は以下を参照。
「ITエンジニア本大賞2021」技術書部門 入賞書籍で、2025年改訂2版発売の人気本です。

[図解即戦力　Amazon Web Servicesのしくみと技術が これ1冊でしっかりわかる教科書　［改訂2版］](https://www.amazon.co.jp/dp/B0F2H486ZT?tag=aws_nw_001-22&linkCode=ogi&th=1&psc=1 "図解即戦力　Amazon Web Servicesのしくみと技術が これ1冊でしっかりわかる教科書　［改訂2版］")
<a href="https://www.amazon.co.jp/dp/B0F2H486ZT?tag=aws_nw_001-22&linkCode=ogi&th=1&psc=1" target="_blank" rel="noopener"><img border="0" src="https://m.media-amazon.com/images/I/51uJqV5O1vL._SL160_.jpg" ></a>

AWSのネットワークをしっかり学びたい人は次の本がおすすめです。

[AWSネットワーク入門 第2版 impress top gearシリーズ](https://www.amazon.co.jp/dp/B0BH7VT8P7?tag=aws_nw_001-22&linkCode=ogi&th=1&psc=1 "AWSネットワーク入門 第2版 impress top gearシリーズ")
<a href="https://www.amazon.co.jp/dp/B0BH7VT8P7?tag=aws_nw_001-22&linkCode=ogi&th=1&psc=1" target="_blank" rel="noopener"><img border="0" src="https://m.media-amazon.com/images/I/51NL7q1gJrL._SL160_.jpg" ></a>

今なら、 <a target="_blank" href="https://www.amazon.co.jp/kindle-dbs/hz/subscribe/ku?ref_=sv_nav_ebook_4&amp;_encoding=UTF8&amp;shoppingPortalEnabled=true&_encoding=UTF8&tag=ranpage-22&linkCode=ur2&linkId=9c9aa821591f61643ba828e04d7bc776&camp=247&creative=1211">KindleUnlimited</a> でこの本が無料で読めます。
 <a target="_blank" href="https://www.amazon.co.jp/kindle-dbs/hz/subscribe/ku?ref_=sv_nav_ebook_4&amp;_encoding=UTF8&amp;shoppingPortalEnabled=true&_encoding=UTF8&tag=ranpage-22&linkCode=ur2&linkId=9c9aa821591f61643ba828e04d7bc776&camp=247&creative=1211">KindleUnlimited</a> たまにこの手の専門書籍が無料対象になるので、非常におすすめです。
 ネットワークに関わらずAWSの無料対象本も多くあるので、AWSの知識を深めたい方は、この機会を逃さずにぜひチェックしてみてください。

資格／技術を学ぶ前に仕事ができる人になるための良書は以下の記事で紹介しています。
[【新人エンジニア向け】仕事で一人前になるためのおすすめ本](https://qiita.com/fkooo/items/ec4931e508fc445068f6 "【新人エンジニア向け】仕事で一人前になるためのおすすめ本")

## 想定読者
* プライベートサブネットからインターネットにアクセスしたい人
* NATゲートウェイを使ってみたい人

## 料金

* NATゲートウェイあたりの料金 (USD/時)：0.045USD
* 処理データ 1 GB あたりの料金 (USD)：0.045USD

あとは、データ転送料金として標準のEC2データ転送料金と同等の料金がかかりますが、これはEC2を使うと思えば一緒なので割愛します。

上記の通り、NATゲートウェイ意外と高いです。。。
特に１つ目の「NATゲートウェイあたりの料金 (USD/時)」が、使わない時はEC2みたいに一時停止ができればいいのですができないので、作ったら削除するまでこの料金がかかります。。。
　**1時間：0.045USD、1日：1.08USD、1週間：7.56USD、1ヶ月：33.48USD**
ですね。個人運用にはうっ、、、て感じがします。

実は今回の投稿にはこの部分に投稿意図があり、自分で使いたい時だけ作り直す手順の確立として投稿します。

公式ページ

https://aws.amazon.com/jp/vpc/pricing/

## 作業時間
約15分

では、実際に手順に従ってやってみましょう。

## 作業手順

作業手順は以下の２つだけになります。
すべてAWSコンソールで完結する手順になります。

１．NATゲートウェイの作成（同時にElastic IPの作成）
２．ルートテーブルにNATゲートウェイへのルーティング追加

どこかのAWSのマニュアルに書いてある内容そのままみたいな感じです。そのままです。



### １．NATゲートウェイの作成（同時にElastic IPの作成）

まずはAWSコンソールのVPCのサービス画面からNATゲートウェイの作成です。
画面操作だけで簡単にできます。
以下の**NATゲートウェイの作成**をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/fe5cbae1-d2dc-0892-edb7-55d200f60aca.png)

表示された画面で

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/95dc3ca7-5fa3-b2b5-da9a-53262144035a.png)

好きな**名前**を入力。
入力したらインターネットゲートウェイが設定されているパブリックサブネットを**サブネット**項目で選択します。
**Elastic IP 割り当て ID**で事前に準備していたElastic IP があれば選択します。
事前に準備していなければ**Elastic IP の割り当て**をクリックするとすぐに作成されます。
（タグは名前を入力すると自動で入力されます） 
一通り入力したら**NATゲートウェイを作成**をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/85c19dbd-f85a-a6c9-ce7c-a9f773f59a29.png)

これだけでNATゲートウェイが作成されます。
作成直後は状態が**Pending**のため、**Available**になるまで2,3分待ちます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/b4f88cb1-32b5-3499-87a4-ba08a1f797f6.png)

ここまででNATゲートウェイの作成が完了です。

### ２．ルートテーブルにNATゲートウェイへのルーティング追加

NATゲートウェイができたらプライベートサブネットのルートテーブルにNATゲートウェイのルーティングを追加します。
VPCのルートテーブルメニューからプライベートサブネットのルートテーブルを選択し**ルートを編集**をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/e00ad034-bb95-3e8b-f7ae-02ccf00f6bbc.png)

表示された画面で

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/fa0f7790-5d5a-2a7f-1a40-787024b37229.png)

送信先**0.0.0.0/0**に対し、ターゲットで作成した**NATゲートウェイ**を選択し、**変更を保存**をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/2dbe1bf4-fb40-02ee-ec90-28bcdd1afe1e.png)

作成されたルートが**アクティブ**であることを確認したら完了です。

以上でNATゲートウェイの作成完了です。
プライベートサブネットからインターネットと通信できるか試してみましょう。
今回は以上です。簡単ですね。

## 補足：NATゲートウェイ削除手順

個人運用している方のために削除手順も記載しておきます。
実は削除の方がひと手間かかります。
まずはNATゲートウェイの削除。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/43c2f6cb-4ba3-7fe3-83b8-92435445b373.png)

削除対象を選択して**NATゲートウェイを削除**をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/1fdf6886-7c22-5a19-58cc-684d5b37d2a3.png)

確認画面が出るので**削除**を入力して、**削除**ボタンをクリック。
削除処理が始まるので完了まで2,3分待ちます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/1a323c9c-ccbe-551f-1a99-a60188a150ce.png)

次はElastic IPの削除です。作成時はNATゲートウェイの作成の中で自動で作成されましたが、**自動で削除されない**ので手動で削除する必要があります。
手順は簡単です。
NATゲートウェイが削除されると、EC2のElastic IPメニューで**Elastic IP アドレスの解放**が選択できるようになるためクリック。
これでElastic IPの削除が完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/c6d0788a-9c3b-ccdd-ecb7-4f1c9576fa19.png)

最後に作成時の同じようにVPCのルートテーブルメニューからプライベートサブネットのルートテーブルを選択し、**バックホール**になっているルートテーブルのルートを**ルートを編集**から削除すれば削除完了です。


## まとめ

今回はNATゲートウェイの手順でした。かなり簡単だったのではないでしょうか？
作成してそのままにしておければいいのですが、料金がそれなりにかかってしまうので削除手順と合わせてみました。
作業15分と書きましたが、1,2回やってみて慣れれば2,3分といったところなので、必要な時に作成、使い終わったら削除という運用が出来れば思います。

ここまで読んで頂き、ありがとうございました！

## 資格取得に向けてAWSサービスを実際に利用してみるシリーズの投稿一覧

[とりあえず30分でAWS利用料金の高額請求に備える～予算アラート設定・MFA・料金確認～](https://qiita.com/fkooo/items/67c53c997508e25605ea "とりあえず30分でAWS利用料金の高額請求に備える～予算アラート設定・MFA・料金確認～")
[AWS ECSでDocker環境を試してみる](https://qiita.com/fkooo/items/d7d98e16e91921508450 "AWS ECSでDocker環境を試してみる")
[Amazon Cognitoを使ってシンプルなログイン画面を作ってみる](https://qiita.com/fkooo/items/660cab0090a80861155b "Amazon Cognitoを使ってシンプルなログイン画面を作ってみる")
[AWS NATゲートウェイを使ってプライベートサブネットからインターネットにアクセスする](https://qiita.com/fkooo/items/a474db0f3c2e72448d36 "AWS NATゲートウェイを使ってプライベートサブネットからインターネットにアクセスする")（本記事）
[API GatewayをPrivateで作成してみる](https://qiita.com/fkooo/items/577831abd9803eb91b16 "API GatewayをPrivateで作成してみる")
[AWSのAI(Rekognition/Polly/Transcribe/Comprehend/Translate/Textract)サービスを試してみる](https://qiita.com/fkooo/items/10f75bafd08c60fc0a66 "AWSのAI(Rekognition/Polly/Transcribe/Comprehend/Translate/Textract)サービスを試してみる")
[AWS Lambda 同時実行数、エイリアス、環境変数とか実際の現場で使える機能を勉強してみる](https://qiita.com/fkooo/items/1b24e01252e145a378db "AWS Lambda 同時実行数、エイリアス、環境変数とか実際の現場で使える機能を勉強してみる")
[AWS Lambda SAMとは？～AWS SAMを使ってPythonのLambdaプログラムを簡単に作成する～](https://qiita.com/fkooo/items/2dc5ded5149379d7305a "AWS Lambda SAMとは？～AWS SAMを使ってPythonのLambdaプログラムを簡単に作成する～")
[Cloud9でAWS Amplifyの公式チュートリアルGetting startedをやってみる](https://qiita.com/fkooo/items/84f8f57e2317b0973496 "Cloud9でAWS Amplifyの公式チュートリアルGetting startedをやってみる")