[アップデート] EC2 Image Builder が PrivateLink に対応しました

2020.06.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

EC2 Image Builder が PrivateLink に対応しました。

EC2 Image Builder が AWS PrivateLink を介した接続のサポートを開始

やってみた

今回追加された VPC エンドポイントを利用し、インターネットに接続できないサブネットから Image Pipeline による AMI 作成を試してみました。

構成図

  • AMI 作成用のサブネットとして Private subnet を指定
    • Internet Gateway および NAT Gateway へのルート無し
  • Image Builder の動作および yum による httpd のインストールに必要となるため、imagebuilder 以外の各種 VPC エンドポイントを作成

VPC およびサブネットの作成

構成図のとおりに検証用の VPC とサブネットを作成しました。

ImagePipeline の作成

こちら のテンプレートを使用して Image Pipeline を作成しました。

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

Image Builder 用のインスタンスと VPC エンドポイントに利用する下記のセキュリティグループを作成します。(表にはインバウンドルールのみ記載。アウトバウンドルールはすべてを許可。)

セキュリティグループ名 プロトコル ソース 備考
ImageBuilderInstanceSecurityGroup ※ルールなし ※ルールなし インスタンス用
ImageBuilderEndpointSecurityGroup 443(HTTPS) ImageBuilderInstanceSecurityGroup VPC エンドポイント用

今回は検証を目的としているため、VPC エンドポイントには共通のセキュリティグループを割り当てます。

VPC エンドポイントの作成

EC2 Image Builder 用の VPC エンドポイントである com.amazonaws.region.imagebuilder を作成しました。

EC2 Image Builder の仕組みは SSM Automation によって実現されているため、Private subnet で SSM を使用するために必要な下記の VPC エンドポイントもあわせて作成します。

  • com.amazonaws.region.ssm
  • com.amazonaws.region.ssmmessages
  • com.amazonaws.region.ec2messages

また、Image Pipeline の中で Amazon Linux 2 がyum -y install httpdを実行するため、S3用のエンドポイントも作成します。

  • com.amazonaws.region.s3

参考:AWS Systems Manager / Create a Virtual Private Cloud endpoint

Image Pipelineの設定変更

上記の CFn テンプレートではネットワークの設定を施していないため、そのままではデフォルトVPCが使用されてしまいます。マネージメントコンソールから設定変更を行ないます。

EC2 Image Builder -> Image pipelines -> CFn-Pipeline -> Configration -> Configuration detailsの右側にある Edit をクリックし、ネットワーク設定の部分で今回作成したVPC・サブネット・インスタンス用のセキュリティグループ(ImageBuilderInstanceSecurityGroup)を指定します。

Image Pipeline を動かす

Run pipelineをクリックします。

しばらく待つとインスタンスが起動してきます。ここからさらに待ちます。

無事、AMI が作成されました。(地味)

終わりに

このブログがほんの少しでも世界を良くできれば嬉しいです。
コンサルティング部の西野 (@xiyegen) がお送りしました。

参考ブログ