概要

従来は ECR からコンテナイメージを取得するために、IGW、NATGW を使用していたが、
Private Link の登場によりこれらが不要になった。

料金や、セキュリティの観点から Private Link 経由での方がメリットが多い。

料金について

Private Link
$ 0.014 * 720 = $ 10.08
$ 0.01 per 1GB processed

NAT GW
0.062 * 720 = $ 44.64(月額固定)
$ 0.062 per 1GB processed

検証環境

Fargate

  • cluster: hasegawa-ecr-privatelink
  • vpc: vpc-03dd
  • subnet: subnet-0a45

ECR

  • hasegawa-privatelink

S3

  • hasegawa-privatelink

VPC エンドポイントの作成

3つのエンドポイントを作成する。

  • com.amazonaws.us-west-2.ecr.dkr
  • com.amazonaws.us-west-2.s3
  • com.amazonaws.us-west-2.logs

ECR へのエンドポイント

f:id:rarirureluis:20200402190817p:plain

S3 へのエンドポイント

f:id:rarirureluis:20200402190916p:plain

コンテナイメージの実態は S3 にある。

CWL へのエンドポイント

f:id:rarirureluis:20200402191019p:plain

コンテナが CWL へ書き込む際に必要。

ECR エンドポイントの SG

f:id:rarirureluis:20200402191119p:plain
443 でイメージを取りに来るのでインバウンドに Fargate で使う SG を追加する。

動作確認

実際に Private Link 経由で ECR からイメージを引っ張って動作確認をする。

使用したイメージをこれ
hub.docker.com

イメージの URL は ECR のままで大丈夫。
number.dkr.ecr.us-west-2.amazonaws.com/hasegawa-privatelink:latest

f:id:rarirureluis:20200402191738p:plain
public ip は不要

f:id:rarirureluis:20200402191617p:plain
デフォルトゲートウェイもなし

確認

f:id:rarirureluis:20200402191648p:plain

問題なく、イメージを引っ張って動作確認できた。