要約
「VPCでホスト」で「インターネット向け(internet-facing)」を選ぶとAZ分のElasticIPが必要になるので、「内部」を選択しつつNetworkLoadBalancer(NLB)を使ってインターネットからのアクセスを可能にしました。
AWS Transfer Family
S3やEBSへのSFTP等のアクセスを可能にするサーバー。
作成時の「エンドポイントを選択」で「パブリックアクセス可能」を選べば本当に簡単に作成できます。
構築してみた手順
- VPCを準備
- パブリックサブネットとプライベートサブネットを2つ
- NATゲートウェイとElasticIPを2つ
- アクセスをさせたいS3を作成
- IAMロールとIAMポリシーを作成、対象のS3アクセスをしつつTransferFamilyを信頼する
- TransferFamily用のセキュリティグループを作成
- 22,2222を開ける
- TransferFamilyを作成
- プロトコルはSFTP
- 「ID プロバイダーを選択」では"サービスマネージド"
- 「エンドポイントを選択」
- "VPCでホスト"
- "内部"
- 作ったVPCとプライベートサブネット
- 「ドメインを選択」は"Amazon S3"
- あとの詳細設定は適当に...
- NLB用のセキュリティグループを作成
- 22,2222を開ける
- NLB用のターゲットグループを作成
- "IP アドレス"
- 「プロトコル」は"TCP"、「ポート」は"22"
- 「ターゲットを登録」
- TransferFamilyに払い出されたプライベートIPを指定
- 「保留中として以下を含める」で追加
- EC2のロードバランサーからNLBを作成
- "インターネット向け"
- さっき作ったターゲットグループとセキュリティグループを設定
その他
1個しか立ち上げなくていいならElasticIP使えばNLBいらない気がします。