カテゴリー
2022年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(25)VPCエンドポイントを理解しよう

PVアクセスランキング にほんブログ村 にほんブログ村 ブログブログへ
にほんブログ村

例えば、S3 や DynamoDB などといったサービスは、インターネットから直接利用できる、VPC 外の AWS サービスとなります。

これらへのアクセスは、VPC 内の AWS リソースからインターネットゲートウェイを経由して通信します。つまり、通信がインターネットに一度出ます。

セキュリティーを考えると、インターネットには出したくないというケースもあるでしょう。そこで VPC エンドポイントです。

VPC エンドポイントとは

VPC エンドポイントは、セキュリティ上の制約でインターネットとの通信が制限されているプライベートサブネット内の AWS リソースから、インターネットゲートウェイを経由せずに、VPC 外の AWS サービスへアクセス可能にする機能です。

VPC エンドポイントの種類と特徴

VPC エンドポイントには 3種類があり、それぞれ利用できるAWS サービスが異なります。

1. ゲートウェイエンドポイント(ゲートウェイ型)

ゲートウェイエンドポイントは、Amazon S3 または DynamoDB のみ対応しています。

S3 や DynamoDB へ接続したいリソースが配置されている VPC に VPC エンドポイントを割り当て、ルートテーブルにターゲットが VPC エンドポイントのルーティングを設定します。

ゲートウェイエンドポイントを使って S3 や DynamoDB にアクセスする時のイメージ

DynamoDB はゲートウェイ型のみ利用できますが、S3 はゲートウェイ型と PrivateLink の両方で利用可能です。

ゲートウェイエンドポイントは料金なしで使用できます。

2. インターフェイスエンドポイントAWS PrivateLink(インターフェイス型))

インターフェイスエンドポイントは AWS PrivateLink を使用し、サービスを送信先とするトラフィックのためのポイントとして Elastic Network Interface (ENI) を使用します。

サービスへ接続したいリソースが配置されているサブネットにプライベートIPアドレスを持つENIを作成し、ENIとサービスをリンクさせます。

AWS PrivateLink を使って CloudWatch や S3 にアクセスする時のイメージ

数多くの AWS サービスに対応しています。

AWS PrivateLinkと統合できる AWS のサービス

プライベート IP アドレスを使用して、VPC 内、オンプレミス、または VPC ピアリングや AWS リージョン を使用する別の AWS Transit Gateway にある VPC から Amazon S3 にリクエストをルーティングすることにより、ゲートウェイエンドポイントの機能を拡張します。

時間単位の使用料金とデータ処理料金が課金されます。

ゲートウェイ型とインターフェース型の比較

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3

3. Gateway Load Balancer エンドポイント

ゲートウェイロードバランサーのエンドポイントは AWS PrivateLink を使用し、サービスを送信先とするトラフィックのためのポイントとして Elastic Network Interface (ENI) を使用します。

時間単位の使用料金とデータ処理料金が課金されます。

VPC エンドポイントポリシー

エンドポイントの作成時、または変更時にエンドポイントにアタッチする IAM リソースポリシーのことです。

注意点は、以下の通りです

  • エンドポイントの作成時にポリシーを適用しない場合、サービスへのフルアクセスを許可するデフォルトのポリシーが適用
  • サービスがエンドポイントポリシーをサポートしていない場合、エンドポイントはサービスへのフルアクセスを許可

エンドポイントポリシーは、IAM ユーザーポリシーやサービス固有のポリシー (S3 バケットポリシーなど) を上書き、または置き換えません。これは、エンドポイントから、指定されたサービスへのアクセスを制御するための別のポリシーであるためです。

また、1つのエンドポイントに複数のポリシーを関連付けることはできません。

ポリシーはいつでも変更可能です。

おもしろかったら、フォローしてください!

世の中には楽しいことがいっぱい - にほんブログ村

最近の人気ブログ TOP 10:

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(13)VPC、EC2、ELB、Route 53 を使ってみる

VPC、EC2、ELB、Route 53 と学んできましたので、これらを組み合わせて使って、動作確認をしてみます。

ドメイン名の取得

今回はドメイン名の取得に、「お名前.com」を使います。期間限定で無料のドメインが取得できたり、1円のドメインが取得できたりします。

以下のリンクから、ドメイン名の取得ができます。

ドメイン名取得の手順

お名前.comの管理画面にログインします。

