大阪リージョンでECSをつくるときに困ったこと
経緯
DR対応のため、大阪リージョンにECSでサービスをつくろうとしたのですが、東京リージョンではできていたのに大阪リージョンではできないことがいくつかありました。
(※2021年1月時点 将来的には解決するとは思いますが)
今回は困ったことを紹介していこうと思います。
① ECRを使用する際に使うVPCエンドポイントが利用できない
やろうとしたことはプライベートサブネットでECSクラスター、タスク(Fargateタイプ)を展開することでした。
ECSタスクを展開する際、ECRからイメージをプルしてくるのですが、あらかじめ VPC エンドポイントを作成する必要があります。
現行のプラットフォームバージョン 1.4.0 版の Fargate では、com.amazonaws.region.ecr.dkr
と com.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 が利用できるようになりました。
ECS や EKS のメトリクスを一括で取得できる便利なサービスです。
参考記事:https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ContainerInsights.html
サービス単位では、CPUやメモリといったメトリクスの確認はできますが、ECS タスクであったり、EKS であればNodeやPodといった細かい単位でのメトリクスは確認できないようです。
現状確認できない部分は Datadog といった監視サービスを別途使わないといけないようです。
私が構築時に困ったことは以上ですが、まだまだ他のサービスに着目すると不便なことがあると思います。
早めに対応してくれると嬉しいですね。
Discussion