1

私は、Cloud FormationからElastic Container Service(ECS)設定を作成しようとしています。クラウドフォーメーションからの弾性コンテナリポジトリURIを取得するには?

は、しかし、私は醜い自動生成されたURIを持つようにECSリポジトリを望んでいない:

111111111.dkr.ecr.us-east-1.amazonaws.com/docker-repo.company.com

ではなく、私はそれがリポジトリ自体がURIまたは0を設定することはできません

docker-repo.company.com

いいと光沢を持ちたいです。そこで私はS3バケットをセットアップしてレポにリダイレクトしようとしています。しかし、私が何か不足していない限り、Cloud Formationは!Refまたは!GetAttを使用して以来これをサポートしていません。リポジトリURIを与えるAWS :: ECR :: Repositoryオブジェクトでは何もクエリできません。

何か不足していますか?ありがとう!

+0

[registry](https://hub.docker.com/_registry/)を実行するだけですか?彼らはかなりシンプルです(https://docs.docker.com/registry/) – Matt

+0

本当ですが、とにかくECSを使用する予定があれば、何がポイントになりますか? AWSが管理するこのように、私たちは自分自身で管理しなければならないサービスの数を最小限に抑えます。 – oblio

+0

ええ、ECRの特定の設定の外にある要件があなたに価値がある場合のみです。 – Matt

答えて

4

これはばかげていますが、最終的にはクラウドフォーメーションがそれをサポートしていないため、ECRのURIを参照できないようです。

、さらにはthird-party, cross-cloud Terraform supports itでも充分だとはいえ、no attribute for the URIがあります。リポジトリURIが安定しているので

しかし、あなたがこの問題を回避ハックすることができ、あなたが既に持っているものからURIを構成することができますので、それは、任意のランダムな部分が含まれていないための:

HostName: !Join [ ".", [ !Ref "AWS::AccountId", "dkr.ecr", !Ref "AWS::Region", !Join [ "/", [ "amazonaws.com", !Ref "dockerrepocompanycom" ] ] ] ] 

完全に動作する設定をS3バケットを作成する:

s3dockerrepo1redirect: 
    Type: AWS::S3::Bucket 
    Properties: 
     BucketName: "docker-repo.company.com" 
     WebsiteConfiguration: 
      RedirectAllRequestsTo: 
       HostName: !Join [ ".", [ !Ref "AWS::AccountId", "dkr.ecr", !Ref "AWS::Region", !Join [ "/", [ "amazonaws.com", !Ref "dockerrepocompanycom" ] ] ] ] 
+0

男、これは残念な答えです。 –

+0

あなたはさらにもっと失望していることを知っていますか? AWSでカスタムドメイン名とHTTPSを含むあらゆる種類の設定にグローバルに分散されたインフラストラクチャ(クラウドフロント)を使用する必要があります。私が何かを見逃していない限り:(S3のセットアップが私たちの要件のために最後には機能しなかったので、私はこれを言うので、クラウドフロントに頼らざるを得なかった。 – oblio

関連する問題