「ドメインを登録する」をクリックします。

使いたいドメイン名を入力し、「検索」をクリックします。入力したドメイン名が実際に使用可能かのチェックを行います。

私の使おうとしているドメインですと、「.work」なら1円で使えますね。期間限定で0円というのもやっています。その時期を狙うのも手です。

今回は1円で進めます。「.work」をクリックして選択します。

「お申し込みへ進む」をクリックします。

内容を確認し、「次へ」をクリックします。

「申し込む」をクリックします。事前にクレジットカード等の登録が必要です。

処理が開始されます。

ドメインの取得は完了です。

ネームサーバーの登録

AWSの管理コンソールに移動し、検索テキストボックスに「Route 53」と入力します。Route 53 が表示されるので、それをクリックします。

Route 53 の管理コンソールが表示されます。

「DNS 管理」をクリックします。

ホストゾーンを作成していきます。

ドメイン名に、先ほど取得したドメイン名を入力します。

タイプは「パブリックホストゾーン」を選択します。

「ホストゾーンの作成」をクリックして、ホストゾーンを作成します。

ホストゾーンが作成されました。

NS(Name Server)のところに表示されているのが、AWSで使用できるネームサーバーです。これをメモします。

お名前.com管理画面のトップに戻り、「ネームサーバーを登録する」をクリックします。

先ほど取得したドメイン名が表示されますので、その名前のチェックボックスにチェックを入れます。

「ネームサーバーの選択」のところで、「その他」タブをクリックします。

「その他のネームサーバーを使う」のネームサーバーのテキストボックスに、先ほどのAWSのネームサーバーを入力していきます。

4つのネームサーバーの入力が完了し、「その他のネームサーバーを使う」が選択されていることを確認し、「確認」をクリックします。

再度、登録内容を確認し、「OK」をクリックします。

画面上部に「完了しました」が表示されれば、ネームサーバーの登録は完了です。これで、AWS側のネームサーバーを使用することになりなります。

レコードの作成

Route 53 の管理コンソールに戻ります。

「レコードの作成」をクリックします。

ルーティングポリシーの画面が表示されます。

今回は「シンプルルーティング」を使用します。「次へ」を押して進みます。

「シンプルなレコードを作成」をクリックします。

レコード名は空白のままにします。

今回はELBを使いますので、「値/トラフィックのルーティング先」で、ELBのインスタンス名を選択します。

「レコードタイプ」はAを選択します。

「シンプルなレコードを作成」をクリックします。

内容を確認し、「レコードを作成」をクリックします。

レコード一覧に、ELBにトラフィックを向けたAレコードが作成されました。これで、kk-test.work 向けに流れてくるトラフィックは、ELBに向かいます。

実際に確認してみましょう。

kk-test.work 向けにPingを打ってみます。返ってくるIPアドレスを確認してみて下さい。ELBのものになっています。

NSLOOKUPでも確認してみましょう。ドメイン名とIPアドレスが表示されますね。

DIGでも確認してみましょう。ドメイン名とIPアドレスが表示されますね。

ウェブサーバーの設定変更

ウェブサーバーにSSHでリモートログインし、HTMLディレクトリーに移動します。

cd /var/www/html

このディレクトリーに、「index.html」というファイルを作成します。

sudo vim index.html

ブラウジングした時に表示させる内容を記入します。

<html>
<body>
Hello World. This is Web-01.<br>
<?php echo 'hoge'; ?>
</body>
</html>

早速、ブラウザーで確認してみましょう。”http://kk-test.wok” にアクセスしてみます。

先ほど、index.html に記入した内容が見えますね。

Route 53 の管理コンソールに戻ります。

「レコードを作成」をクリックします。

シンプルルーティングを選択し、「次へ」をクリックします。

「シンプルなレコードを定義」をクリックします。

レコード名は「www」にします。

「値/トラフィックのルーティング先」は「レコードタイプに応じたIPアドレスまたは別の値」を選択し、テキストボックスにELBのDNS名を入力します。

「レコードタイプ」は「CNAME」を選択します。

「シンプルなレコードを定義」をクリックし、レコードを作成します。

CNAME レコードが作成されました。

レコード一覧にも追加されています。

またブラウザーで確認してみましょう。今度は、「http://www.kk-test.work/index.html」にアクセスします。

index.html の内容が表示されました。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト