Databricksにおける顧客管理VPC(実践編)

> [Databricksクイックスタートガイド](https://qiita.com/taka_yayoi/items/125231c126a602693610)のコンテンツです。

# はじめに

本書はDatabricks環境構築の際に使用する[顧客管理VPC](https://qiita.com/taka_yayoi/items/f23bd799e1960e2eccbe)の作成手順をまとめたものです。本書で示しているものはあくまで一例です。お客様の要件に応じて構成を変更してください。

本書では、以下の構成でVPCを作成します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/1ef5b0aa-c8c9-6540-e1a9-b119ad2db42f.png)

> **注意** 本書では、[PrivateLink](https://qiita.com/taka_yayoi/items/c6bdbb6452f6a0895961)を使用しない構成を説明しています。PrivateLinkの設定手順に関しては[こちら](https://qiita.com/taka_yayoi/items/1ca54463469df05dd3ee)を参照ください。また、リージョンは`ap-northeast-1`を想定しています。

# VPCの作成

CIDR(`10.0.0.0/22`)を指定してVPCを作成します。作成後にDNSホスト名を有効にします。DNS解決が有効になっていることも確認します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/25a418b3-bf7d-07e1-1e05-5a72d945a1ec.png)

# インターネットゲートウェイの作成およびアタッチ

インターネットゲートウェイを作成し、[VPCの作成](#vpcの作成)で作成したVPCにアタッチします。この操作を先にしておかないと、NATゲートウェイ作成時にエラーとなります。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/d5b251bf-6da6-19c9-1a4c-ee9403bb32a5.png)

# サブネットの作成

2つ以上のワークスペース用サブネットを作成します。ワークスペース用サブネットは**異なるAvailability Zone(AZ)に作成**される必要があります。ここではワークスペース用に`10.0.1.0/25`と`10.0.2.0/25`の2つのサブネットを作成します。加えて、NATゲートウェイのサブネットもCIDR`10.0.3.0/25`で作成します。NATゲートウェイ用サブネットは上のワークスペース用サブネットと同じAZで問題ありません。

## ワークスペース用サブネット1

![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/a8a77da4-5c4d-d677-8eac-5671ffcabb38.png)

## ワークスペース用サブネット2

![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/e1ab1068-115f-5d8d-a388-354d7ccd6adc.png)

## NATゲートウェイ用サブネット

![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/95207e6e-7bac-7ca5-3d51-8b2847ad0612.png)

# NATゲートウェイの作成

[NATゲートウェイ用サブネット](#natゲートウェイ用サブネット)で作成したNATゲートウェイ用のサブネットにNATゲートウェイを作成します。作成の際にサブネットを選択し、Elastic IPを割り当てます。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/9610036a-0233-7c83-3b35-af28c72f8981.png)
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/665567b9-7888-f3fc-252a-03d80c05fc59.png)

# ルートテーブルの作成

ここまで作成したサブネットにおいて、ワークスペース用サブネットからNATゲートウェイへのルーティング、NATゲートウェイ用サブネットからインターネットゲートウェイへのルーティングを作成します。

## ワークスペース用サブネットのルートテーブルの作成

上で作成したワークスペース用サブネットを関連づけます。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/c1eff7ef-8236-2054-5332-782fe9b03be3.png)

`0.0.0.0/0`へのトラフィックを、上で作成したNATゲートウェイにルーティングします。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/218da288-1b9d-a603-3544-0113d2dfa763.png)

## NATゲートウェイ用サブネットのルートテーブルの作成

NATゲートウェイ用サブネットを関連づけます。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/06dc3845-98e5-18a8-9cd2-0a2edc07f8ed.png)

`0.0.0.0/0`へのトラフィックをインターネットゲートウェイにルーティングします。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/c66e2eca-648d-de07-3f86-363ed61dd33a.png)

# セキュリティグループの作成

作成したVPCにセキュリティグループを作成して、以下の通りインバウンドルールを作成します。自分自身を指定するためには一度ルールが空の状態でセキュリティグループを作成後、ソースに自身のセキュリティグループを指定します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/023aa007-a0e3-eb35-8878-faf0fb280ffb.png)

以下の通りアウトバウンドルールを指定します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/b2d10dab-8211-1365-b17c-f35b5b7cc6da.png)

> **注意**
ルールの送信先に自身のセキュリティグループを指定した際に、「既存のIPv4 CIDRルールに1つの参照先のグループIDを指定することはできません。」とのメッセージが出た際には、一度当該ルールを削除してからルールを追加してください。
![Screen Shot 2021-12-01 at 10.37.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/5dfe9d87-e4ed-fb77-651c-cde5875fba04.png)


# ネットワークACLの作成

上で作成した3つのサブネットにネットワークACLを作成します。インバウンド・アウトバウンドともにすべてのトラフィックを許可します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/05db13ba-82f0-2a66-9116-a7e97908a7a1.png)
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/b360dc8f-91bc-2913-a559-80e59fae6f2f.png)

# リージョナルエンドポイントの作成

## S3エンドポイントの作成

エンドポイントの作成で`com.amazonaws.ap-northeast-1.s3`のGatewayを選択し、[上で作成したVPC](#vpcの作成)、[ワークスペース用ルートテーブル](#ワークスペース用サブネットのルートテーブルの作成)を選択します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/c2736e5a-b963-24a5-44a3-ee389a1e3746.png)

## STSエンドポイントの作成

エンドポイントの作成で`com.amazonaws.ap-northeast-1.sts`のInterfaceを選択し、上で作成したサブネットを選択します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/3b4bc22f-8189-dbb2-644e-737231639f81.png)

## Kinesisエンドポイントの作成

エンドポイントの作成で`com.amazonaws.ap-northeast-1.kinesis-streams`のInterfaceを選択し、上で作成したサブネットを選択します。セキュリティグループは上で作成したものを指定します。
![Picture1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/4685dd89-a39f-a2eb-4083-eb149ae505b6.png)

以上で設定は完了です。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)