🤦‍♂️

大阪リージョンでECSをつくるときに困ったこと

2022/02/02に公開

経緯

DR対応のため、大阪リージョンにECSでサービスをつくろうとしたのですが、東京リージョンではできていたのに大阪リージョンではできないことがいくつかありました。
(※2021年1月時点 将来的には解決するとは思いますが)

今回は困ったことを紹介していこうと思います。

① ECRを使用する際に使うVPCエンドポイントが利用できない

やろうとしたことはプライベートサブネットでECSクラスター、タスク(Fargateタイプ)を展開することでした。
ECSタスクを展開する際、ECRからイメージをプルしてくるのですが、あらかじめ VPC エンドポイントを作成する必要があります。
現行のプラットフォームバージョン 1.4.0 版の Fargate では、com.amazonaws.region.ecr.dkrcom.amazonaws.region.ecr.api という2つの VPC エンドポイント と S3 ゲートウェイエンドポイントが必要となっています。

参考記事:https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/vpc-endpoints.html

東京リージョンではもちろん使えるのですが、大阪リージョンで同じように ECS を構築しようとした際、「あれ、検索してもでてこないな」となってしまいました。

このままタスクを作成しようとすると以下のようなエラーが出てくるのではないかと思います。

ResourceInitializationError: unable to pull secrets or registry auth: pull command failed: : signal: killed

現状、大阪リージョンにおいてプライベートサブネットで ECS を展開する際には、NAT ゲートウェイを経由してインターネットに通信できるようにしないといけないようです。

どうしてもお高い構成になってしまいます。

② Container Insightsが使用できない

<追記>
大阪リージョンでも container insights が利用できるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2022/03/amazon-cloudwatch-container-insights-ecs-extended-regions/

ECS や EKS のメトリクスを一括で取得できる便利なサービスです。

参考記事:https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ContainerInsights.html

サービス単位では、CPUやメモリといったメトリクスの確認はできますが、ECS タスクであったり、EKS であればNodeやPodといった細かい単位でのメトリクスは確認できないようです。

現状確認できない部分は Datadog といった監視サービスを別途使わないといけないようです。

私が構築時に困ったことは以上ですが、まだまだ他のサービスに着目すると不便なことがあると思います。
早めに対応してくれると嬉しいですね。

Discussion