Saya memiliki cloudformation yang menciptakan Fargate AWS pada cluster ECS, dengan cara ini:

  TaskDefinition:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      RequiresCompatibilities:
        - FARGATE
      Cpu: !Ref ContainerCpu
      Memory: !Ref ContainerMemory
      ExecutionRoleArn: !Ref ExecutionRole
      TaskRoleArn: !Ref ExecutionRole
      ContainerDefinitions:
        - Name: !Sub ${ContainerName}
          Image: 'image-url-here'
          Essential: true
          HealthCheck:
            Command: ["CMD-SHELL", "test -f hc.log"]
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-region: !Sub '${AWS::Region}'
              awslogs-group: !Sub '${FeatureName}-${MicroServiceName}'
              awslogs-stream-prefix: !Ref MicroServiceName
      Family: !Sub 'family-${FeatureName}-${MicroServiceName}'
      NetworkMode: awsvpc
    DependsOn: CloudWatchLogGroup
    
  ExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Join ['', [!Ref MicroServiceName, ExecutionRole]]
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Principal:
              Service: ecs-tasks.amazonaws.com
            Action: 'sts:AssumeRole'
      ManagedPolicyArns:
        - 'arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy'
    
    

Tugas ECS saya Fargate perlu mengakses API yang berjalan dalam EC2, jadi saya membuat zona host pribadi DNS dengan alamat berikut: API.LocalAccount. Tetapi ketika saya mencoba mengakses API ini dari Fargate saya, saya mendapat kesalahan berikut:

System.Net.Http.HttpRequestException: Name or service not known

Saya tahu bahwa kesalahan ini karena Fargate AWS saya tidak dapat menyelesaikan DNS, tetapi saya tidak tahu mengapa. Jika saya mengakses DNS yang sama ini (API.LocalAccount) dari EC2 semuanya berfungsi dengan baik, jadi saya pikir Rute DNS saya 53 ok.

1
Ronaldo Lanhellas 4 April 2021, 21:30

3 jawaban

Jawaban Terbaik

Berdasarkan komentar.

Masalah ini disebabkan oleh penggunaan tautan yang salah dalam aplikasi. Dengan demikian, itu masalah tingkat aplikasi, bukan masalah ECS Farage.

1
Marcin 5 April 2021, 12:09

Layanan EC secara default tidak dapat menyelesaikan DNS. Anda harus secara eksplisit mengaktifkannya selama bagian pembuatan layanan. Setelah Anda mengaktifkannya, Anda memiliki opsi untuk memilih namespace dan jenis catatan.

* Semua ini harus dilakukan setelah menyiapkan konfigurasi REVE53 dan VPC. Dalam hal ini Anda sudah melakukan itu.

ECS Service Discovery

0
Husyn 5 April 2021, 04:13

Untuk menggunakan zona host pribadi, Anda harus mengatur pengaturan Amazon VPC berikut untuk benar:

  • enablednshostnames.
  • EnabledNSupport.
0
Asri Badlah 4 April 2021, 22:32