

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemples de configurations de profil de mission
<a name="examples"></a>

Les exemples fournis montrent comment utiliser un satellite de diffusion public et créer un profil de mission qui le soutient. Les modèles qui en résultent sont fournis pour vous aider à prendre contact avec un satellite de diffusion publique et pour vous aider à prendre des décisions concernant vos satellites. 

**Topics**
+ [JPSS-1 - Satellite de diffusion public (PBS) - Évaluation](#examples.pbs-definition)
+ [Satellite de diffusion publique utilisant la livraison de données Amazon S3](examples.pbs-to-s3.md)
+ [Satellite de diffusion public utilisant un point de terminaison de flux de données (bande étroite)](examples.pbs-data-dataflow-endpoint.md)
+ [Satellite de diffusion public utilisant un point de terminaison de flux de données (démodulé et décodé)](examples.pbs-dataflow-endpoint-demod-decode.md)
+ [Satellite de diffusion publique utilisant AWS Ground Station l'agent (large bande)](examples.pbs-agent.md)

## JPSS-1 - Satellite de diffusion public (PBS) - Évaluation
<a name="examples.pbs-definition"></a>

 Cette section d'exemple correspond au[Vue d'ensemble du processus d'intégration des clients](getting-started.step1.md#customer-onboarding-process). Il fournit une brève analyse de compatibilité avec AWS Ground Station les exemples spécifiques suivants et prépare le terrain pour les exemples spécifiques qui suivent. 

 Comme indiqué dans la [Satellites de diffusion publics](getting-started.step1.md#public-broadcast-satellites) section, vous pouvez utiliser certains satellites, ou les voies de communication d'un satellite, accessibles au public. Dans cette section, nous décrivons [JPSS-1](https://www.nesdis.noaa.gov/our-satellites/currently-flying/joint-polar-satellite-system) en termes. AWS Ground Station À titre de référence, nous utilisons le [document de contrôle de l'interface radiofréquence (ICD) (ICD) des données à haut débit (HRD) du Joint Polar Satellite System 1 (JPSS-1) pour les stations de diffusion directe (DBS)](https://www.nesdis.noaa.gov/s3/2022-03/JPSS-1SCHRDtoDBSRFICDRevA-470-REF-00184February9,2015.pdf). Il convient également de noter que le JPSS-1 est associé à l'ID 43013 du NORAD. 

 Le satellite JPSS-1 propose une voie de communication en liaison montante et trois voies de communication en liaison descendante directe, comme le montre la figure 1-1 de l'ICD. Parmi ces quatre voies de communication, seule la voie de communication descendante de données à haut débit (HRD) est disponible pour la consommation publique. Sur cette base, vous verrez que ce chemin sera également associé à des données beaucoup plus spécifiques. Les quatre voies sont les suivantes : 
+ Chemin de commande (liaison montante) à une fréquence MHz centrale de 2067,27 avec un débit de données de 2 à 128 kbit/s. Ce chemin n'est pas accessible au public. 
+ Chemin de télémétrie (liaison descendante) à une fréquence MHz centrale de 2247,5 avec un débit de données de 1 à 524 kbps. Ce chemin n'est pas accessible au public. 
+ Chemin SMD (liaison descendante) à une fréquence GHz centrale de 26,7034 avec un débit de 150 à 300 Mbps. Ce chemin n'est pas accessible au public. 
+ La RF pour le trajet HRD (liaison descendante) à une fréquence MHz centrale de 7812 avec un débit de données de 15 Mbps. Il a une MHz bande passante de 30, et c'est le cas right-hand-circular-polarized. Lorsque vous embarquez à bord du JPSS-1 AWS Ground Station, c'est le chemin de communication auquel vous avez accès. Ce chemin de communication contient des données scientifiques sur les instruments, des données d'ingénierie des instruments, des données de télémétrie des instruments et des données d'entretien en temps réel des engins spatiaux. 

Lorsque nous comparons les chemins de données potentiels, nous constatons que les chemins de commande (liaison montante), de télémétrie (liaison descendante) et HRD (liaison descendante) répondent aux capacités de fréquence, de bande passante et d'utilisation simultanée multicanaux de. AWS Ground Station Le chemin SMD n'est pas compatible car la fréquence centrale est hors de portée des récepteurs existants. Pour plus d'informations sur les fonctionnalités prises en charge, consultez[AWS Ground Station Fonctionnalités du site](locations.capabilities.md). 

**Note**  
Comme le chemin SMD n'est pas compatible avec AWS Ground Station celui-ci, il ne sera pas représenté dans les exemples de configurations. 

**Note**  
Comme les chemins de commande (liaison montante) et de télémétrie (liaison descendante) ne sont pas définis dans l'ICD et ne sont pas disponibles pour un usage public, les valeurs fournies lors de leur utilisation sont fictives. 

# Satellite de diffusion publique utilisant la livraison de données Amazon S3
<a name="examples.pbs-to-s3"></a>

 Cet exemple s'appuie sur l'analyse effectuée dans la [JPSS-1 - Satellite de diffusion public (PBS) - Évaluation](examples.md#examples.pbs-definition) section du guide de l'utilisateur. 

 Pour cet exemple, vous devez supposer un scénario : vous souhaitez capturer le chemin de communication HRD sous forme de fréquence intermédiaire numérique et le stocker pour un futur traitement par lots. Cela permet d'économiser les échantillons bruts en quadrature de phase (I/Q) de radiofréquence (RF) une fois qu'ils ont été numérisés. Une fois que les données se trouvent dans votre compartiment Amazon S3, vous pouvez les démoduler et les décoder à l'aide du logiciel de votre choix. Consultez le [ MathWorks didacticiel](https://www.mathworks.com/help/satcom/ug/capture-satellite-data-using-aws-ground-station.html) pour un exemple détaillé de traitement. Après avoir utilisé cet exemple, vous pouvez envisager d'ajouter des composants de tarification au EC2 comptant d'Amazon pour traiter les données et réduire vos coûts de traitement globaux. 

## Voies de communication
<a name="examples.pbs-to-s3.communication-paths"></a>

 Cette section représente [Planifiez les voies de communication de votre flux de données](getting-started.step2.md) la mise en route. 

 Tous les extraits de modèle suivants appartiennent à la section Ressources du CloudFormation modèle. 

```
Resources:
  # Resources that you would like to create should be placed within the Resources section.
```

**Note**  
 Pour plus d'informations sur le contenu d'un CloudFormation modèle, consultez les [sections relatives aux modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html). 

 Compte tenu de notre scénario consistant à fournir un chemin de communication unique à Amazon S3, vous savez que vous n'aurez qu'un seul chemin de livraison asynchrone. Selon la [Livraison de données asynchrone](getting-started.step2.md#getting-started.step2.async-data-delivery) section, vous devez définir un compartiment Amazon S3. 

```
  # The S3 bucket where AWS Ground Station will deliver the downlinked data.
  GroundStationS3DataDeliveryBucket:
    Type: AWS::S3::Bucket
    DeletionPolicy: Retain
    UpdateReplacePolicy: Retain
    Properties:
      # Results in a bucket name formatted like: aws-groundstation-data-{account id}-{region}-{random 8 character string}
      BucketName: !Join ["-", ["aws-groundstation-data", !Ref AWS::AccountId, !Ref AWS::Region, !Select [0, !Split ["-", !Select [2, !Split ["/", !Ref AWS::StackId]]]]]]
```

 En outre, vous devrez créer les rôles et les politiques appropriés afin d' AWS Ground Station autoriser l'utilisation du bucket. 

```
  # The IAM role that AWS Ground Station will assume to have permission find and write
  # data to your S3 bucket.
  GroundStationS3DataDeliveryRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Action:
              - 'sts:AssumeRole'
            Effect: Allow
            Principal:
              Service:
                - groundstation.amazonaws.com
            Condition:
              StringEquals:
                "aws:SourceAccount": !Ref AWS::AccountId
              ArnLike:
                "aws:SourceArn": !Sub "arn:aws:groundstation:${AWS::Region}:${AWS::AccountId}:config/s3-recording/*"

  # The S3 bucket policy that defines what actions AWS Ground Station can perform on your S3 bucket.
  GroundStationS3DataDeliveryBucketPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - 's3:GetBucketLocation'
            Effect: Allow
            Resource:
              - !GetAtt GroundStationS3DataDeliveryBucket.Arn
          - Action:
              - 's3:PutObject'
            Effect: Allow
            Resource:
              - !Join [ "/", [ !GetAtt GroundStationS3DataDeliveryBucket.Arn, "*" ] ]
      PolicyName: GroundStationS3DataDeliveryPolicy
      Roles:
        - !Ref GroundStationS3DataDeliveryRole
```

## AWS Ground Station configurations
<a name="examples.pbs-to-s3.configs"></a>

 Cette section représente [Création de configurations](getting-started.step3.md) la mise en route. 

 Vous aurez besoin d'une *configuration de suivi pour* définir vos préférences en matière d'utilisation du suivi automatique. La sélection de *PREFERRED* comme autotrack peut améliorer la qualité du signal, mais elle n'est pas obligatoire pour atteindre la qualité du signal en raison de la qualité suffisante des éphémérides JPSS-1. 

```
  TrackingConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Tracking Config"
      ConfigData:
        TrackingConfig:
          Autotrack: "PREFERRED"
```

 En fonction du chemin de communication, vous devrez définir une configuration *antenne-liaison descendante* pour représenter la partie satellite, ainsi qu'un *enregistrement* S3 pour faire référence au compartiment Amazon S3 que vous venez de créer. 

```
  # The AWS Ground Station Antenna Downlink Config that defines the frequency spectrum used to
  # downlink data from your satellite.
  JpssDownlinkDigIfAntennaConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Downlink DigIF Antenna Config"
      ConfigData:
        AntennaDownlinkConfig:
          SpectrumConfig:
            Bandwidth:
              Units: "MHz"
              Value: 30
            CenterFrequency:
              Units: "MHz"
              Value: 7812
            Polarization: "RIGHT_HAND"

  # The AWS Ground Station S3 Recording Config that defines the S3 bucket and IAM role to use
  # when AWS Ground Station delivers the downlink data.
  S3RecordingConfig:
    Type: AWS::GroundStation::Config
    DependsOn: GroundStationS3DataDeliveryBucketPolicy
    Properties:
      Name: "JPSS S3 Recording Config"
      ConfigData:
        S3RecordingConfig:
          BucketArn: !GetAtt GroundStationS3DataDeliveryBucket.Arn
          RoleArn: !GetAtt GroundStationS3DataDeliveryRole.Arn
```

## AWS Ground Station profil de mission
<a name="examples.pbs-to-s3.mission-profile"></a>

 Cette section représente [Création d'un profil de mission](getting-started.step4.md) la mise en route. 

 Maintenant que vous disposez des configurations associées, vous pouvez les utiliser pour créer le flux de données. Vous utiliserez les valeurs par défaut pour les autres paramètres. 

```
  # The AWS Ground Station Mission Profile that groups the above configurations to define how to downlink data.
  JpssAsynchMissionProfile:
    Type: AWS::GroundStation::MissionProfile
    Properties:
      Name: "43013 JPSS Asynchronous Data"
      MinimumViableContactDurationSeconds: 180
      TrackingConfigArn: !Ref TrackingConfig
      DataflowEdges:
        - Source: !Ref JpssDownlinkDigIfAntennaConfig
          Destination: !Ref S3RecordingConfig
```

## Assemblage
<a name="examples.pbs-to-s3.putting-it-together"></a>

 Grâce aux ressources ci-dessus, vous avez désormais la possibilité de planifier des contacts JPSS-1 pour la livraison de données asynchrones à partir de n'importe lequel de vos contacts intégrés. AWS Ground Station [AWS Ground Station Succursales](aws-ground-station-antenna-locations.md) 

 Ce qui suit est un CloudFormation modèle complet qui inclut toutes les ressources décrites dans cette section combinées dans un modèle unique qui peut être directement utilisé dans CloudFormation. 

 Le CloudFormation modèle nommé `AquaSnppJpss-1TerraDigIfS3DataDelivery.yml` contient un compartiment Amazon S3 et les AWS Ground Station ressources nécessaires pour planifier les contacts et recevoir les données de diffusion directe du signal VITA-49/IP. 

 Si Aqua, SNPP, JPSS-1/NOAA-20 et Terra ne sont pas intégrés à votre compte, consultez. [satellite embarqué](getting-started.step1.md) 

**Note**  
 Vous pouvez accéder au modèle en accédant au compartiment Amazon S3 du client qui intègre le compartiment Amazon S3 à l'aide AWS d'informations d'identification valides. Les liens ci-dessous utilisent un compartiment Amazon S3 régional. Modifiez le code de `us-west-2` région pour représenter la région correspondante dans laquelle vous souhaitez créer la CloudFormation pile.   
 En outre, les instructions suivantes utilisent le langage YAML. Cependant, les modèles sont disponibles au format YAML et JSON. Pour utiliser le format JSON, remplacez l'extension de `.yml` fichier par `.json` lors du téléchargement du modèle. 

 Pour télécharger le modèle à l'aide de AWS CLI, utilisez la commande suivante : 

```
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/AquaSnppJpss-1TerraDigIfS3DataDelivery.yml .
```

 Vous pouvez consulter le modèle et le télécharger dans la console en entrant l'URL suivante dans votre navigateur : 

```
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/AquaSnppJpss-1TerraDigIfS3DataDelivery.yml
```

 Vous pouvez spécifier le modèle directement en CloudFormation utilisant le lien suivant : 

```
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/AquaSnppJpss-1TerraDigIfS3DataDelivery.yml
```

# Satellite de diffusion public utilisant un point de terminaison de flux de données (bande étroite)
<a name="examples.pbs-data-dataflow-endpoint"></a>

 Cet exemple s'appuie sur l'analyse effectuée dans la [JPSS-1 - Satellite de diffusion public (PBS) - Évaluation](examples.md#examples.pbs-definition) section du guide de l'utilisateur. 

 Pour compléter cet exemple, vous devez supposer un scénario : vous souhaitez capturer le chemin de communication HRD sous forme de fréquence intermédiaire numérique (DigIF) et le traiter tel qu'il est reçu par une application de point de terminaison de flux de données sur une instance EC2 Amazon à l'aide d'un SDR. 

## Voies de communication
<a name="examples.pbs-dataflow-endpoint.communication-paths"></a>

 Cette section représente [Planifiez les voies de communication de votre flux de données](getting-started.step2.md) la mise en route. Dans cet exemple, vous allez créer deux sections dans votre CloudFormation modèle : les sections Paramètres et Ressources.

**Note**  
 Pour plus d'informations sur le contenu d'un CloudFormation modèle, consultez les [sections relatives aux modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html). 

 Pour la section Paramètres, vous allez ajouter les paramètres suivants. Vous spécifierez leurs valeurs lors de la création de la pile via la CloudFormation console. 

```
Parameters:
  EC2Key:
    Description: The SSH key used to access the EC2 receiver instance. Choose any SSH key if you are not creating an EC2 receiver instance. For instructions on how to create an SSH key see [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)
    Type: AWS::EC2::KeyPair::KeyName
    ConstraintDescription: must be the name of an existing EC2 KeyPair.

  ReceiverAMI:
    Description: The Ground Station DDX AMI ID you want to use. Please note that AMIs are region specific. For instructions on how to retrieve an AMI see [https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis](https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis)
    Type: AWS::EC2::Image::Id
```

**Note**  
 Vous **devez** créer une paire de clés et fournir le nom du EC2 `EC2Key` paramètre Amazon. Consultez la section [Créer une paire de clés pour votre EC2 instance Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html).   
 En outre, vous **devrez** fournir le bon ID d'AMI **spécifique à la région** lors de la création de la CloudFormation pile. Consultez [AWS Ground Station Images de machines Amazon (AMIs)](dataflows.ec2-configuration.md#dataflows.ec2-configuration.amis). 

 Les autres extraits de modèle se trouvent dans la section Ressources du CloudFormation modèle. 

```
Resources:
  # Resources that you would like to create should be placed within the resource section.
```

 Dans notre scénario consistant à fournir un chemin de communication unique à une EC2 instance, vous disposerez d'un seul chemin de diffusion synchrone. Selon [Livraison synchrone des données](getting-started.step2.md#getting-started.step2.sync-data-delivery) cette section, vous devez configurer une EC2 instance Amazon avec une application de point de terminaison de flux de données, et créer un ou plusieurs groupes de points de terminaison de flux de données. 

```
  # The EC2 instance that will send/receive data to/from your satellite using AWS Ground Station.
  ReceiverInstance:
    Type: AWS::EC2::Instance
    Properties:
      DisableApiTermination: false
      IamInstanceProfile: !Ref GeneralInstanceProfile
      ImageId: !Ref ReceiverAMI
      InstanceType: m5.4xlarge
      KeyName: !Ref EC2Key
      Monitoring: true
      PlacementGroupName: !Ref ClusterPlacementGroup
      SecurityGroupIds:
        - Ref: InstanceSecurityGroup
      SubnetId: !Ref ReceiverSubnet
      BlockDeviceMappings:
        - DeviceName: /dev/xvda
          Ebs:
            VolumeType: gp2
            VolumeSize: 40
      Tags:
        - Key: Name
          Value: !Join [ "-" , [ "Receiver" , !Ref "AWS::StackName" ] ]
      UserData:
        Fn::Base64:
          |
          #!/bin/bash
          exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
          echo `date +'%F %R:%S'` "INFO: Logging Setup" >&2

          GROUND_STATION_DIR="/opt/aws/groundstation"
          GROUND_STATION_BIN_DIR="${GROUND_STATION_DIR}/bin"
          STREAM_CONFIG_PATH="${GROUND_STATION_DIR}/customer_stream_config.json"

          echo "Creating ${STREAM_CONFIG_PATH}"
          cat << STREAM_CONFIG > "${STREAM_CONFIG_PATH}"
          {
            "ddx_streams": [
              {
                "streamName": "Downlink",
                "maximumWanRate": 4000000000,
                "lanConfigDevice": "lo",
                "lanConfigPort": 50000,
                "wanConfigDevice": "eth1",
                "wanConfigPort": 55888,
                "isUplink": false
              }
            ]
          }
          STREAM_CONFIG

          echo "Waiting for dataflow endpoint application to start"
          while netstat -lnt | awk '$4 ~ /:80$/ {exit 1}'; do sleep 10; done

          echo "Configuring dataflow endpoint application streams"
          python "${GROUND_STATION_BIN_DIR}/configure_streams.py" --configFileName "${STREAM_CONFIG_PATH}"
          sleep 2
          python "${GROUND_STATION_BIN_DIR}/save_default_config.py"

          exit 0

  # The AWS Ground Station Dataflow Endpoint Group that defines the endpoints that AWS Ground
  # Station will use to send/receive data to/from your satellite.
  DataflowEndpointGroup:
    Type: AWS::GroundStation::DataflowEndpointGroup
    Properties:
      ContactPostPassDurationSeconds: 180
      ContactPrePassDurationSeconds: 120
      EndpointDetails:
        - Endpoint:
            Name: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ] # needs to match DataflowEndpointConfig name
            Address:
              Name: !GetAtt ReceiverInstanceNetworkInterface.PrimaryPrivateIpAddress
              Port: 55888
          SecurityDetails:
            SecurityGroupIds:
              - Ref: "DataflowEndpointSecurityGroup"
            SubnetIds:
              - !Ref ReceiverSubnet
            RoleArn: !GetAtt DataDeliveryServiceRole.Arn

  # The security group for your EC2 instance.
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: AWS Ground Station receiver instance security group.
      VpcId: !Ref ReceiverVPC
      SecurityGroupIngress:
        # To allow SSH access to the instance, add another rule allowing tcp port 22 from your CidrIp
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          SourceSecurityGroupId: !Ref DataflowEndpointSecurityGroup
          Description: "AWS Ground Station Downlink Stream"

  # The security group that the ENI created by AWS Ground Station belongs to.
  DataflowEndpointSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Security Group for AWS Ground Station registration of Dataflow Endpoint Groups
      VpcId: !Ref ReceiverVPC
      SecurityGroupEgress:
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 10.0.0.0/8
          Description: "AWS Ground Station Downlink Stream To 10/8"
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 172.16.0.0/12
          Description: "AWS Ground Station Downlink Stream To 172.16/12"
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 192.168.0.0/16
          Description: "AWS Ground Station Downlink Stream To 192.168/16"

  # The placement group in which your EC2 instance is placed.
  ClusterPlacementGroup:
    Type: AWS::EC2::PlacementGroup
    Properties:
      Strategy: cluster

  ReceiverVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: "10.0.0.0/16"
      Tags:
        - Key: "Name"
          Value: "AWS Ground Station - PBS to dataflow endpoint Example VPC"
        - Key: "Description"
          Value: "VPC for EC2 instance receiving AWS Ground Station data"

  ReceiverSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      # Ensure your CidrBlock will always have at least one available IP address per dataflow endpoint.
      # See https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html for subent sizing guidelines.
      CidrBlock: "10.0.0.0/24"
      Tags:
        - Key: "Name"
          Value: "AWS Ground Station - PBS to dataflow endpoint Example Subnet"
        - Key: "Description"
          Value: "Subnet for EC2 instance receiving AWS Ground Station data"
      VpcId: !Ref ReceiverVPC

  # An ENI providing a fixed IP address for AWS Ground Station to connect to.
  ReceiverInstanceNetworkInterface:
    Type: AWS::EC2::NetworkInterface
    Properties:
      Description: Floating network interface providing a fixed IP address for AWS Ground Station to connect to.
      GroupSet:
        - !Ref InstanceSecurityGroup
      SubnetId: !Ref ReceiverSubnet

  # Attach the ENI to the EC2 instance.
  ReceiverInstanceInterfaceAttachment:
    Type: AWS::EC2::NetworkInterfaceAttachment
    Properties:
      DeleteOnTermination: false
      DeviceIndex: "1"
      InstanceId: !Ref ReceiverInstance
      NetworkInterfaceId: !Ref ReceiverInstanceNetworkInterface
```

 En outre, vous devrez également créer les politiques et les rôles appropriés pour permettre de AWS Ground Station créer une Elastic Network Interface (ENI) dans votre compte. 

```
  # AWS Ground Station assumes this role to create/delete ENIs in your account in order to stream data.
  DataDeliveryServiceRole:
    Type: AWS::IAM::Role
    Properties:
      Policies:
        - PolicyDocument:
            Statement:
              - Action:
                  - ec2:CreateNetworkInterface
                  - ec2:DeleteNetworkInterface
                  - ec2:CreateNetworkInterfacePermission
                  - ec2:DeleteNetworkInterfacePermission
                  - ec2:DescribeSubnets
                  - ec2:DescribeVpcs
                  - ec2:DescribeSecurityGroups
                Effect: Allow
                Resource: '*'
            Version: '2012-10-17'
          PolicyName: DataDeliveryServicePolicy
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service:
              - groundstation.amazonaws.com
            Action:
            - sts:AssumeRole

  # The EC2 instance assumes this role.
  InstanceRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "ec2.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
        - arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
        - arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM

  # The instance profile for your EC2 instance.
  GeneralInstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - !Ref InstanceRole
```

## AWS Ground Station configurations
<a name="examples.pbs-dataflow-endpoint.configs"></a>

 Cette section représente [Création de configurations](getting-started.step3.md) la mise en route. 

 Vous aurez besoin d'une *configuration de suivi pour* définir vos préférences en matière d'utilisation du suivi automatique. La sélection de *PREFERRED* comme autotrack peut améliorer la qualité du signal, mais elle n'est pas obligatoire pour atteindre la qualité du signal en raison de la qualité suffisante des éphémérides JPSS-1. 

```
  TrackingConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Tracking Config"
      ConfigData:
        TrackingConfig:
          Autotrack: "PREFERRED"
```

 Sur la base du chemin de communication, vous devez définir une configuration *antenne-liaison descendante* pour représenter la partie satellite, ainsi qu'une configuration de point de terminaison de flux de données pour faire référence au groupe de points de *terminaison de flux de données* qui définit les détails du point de terminaison. 

```
  # The AWS Ground Station Antenna Downlink Config that defines the frequency spectrum used to
  # downlink data from your satellite.
  SnppJpssDownlinkDigIfAntennaConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "SNPP JPSS Downlink DigIF Antenna Config"
      ConfigData:
        AntennaDownlinkConfig:
          SpectrumConfig:
            Bandwidth:
              Units: "MHz"
              Value: 30
            CenterFrequency:
              Units: "MHz"
              Value: 7812
            Polarization: "RIGHT_HAND"

  # The AWS Ground Station Dataflow Endpoint Config that defines the endpoint used to downlink data
  # from your satellite.
  DownlinkDigIfEndpointConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "Aqua SNPP JPSS Downlink DigIF Endpoint Config"
      ConfigData:
        DataflowEndpointConfig:
          DataflowEndpointName: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ]
          DataflowEndpointRegion: !Ref AWS::Region
```

## AWS Ground Station profil de mission
<a name="examples.pbs-dataflow-endpoint.mission-profile"></a>

 Cette section représente [Création d'un profil de mission](getting-started.step4.md) la mise en route. 

 Maintenant que vous disposez des configurations associées, vous pouvez les utiliser pour créer le flux de données. Vous utiliserez les valeurs par défaut pour les autres paramètres. 

```
  # The AWS Ground Station Mission Profile that groups the above configurations to define how to
  # uplink and downlink data to your satellite.
  SnppJpssMissionProfile:
    Type: AWS::GroundStation::MissionProfile
    Properties:
      Name: "37849 SNPP And 43013 JPSS"
      ContactPrePassDurationSeconds: 120
      ContactPostPassDurationSeconds: 60
      MinimumViableContactDurationSeconds: 180
      TrackingConfigArn: !Ref TrackingConfig
      DataflowEdges:
        - Source: !Ref SnppJpssDownlinkDigIfAntennaConfig
          Destination: !Ref DownlinkDigIfEndpointConfig
```

## Assemblage
<a name="examples.pbs-dataflow-endpoint.putting-it-together"></a>

 Grâce aux ressources ci-dessus, vous avez désormais la possibilité de planifier des contacts JPSS-1 pour une livraison synchrone des données depuis n'importe lequel de vos contacts intégrés. AWS Ground Station [AWS Ground Station Succursales](aws-ground-station-antenna-locations.md) 

 Ce qui suit est un CloudFormation modèle complet qui inclut toutes les ressources décrites dans cette section combinées dans un modèle unique qui peut être directement utilisé dans CloudFormation. 

 Le CloudFormation modèle nommé `AquaSnppJpssTerraDigIF.yml` est conçu pour vous permettre de commencer rapidement à recevoir des données de fréquence intermédiaire numérisées (DigIF) pour les satellites Aqua, SNPP, JPSS-1/NOAA-20 et Terra. Il contient une EC2 instance Amazon et les CloudFormation ressources nécessaires pour recevoir les données brutes de diffusion directe de DigiF. 

 Si Aqua, SNPP, JPSS-1/NOAA-20 et Terra ne sont pas intégrés à votre compte, consultez. [satellite embarqué](getting-started.step1.md) 

**Note**  
 Vous pouvez accéder au modèle en accédant au compartiment Amazon S3 du client qui intègre le compartiment Amazon S3 à l'aide AWS d'informations d'identification valides. Les liens ci-dessous utilisent un compartiment Amazon S3 régional. Modifiez le code de `us-west-2` région pour représenter la région correspondante dans laquelle vous souhaitez créer la CloudFormation pile.   
 En outre, les instructions suivantes utilisent le langage YAML. Cependant, les modèles sont disponibles au format YAML et JSON. Pour utiliser le format JSON, remplacez l'extension de `.yml` fichier par `.json` lors du téléchargement du modèle. 

 Pour télécharger le modèle à l'aide de AWS CLI, utilisez la commande suivante : 

```
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml .
```

 Vous pouvez consulter le modèle et le télécharger dans la console en entrant l'URL suivante dans votre navigateur : 

```
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml
```

 Vous pouvez définir le modèle directement en CloudFormation utilisant le lien suivant : 

```
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/AquaSnppJpssTerraDigIF.yml
```

**Quelles ressources supplémentaires le modèle définit-il ?**

Le `AquaSnppJpssTerraDigIF` modèle inclut les ressources supplémentaires suivantes :
+ (Facultatif) **Déclencheurs d'CloudWatch événements** : AWS Lambda fonction déclenchée à l'aide d' CloudWatch événements envoyés AWS Ground Station avant et après un contact. La AWS Lambda fonction démarrera et arrêtera éventuellement votre instance de réception. 
+ (Facultatif) **EC2 Vérification des contacts** - Possibilité d'utiliser Lambda pour configurer un système de vérification de vos EC2 instances Amazon pour les contacts avec notification SNS. Il est important de noter que cela peut entraîner des frais en fonction de votre utilisation actuelle. 
+  **Ground Station Amazon Machine Image Retrieval Lambda** - La possibilité de sélectionner le logiciel installé sur votre instance et l'AMI de votre choix. Les options du logiciel incluent `DDX 2.6.2 Only` et`DDX 2.6.2 with qRadio 3.6.0`. Ces options continueront de s'étendre à mesure que des mises à jour logicielles et des fonctionnalités supplémentaires seront publiées. 
+  Profils de **mission supplémentaires - Profils** de mission pour d'autres satellites de diffusion publique (Aqua, SNPP et Terra). 
+  **Configurations supplémentaires de liaison descendante d'antenne - Configurations** de liaison descendante d'antenne pour des satellites de diffusion publics supplémentaires (Aqua, SNPP et Terra). 

 Les valeurs et paramètres pour les satellites dans ce modèle sont déjà renseignés. Ces paramètres vous permettent d'utiliser facilement et AWS Ground Station immédiatement ces satellites. Vous n'avez pas besoin de configurer vos propres valeurs pour pouvoir les utiliser AWS Ground Station lors de l'utilisation de ce modèle. Toutefois, vous pouvez personnaliser les valeurs pour que le modèle fonctionne selon votre cas d'utilisation. 

**Où puis-je recevoir mes données ?**

 Le groupe de points de terminaison de flux de données est configuré pour utiliser l'interface réseau d'instance de récepteur créée dans le cadre du modèle. L'instance de réception utilise une application de point de terminaison de flux de données pour recevoir le flux de données depuis le port défini par AWS Ground Station le point de terminaison du flux de données. Une fois reçues, les données sont disponibles pour la consommation via le port UDP 50000 sur l'adaptateur de bouclage de l'instance du récepteur. Pour plus d'informations sur la configuration d'un groupe de points de terminaison de flux de données, consultez. [ AWS::GroundStation::DataflowEndpointGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html) 

# Satellite de diffusion public utilisant un point de terminaison de flux de données (démodulé et décodé)
<a name="examples.pbs-dataflow-endpoint-demod-decode"></a>

 Cet exemple s'appuie sur l'analyse effectuée dans la [JPSS-1 - Satellite de diffusion public (PBS) - Évaluation](examples.md#examples.pbs-definition) section du guide de l'utilisateur. 

 Pour compléter cet exemple, vous devez supposer un scénario : vous souhaitez capturer le chemin de communication HRD sous forme de données de diffusion directe démodulées et décodées à l'aide d'un point de terminaison de flux de données. Cet exemple constitue un bon point de départ si vous envisagez de traiter les données à l'aide du logiciel NASA Direct Readout Labs (RT-STPS et IPOPP). 

## Voies de communication
<a name="examples.pbs-dataflow-endpoint-demod-decode.communication-paths"></a>

 Cette section représente [Planifiez les voies de communication de votre flux de données](getting-started.step2.md) la mise en route. Dans cet exemple, vous allez créer deux sections dans votre CloudFormation modèle : les sections Paramètres et Ressources. 

**Note**  
 Pour plus d'informations sur le contenu d'un CloudFormation modèle, consultez les [sections relatives aux modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html). 

 Pour la section Paramètres, vous allez ajouter les paramètres suivants. Vous spécifierez leurs valeurs lors de la création de la pile via la CloudFormation console. 

```
Parameters:
  EC2Key:
    Description: The SSH key used to access the EC2 receiver instance. Choose any SSH key if you are not creating an EC2 receiver instance. For instructions on how to create an SSH key see [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)
    Type: AWS::EC2::KeyPair::KeyName
    ConstraintDescription: must be the name of an existing EC2 KeyPair.

  ReceiverAMI:
    Description: The Ground Station DDX AMI ID you want to use. Please note that AMIs are region specific. For instructions on how to retrieve an AMI see [https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis](https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis)
    Type: AWS::EC2::Image::Id
```

**Note**  
 Vous **devez** créer une paire de clés et fournir le nom du EC2 `EC2Key` paramètre Amazon. Consultez la section [Créer une paire de clés pour votre EC2 instance Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html).   
 En outre, vous **devrez** fournir le bon ID d'AMI **spécifique à la région** lors de la création de la CloudFormation pile. Consultez [AWS Ground Station Images de machines Amazon (AMIs)](dataflows.ec2-configuration.md#dataflows.ec2-configuration.amis). 

 Les autres extraits de modèle se trouvent dans la section Ressources du CloudFormation modèle. 

```
Resources:
  # Resources that you would like to create should be placed within the resource section.
```

 Dans notre scénario consistant à fournir un chemin de communication unique à une EC2 instance, vous disposerez d'un seul chemin de diffusion synchrone. Selon [Livraison synchrone des données](getting-started.step2.md#getting-started.step2.sync-data-delivery) cette section, vous devez configurer une EC2 instance Amazon avec une application de point de terminaison de flux de données, et créer un ou plusieurs groupes de points de terminaison de flux de données. 

```
  # The EC2 instance that will send/receive data to/from your satellite using AWS Ground Station.
  ReceiverInstance:
    Type: AWS::EC2::Instance
    Properties:
      DisableApiTermination: false
      IamInstanceProfile: !Ref GeneralInstanceProfile
      ImageId: !Ref ReceiverAMI
      InstanceType: m5.4xlarge
      KeyName: !Ref EC2Key
      Monitoring: true
      PlacementGroupName: !Ref ClusterPlacementGroup
      SecurityGroupIds:
        - Ref: InstanceSecurityGroup
      SubnetId: !Ref ReceiverSubnet
      BlockDeviceMappings:
        - DeviceName: /dev/xvda
          Ebs:
            VolumeType: gp2
            VolumeSize: 40
      Tags:
        - Key: Name
          Value: !Join [ "-" , [ "Receiver" , !Ref "AWS::StackName" ] ]
      UserData:
        Fn::Base64:
          |
          #!/bin/bash
          exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
          echo `date +'%F %R:%S'` "INFO: Logging Setup" >&2

          GROUND_STATION_DIR="/opt/aws/groundstation"
          GROUND_STATION_BIN_DIR="${GROUND_STATION_DIR}/bin"
          STREAM_CONFIG_PATH="${GROUND_STATION_DIR}/customer_stream_config.json"

          echo "Creating ${STREAM_CONFIG_PATH}"
          cat << STREAM_CONFIG > "${STREAM_CONFIG_PATH}"
          {
            "ddx_streams": [
              {
                "streamName": "Downlink",
                "maximumWanRate": 4000000000,
                "lanConfigDevice": "lo",
                "lanConfigPort": 50000,
                "wanConfigDevice": "eth1",
                "wanConfigPort": 55888,
                "isUplink": false
              }
            ]
          }
          STREAM_CONFIG

          echo "Waiting for dataflow endpoint application to start"
          while netstat -lnt | awk '$4 ~ /:80$/ {exit 1}'; do sleep 10; done

          echo "Configuring dataflow endpoint application streams"
          python "${GROUND_STATION_BIN_DIR}/configure_streams.py" --configFileName "${STREAM_CONFIG_PATH}"
          sleep 2
          python "${GROUND_STATION_BIN_DIR}/save_default_config.py"

          exit 0
```

```
  # The AWS Ground Station Dataflow Endpoint Group that defines the endpoints that AWS Ground
  # Station will use to send/receive data to/from your satellite.
  DataflowEndpointGroup:
    Type: AWS::GroundStation::DataflowEndpointGroup
    Properties:
      ContactPostPassDurationSeconds: 180
      ContactPrePassDurationSeconds: 120
      EndpointDetails:
        - Endpoint:
            Name: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ] # needs to match DataflowEndpointConfig name
            Address:
              Name: !GetAtt ReceiverInstanceNetworkInterface.PrimaryPrivateIpAddress
              Port: 55888
          SecurityDetails:
            SecurityGroupIds:
              - Ref: "DataflowEndpointSecurityGroup"
            SubnetIds:
              - !Ref ReceiverSubnet
            RoleArn: !GetAtt DataDeliveryServiceRole.Arn

  # The security group that the ENI created by AWS Ground Station belongs to.
  DataflowEndpointSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Security Group for AWS Ground Station registration of Dataflow Endpoint Groups
      VpcId: !Ref ReceiverVPC
      SecurityGroupEgress:
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 10.0.0.0/8
          Description: "AWS Ground Station Downlink Stream To 10/8"
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 172.16.0.0/12
          Description: "AWS Ground Station Downlink Stream To 172.16/12"
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          CidrIp: 192.168.0.0/16
          Description: "AWS Ground Station Downlink Stream To 192.168/16"

  # The placement group in which your EC2 instance is placed.
  ClusterPlacementGroup:
    Type: AWS::EC2::PlacementGroup
    Properties:
      Strategy: cluster

  # The security group for your EC2 instance.
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: AWS Ground Station receiver instance security group.
      VpcId: !Ref ReceiverVPC
      SecurityGroupIngress:
        # To allow SSH access to the instance, add another rule allowing tcp port 22 from your CidrIp
        - IpProtocol: udp
          FromPort: 55888
          ToPort: 55888
          SourceSecurityGroupId: !Ref DataflowEndpointSecurityGroup
          Description: "AWS Ground Station Downlink Stream"

  ReceiverVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: "10.0.0.0/16"
      Tags:
        - Key: "Name"
          Value: "AWS Ground Station - PBS to dataflow endpoint Demod Decode Example VPC"
        - Key: "Description"
          Value: "VPC for EC2 instance receiving AWS Ground Station data"

  ReceiverSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: "10.0.0.0/24"
      Tags:
        - Key: "Name"
          Value: "AWS Ground Station - PBS to dataflow endpoint Demod Decode Example Subnet"
        - Key: "Description"
          Value: "Subnet for EC2 instance receiving AWS Ground Station data"
      VpcId: !Ref ReceiverVPC

  # An ENI providing a fixed IP address for AWS Ground Station to connect to.
  ReceiverInstanceNetworkInterface:
    Type: AWS::EC2::NetworkInterface
    Properties:
      Description: Floating network interface providing a fixed IP address for AWS Ground Station to connect to.
      GroupSet:
        - !Ref InstanceSecurityGroup
      SubnetId: !Ref ReceiverSubnet

  # Attach the ENI to the EC2 instance.
  ReceiverInstanceInterfaceAttachment:
    Type: AWS::EC2::NetworkInterfaceAttachment
    Properties:
      DeleteOnTermination: false
      DeviceIndex: "1"
      InstanceId: !Ref ReceiverInstance
      NetworkInterfaceId: !Ref ReceiverInstanceNetworkInterface

  # The instance profile for your EC2 instance.
  GeneralInstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - !Ref InstanceRole
```

 Vous aurez également besoin des politiques, des rôles et des profils appropriés AWS Ground Station pour créer une Elastic Network Interface (ENI) dans votre compte. 

```
  # AWS Ground Station assumes this role to create/delete ENIs in your account in order to stream data.
  DataDeliveryServiceRole:
    Type: AWS::IAM::Role
    Properties:
      Policies:
        - PolicyDocument:
            Statement:
              - Action:
                  - ec2:CreateNetworkInterface
                  - ec2:DeleteNetworkInterface
                  - ec2:CreateNetworkInterfacePermission
                  - ec2:DeleteNetworkInterfacePermission
                  - ec2:DescribeSubnets
                  - ec2:DescribeVpcs
                  - ec2:DescribeSecurityGroups
                Effect: Allow
                Resource: '*'
            Version: '2012-10-17'
          PolicyName: DataDeliveryServicePolicy
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service:
              - groundstation.amazonaws.com
            Action:
            - sts:AssumeRole

  # The EC2 instance assumes this role.
  InstanceRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "ec2.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
        - arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
        - arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM
```

## AWS Ground Station configurations
<a name="examples.pbs-dataflow-endpoint-demod-decode.configs"></a>

 Cette section représente le guide [Création de configurations](getting-started.step3.md) de l'utilisateur. 

 Vous aurez besoin d'une *configuration de suivi pour* définir vos préférences en matière d'utilisation du suivi automatique. La sélection de *PREFERRED* comme autotrack peut améliorer la qualité du signal, mais elle n'est pas obligatoire pour atteindre la qualité du signal en raison de la qualité suffisante des éphémérides JPSS-1. 

```
  TrackingConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Tracking Config"
      ConfigData:
        TrackingConfig:
          Autotrack: "PREFERRED"
```

 En fonction du chemin de communication, vous devez définir une *antenna-downlink-demod-decode*configuration pour représenter la partie satellite, ainsi qu'une configuration de point de terminaison de flux de *données pour faire référence au groupe de points de terminaison de flux* de données qui définit les détails du point de terminaison. 

**Note**  
 Pour plus de détails sur la façon de définir les valeurs pour`DemodulationConfig`, et`DecodeConfig`, veuillez consulter[Config de décodage/démodulation des signaux d’antenne de liaison descendante](how-it-works.config.md#how-it-works.config-antenna-downlink-demod-decode). 

```
  # The AWS Ground Station Antenna Downlink Config that defines the frequency spectrum used to
  # downlink data from your satellite.
  JpssDownlinkDemodDecodeAntennaConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Downlink Demod Decode Antenna Config"
      ConfigData:
        AntennaDownlinkDemodDecodeConfig:
          SpectrumConfig:
            CenterFrequency:
              Value: 7812
              Units: "MHz"
            Polarization: "RIGHT_HAND"
            Bandwidth:
              Value: 30
              Units: "MHz"
          DemodulationConfig:
            UnvalidatedJSON: '{
              "type":"QPSK",
              "qpsk":{
                "carrierFrequencyRecovery":{
                  "centerFrequency":{
                    "value":7812,
                    "units":"MHz"
                  },
                  "range":{
                    "value":250,
                    "units":"kHz"
                  }
                },
                "symbolTimingRecovery":{
                  "symbolRate":{
                    "value":15,
                    "units":"Msps"
                  },
                  "range":{
                    "value":0.75,
                    "units":"ksps"
                  },
                  "matchedFilter":{
                    "type":"ROOT_RAISED_COSINE",
                    "rolloffFactor":0.5
                  }
                }
              }
            }'
          DecodeConfig:
            UnvalidatedJSON: '{
              "edges":[
                {
                  "from":"I-Ingress",
                  "to":"IQ-Recombiner"
                },
                {
                  "from":"Q-Ingress",
                  "to":"IQ-Recombiner"
                },
                {
                  "from":"IQ-Recombiner",
                  "to":"CcsdsViterbiDecoder"
                },
                {
                  "from":"CcsdsViterbiDecoder",
                  "to":"NrzmDecoder"
                },
                {
                  "from":"NrzmDecoder",
                  "to":"UncodedFramesEgress"
                }
              ],
              "nodeConfigs":{
                "I-Ingress":{
                  "type":"CODED_SYMBOLS_INGRESS",
                  "codedSymbolsIngress":{
                    "source":"I"
                  }
                },
                "Q-Ingress":{
                  "type":"CODED_SYMBOLS_INGRESS",
                  "codedSymbolsIngress":{
                    "source":"Q"
                  }
                },
                "IQ-Recombiner":{
                  "type":"IQ_RECOMBINER"
                },
                "CcsdsViterbiDecoder":{
                  "type":"CCSDS_171_133_VITERBI_DECODER",
                  "ccsds171133ViterbiDecoder":{
                    "codeRate":"ONE_HALF"
                  }
                },
                "NrzmDecoder":{
                  "type":"NRZ_M_DECODER"
                },
                "UncodedFramesEgress":{
                  "type":"UNCODED_FRAMES_EGRESS"
                }
              }
            }'
```

```
  # The AWS Ground Station Dataflow Endpoint Config that defines the endpoint used to downlink data
  # from your satellite.
  DownlinkDemodDecodeEndpointConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "Aqua SNPP JPSS Downlink Demod Decode Endpoint Config"
      ConfigData:
        DataflowEndpointConfig:
          DataflowEndpointName: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ]
          DataflowEndpointRegion: !Ref AWS::Region
```

## AWS Ground Station profil de mission
<a name="examples.pbs-dataflow-endpoint-demod-decode.mission-profile"></a>

 Cette section représente le guide [Création d'un profil de mission](getting-started.step4.md) de l'utilisateur. 

 Maintenant que vous disposez des configurations associées, vous pouvez les utiliser pour créer le flux de données. Vous utiliserez les valeurs par défaut pour les autres paramètres. 

```
  # The AWS Ground Station Mission Profile that groups the above configurations to define how to
  # uplink and downlink data to your satellite.
  SnppJpssMissionProfile:
    Type: AWS::GroundStation::MissionProfile
    Properties:
      Name: "37849 SNPP And 43013 JPSS"
      ContactPrePassDurationSeconds: 120
      ContactPostPassDurationSeconds: 60
      MinimumViableContactDurationSeconds: 180
      TrackingConfigArn: !Ref TrackingConfig
      DataflowEdges:
        - Source: !Join [ "/", [ !Ref JpssDownlinkDemodDecodeAntennaConfig, "UncodedFramesEgress" ] ]
          Destination: !Ref DownlinkDemodDecodeEndpointConfig
```

## Assemblage
<a name="examples.pbs-dataflow-endpoint-demod-decode.putting-it-together"></a>

 Grâce aux ressources ci-dessus, vous avez désormais la possibilité de planifier des contacts JPSS-1 pour une livraison synchrone des données depuis n'importe quel appareil intégré. AWS Ground Station [AWS Ground Station Succursales](aws-ground-station-antenna-locations.md) 

 Ce qui suit est un CloudFormation modèle complet qui inclut toutes les ressources décrites dans cette section combinées dans un modèle unique qui peut être directement utilisé dans CloudFormation. 

 Le CloudFormation modèle nommé `AquaSnppJpss.yml` est conçu pour vous permettre d'accéder rapidement pour commencer à recevoir des données pour les satellites Aqua, SNPP et JPSS-1/NOAA-20. Il contient une EC2 instance Amazon et les AWS Ground Station ressources nécessaires pour planifier les contacts et recevoir des données de diffusion directe démodulées et décodées. 

 Si Aqua, SNPP, JPSS-1/NOAA-20 et Terra ne sont pas intégrés à votre compte, consultez. [satellite embarqué](getting-started.step1.md) 

**Note**  
 Vous pouvez accéder au modèle en accédant au compartiment Amazon S3 du client qui intègre le compartiment Amazon S3 à l'aide AWS d'informations d'identification valides. Les liens ci-dessous utilisent un compartiment Amazon S3 régional. Modifiez le code de `us-west-2` région pour représenter la région correspondante dans laquelle vous souhaitez créer la CloudFormation pile.   
 En outre, les instructions suivantes utilisent le langage YAML. Cependant, les modèles sont disponibles au format YAML et JSON. Pour utiliser le format JSON, remplacez l'extension de `.yml` fichier par `.json` lors du téléchargement du modèle. 

 Pour télécharger le modèle à l'aide de AWS CLI, utilisez la commande suivante : 

```
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/AquaSnppJpss.yml .
```

 Vous pouvez consulter le modèle et le télécharger dans la console en entrant l'URL suivante dans votre navigateur : 

```
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/AquaSnppJpss.yml
```

 Vous pouvez définir le modèle directement en CloudFormation utilisant le lien suivant : 

```
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/AquaSnppJpss.yml
```

**Quelles ressources supplémentaires le modèle définit-il ?**

Le `AquaSnppJpss` modèle inclut les ressources supplémentaires suivantes :
+ (Facultatif) **Déclencheurs d'CloudWatch événements** : AWS Lambda fonction déclenchée à l'aide d' CloudWatch événements envoyés AWS Ground Station avant et après un contact. La AWS Lambda fonction démarrera et arrêtera éventuellement votre instance de réception. 
+ (Facultatif) **EC2 Vérification des contacts** - Possibilité d'utiliser Lambda pour configurer un système de vérification de vos EC2 instances Amazon pour les contacts avec notification SNS. Il est important de noter que cela peut entraîner des frais en fonction de votre utilisation actuelle. 
+  **Ground Station Amazon Machine Image Retrieval Lambda** - La possibilité de sélectionner le logiciel installé sur votre instance et l'AMI de votre choix. Les options logicielles incluent `DDX 2.6.2 Only` et`DDX 2.6.2 with qRadio 3.6.0`. Si vous souhaitez utiliser Wideband DigiF Data Delivery et l' AWS Ground Station agent, consultez. [Satellite de diffusion publique utilisant AWS Ground Station l'agent (large bande)](examples.pbs-agent.md) Ces options continueront de s'étendre à mesure que des mises à jour logicielles et des fonctionnalités supplémentaires seront publiées. 
+  Profils de **mission supplémentaires - Profils** de mission pour d'autres satellites de diffusion publique (Aqua, SNPP et Terra). 
+  **Configurations supplémentaires de liaison descendante d'antenne - Configurations** de liaison descendante d'antenne pour des satellites de diffusion publics supplémentaires (Aqua, SNPP et Terra). 

 Les valeurs et paramètres pour les satellites dans ce modèle sont déjà renseignés. Ces paramètres vous permettent d'utiliser facilement et AWS Ground Station immédiatement ces satellites. Vous n'avez pas besoin de configurer vos propres valeurs pour pouvoir les utiliser AWS Ground Station lorsque vous utilisez ce modèle. Toutefois, vous pouvez personnaliser les valeurs pour que le modèle fonctionne selon votre cas d'utilisation. 

 **Où puis-je recevoir mes données ?** 

 Le groupe de points de terminaison de flux de données est configuré pour utiliser l'interface réseau d'instance de récepteur créée dans le cadre du modèle. L'instance de réception utilise une application de point de terminaison de flux de données pour recevoir le flux de données depuis le port défini par AWS Ground Station le point de terminaison du flux de données. Une fois reçues, les données sont disponibles pour la consommation via le port UDP 50000 sur l'adaptateur de bouclage de l'instance du récepteur. Pour plus d'informations sur la configuration d'un groupe de points de terminaison de flux de données, consultez. [ AWS::GroundStation::DataflowEndpointGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html) 

# Satellite de diffusion publique utilisant AWS Ground Station l'agent (large bande)
<a name="examples.pbs-agent"></a>

 Cet exemple s'appuie sur l'analyse effectuée dans la [JPSS-1 - Satellite de diffusion public (PBS) - Évaluation](examples.md#examples.pbs-definition) section du guide de l'utilisateur. 

 Pour compléter cet exemple, vous devez supposer un scénario : vous souhaitez capturer le chemin de communication HRD sous forme de fréquence intermédiaire numérique à large bande (DigIF) et le traiter tel qu'il est reçu par l'agent AWS Ground Station sur une instance Amazon EC2 à l'aide d'un SDR. 

**Note**  
 Le signal du chemin de communication JPSS HRD actuel a une bande passante de 30 MHz, mais vous allez configurer la configuration *antenne-liaison descendante* pour le traiter comme un signal avec une MHz bande passante de 100 % afin qu'il puisse circuler sur le chemin correct pour être reçu par l'agent dans cet exemple. AWS Ground Station 

## Voies de communication
<a name="examples.pbs-agent.communication-paths"></a>

 Cette section représente [Planifiez les voies de communication de votre flux de données](getting-started.step2.md) la mise en route. Pour cet exemple, vous aurez besoin d'une section supplémentaire dans votre CloudFormation modèle qui n'a pas été utilisée dans les autres exemples, la section Mappages. 

**Note**  
 Pour plus d'informations sur le contenu d'un CloudFormation modèle, consultez les [sections relatives aux modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html). 

 Vous allez commencer par configurer une section Mappings dans votre CloudFormation modèle pour les listes de AWS Ground Station préfixes par région. Cela permet aux listes de préfixes d'être facilement référencées par le groupe de sécurité des EC2 instances Amazon. Pour plus d'informations sur l'utilisation d'une liste de préfixes, consultez[Configuration VPC avec agent AWS Ground Station](dataflows.vpc-configuration.md#dataflows.vpc-configuration.agent). 

```
Mappings:
  PrefixListId:
    us-east-2:
      groundstation: pl-087f83ba4f34e3bea
    us-west-2:
      groundstation: pl-0cc36273da754ebdc
    us-east-1:
      groundstation: pl-0e5696d987d033653
    eu-central-1:
      groundstation: pl-03743f81267c0a85e
    sa-east-1:
      groundstation: pl-098248765e9effc20
    ap-northeast-2:
      groundstation: pl-059b3e0b02af70e4d
    ap-southeast-1:
      groundstation: pl-0d9b804fe014a6a99
    ap-southeast-2:
      groundstation: pl-08d24302b8c4d2b73
    me-south-1:
      groundstation: pl-02781422c4c792145
    eu-west-1:
      groundstation: pl-03fa6b266557b0d4f
    eu-north-1:
      groundstation: pl-033e44023025215c0
    af-south-1:
      groundstation: pl-0382d923a9d555425
```

 Pour la section Paramètres, vous allez ajouter les paramètres suivants. Vous spécifierez leurs valeurs lors de la création de la pile via la CloudFormation console. 

```
Parameters:
  EC2Key:
    Description: The SSH key used to access the EC2 receiver instance. Choose any SSH key if you are not creating an EC2 receiver instance. For instructions on how to create an SSH key see [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)
    Type: AWS::EC2::KeyPair::KeyName
    ConstraintDescription: must be the name of an existing EC2 KeyPair.

  AZ: 
    Description: "The AvailabilityZone that the resources of this stack will be created in. (e.g. us-east-2a)"
    Type: AWS::EC2::AvailabilityZone::Name

  ReceiverAMI:
    Description: The Ground Station Agent AMI ID you want to use. Please note that AMIs are region specific. For instructions on how to retrieve an AMI see [https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis](https://docs.aws.amazon.com/ground-station/latest/ug/dataflows.ec2-configuration.html#dataflows.ec2-configuration.amis)
    Type: AWS::EC2::Image::Id
```

**Note**  
 Vous **devez** créer une paire de clés et fournir le nom du EC2 `EC2Key` paramètre Amazon. Consultez la section [Créer une paire de clés pour votre EC2 instance Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html).   
 En outre, vous **devrez** fournir le bon ID d'AMI **spécifique à la région** lors de la création de la CloudFormation pile. Consultez [AWS Ground Station Images de machines Amazon (AMIs)](dataflows.ec2-configuration.md#dataflows.ec2-configuration.amis). 

 Les autres extraits de modèle se trouvent dans la section Ressources du CloudFormation modèle. 

```
Resources:
  # Resources that you would like to create should be placed within the Resources section.
```

 Compte tenu de notre scénario consistant à fournir un chemin de communication unique à une EC2 instance Amazon, vous savez que vous n'aurez qu'un seul chemin de livraison synchrone. Selon la [Livraison synchrone des données](getting-started.step2.md#getting-started.step2.sync-data-delivery) section, vous devez installer et configurer une EC2 instance Amazon avec l' AWS Ground Station Agent, et créer un ou plusieurs groupes de points de terminaison de flux de données. Vous allez commencer par configurer le VPC Amazon pour l' AWS Ground Station agent. 

```
  ReceiverVPC:
    Type: AWS::EC2::VPC
    Properties:
      EnableDnsSupport: 'true'
      EnableDnsHostnames: 'true'
      CidrBlock: 10.0.0.0/16
      Tags:
      - Key: "Name"
        Value: "AWS Ground Station Example - PBS to AWS Ground Station Agent VPC"
      - Key: "Description"
        Value: "VPC for EC2 instance receiving AWS Ground Station data"

  PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref ReceiverVPC
      MapPublicIpOnLaunch: 'true'
      AvailabilityZone: !Ref AZ
      CidrBlock: 10.0.0.0/20
      Tags:
      - Key: "Name"
        Value: "AWS Ground Station Example - PBS to AWS Ground Station Agent Public Subnet"
      - Key: "Description"
        Value: "Subnet for EC2 instance receiving AWS Ground Station data"

  RouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref ReceiverVPC
      Tags:
        - Key: Name
          Value: AWS Ground Station Example - RouteTable
  
  RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref RouteTable
      SubnetId: !Ref PublicSubnet

  Route:
    Type: AWS::EC2::Route
    DependsOn: InternetGateway
    Properties:
      RouteTableId: !Ref RouteTable
      DestinationCidrBlock: '0.0.0.0/0'
      GatewayId: !Ref InternetGateway
  
  InternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: AWS Ground Station Example - Internet Gateway
    
  GatewayAttachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref ReceiverVPC
      InternetGatewayId: !Ref InternetGateway
```

**Note**  
 Pour plus d'informations sur les configurations VPC prises en charge par l' AWS Ground Station agent, consultez la section [Exigences relatives à l'AWS Ground Station agent - diagrammes VPC](https://docs.aws.amazon.com/ground-station/latest/gs-agent-ug/agent-requirements.html#vpc-subnet-diagrams). 

 Vous allez ensuite configurer l' EC2 instance Amazon de Receiver. 

```
  # The placement group in which your EC2 instance is placed.
  ClusterPlacementGroup:
    Type: AWS::EC2::PlacementGroup
    Properties:
      Strategy: cluster

  # This is required for the EIP if the receiver EC2 instance is in a private subnet.
  # This ENI must exist in a public subnet, be attached to the receiver and be associated with the EIP.
  ReceiverInstanceNetworkInterface:
    Type: AWS::EC2::NetworkInterface
    Properties:
      Description: Floating network interface
      GroupSet:
        - !Ref InstanceSecurityGroup
      SubnetId: !Ref PublicSubnet

  # An EIP providing a fixed IP address for AWS Ground Station to connect to. Attach it to the receiver instance created in the stack.
  ReceiverInstanceElasticIp:
    Type: AWS::EC2::EIP
    Properties:
      Tags:
        - Key: Name
          Value: !Join [ "-" , [ "EIP" , !Ref "AWS::StackName" ] ]

  # Attach the ENI to the EC2 instance if using a separate public subnet.
  # Requires the receiver instance to be in a public subnet (SubnetId should be the id of a public subnet)
  ReceiverNetworkInterfaceAttachment:
    Type: AWS::EC2::NetworkInterfaceAttachment
    Properties:
      DeleteOnTermination: false
      DeviceIndex: 1
      InstanceId: !Ref ReceiverInstance
      NetworkInterfaceId: !Ref ReceiverInstanceNetworkInterface

  # Associate EIP with the ENI if using a separate public subnet for the ENI.
  ReceiverNetworkInterfaceElasticIpAssociation:
    Type: AWS::EC2::EIPAssociation
    Properties:
      AllocationId: !GetAtt [ReceiverInstanceElasticIp, AllocationId]
      NetworkInterfaceId: !Ref ReceiverInstanceNetworkInterface

  # The EC2 instance that will send/receive data to/from your satellite using AWS Ground Station.
  ReceiverInstance:
    Type: AWS::EC2::Instance
    DependsOn: PublicSubnet
    Properties:
      DisableApiTermination: false
      IamInstanceProfile: !Ref GeneralInstanceProfile
      ImageId: !Ref ReceiverAMI
      AvailabilityZone: !Ref AZ
      InstanceType: c5.24xlarge
      KeyName: !Ref EC2Key
      Monitoring: true
      PlacementGroupName: !Ref ClusterPlacementGroup
      SecurityGroupIds:
        - Ref: InstanceSecurityGroup
      SubnetId: !Ref PublicSubnet
      Tags:
        - Key: Name
          Value: !Join [ "-" , [ "Receiver" , !Ref "AWS::StackName" ] ]
      # agentCpuCores list in the AGENT_CONFIG below defines the cores that the AWS Ground Station Agent is allowed to run on. This list can be changed to suit your use-case, however if the agent isn't supplied with enough cores data loss may occur.
      UserData:
        Fn::Base64:
          Fn::Sub:
            - |
              #!/bin/bash
              yum -y update

              AGENT_CONFIG_PATH="/opt/aws/groundstation/etc/aws-gs-agent-config.json"
              cat << AGENT_CONFIG > "$AGENT_CONFIG_PATH"
              {
                "capabilities": [
                  "arn:aws:groundstation:${AWS::Region}:${AWS::AccountId}:dataflow-endpoint-group/${DataflowEndpointGroupId}"
                ],
                "device": {
                  "privateIps": [
                    "127.0.0.1"
                  ],
                  "publicIps": [
                    "${EIP}"
                  ],
                  "agentCpuCores": [
                    24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92
                  ]
                }
              }
              AGENT_CONFIG

              systemctl start aws-groundstation-agent
              systemctl enable aws-groundstation-agent

              # <Tuning Section Start>
              # Visit the AWS Ground Station Agent Documentation in the User Guide for more details and guidance updates

              # Set IRQ affinity with list of CPU cores and Receive Side Scaling mask
              # Core list should be the first two cores (and hyperthreads) on each socket
              # Mask set to everything currently
              # https://github.com/torvalds/linux/blob/v4.11/Documentation/networking/scaling.txt#L80-L96
              echo "@reboot sudo /opt/aws/groundstation/bin/set_irq_affinity.sh '0 1 48 49' 'ffffffff,ffffffff,ffffffff' >>/var/log/user-data.log 2>&1" >>/var/spool/cron/root

              # Reserving the port range defined in the GS agent ingress address in the Dataflow Endpoint Group so the kernel doesn't steal any of them from the GS agent. These ports are the ports that the GS agent will ingress data
              # across, so if the kernel steals one it could cause problems ingressing data onto the instance.
              echo net.ipv4.ip_local_reserved_ports="42000-50000" >> /etc/sysctl.conf

              # </Tuning Section End>

              # We have to reboot for linux kernel settings to apply
              shutdown -r now

            - DataflowEndpointGroupId: !Ref DataflowEndpointGroup
              EIP: !Ref ReceiverInstanceElasticIp
```

```
  # The AWS Ground Station Dataflow Endpoint Group that defines the endpoints that AWS Ground
  # Station will use to send/receive data to/from your satellite.
  DataflowEndpointGroup:
    Type: AWS::GroundStation::DataflowEndpointGroup
    Properties:
      ContactPostPassDurationSeconds: 180
      ContactPrePassDurationSeconds: 120
      EndpointDetails:
        - AwsGroundStationAgentEndpoint:
            Name: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ] # needs to match DataflowEndpointConfig name
            EgressAddress:
              SocketAddress:
                Name: 127.0.0.1
                Port: 55000
            IngressAddress:
              SocketAddress:
                Name: !Ref ReceiverInstanceElasticIp
                PortRange:
                  Minimum: 42000
                  Maximum: 55000
```

 Vous aurez également besoin des politiques, des rôles et des profils appropriés AWS Ground Station pour créer l'Elastic network interface (ENI) dans votre compte. 

```
  # The security group for your EC2 instance.
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: AWS Ground Station receiver instance security group.
      VpcId: !Ref ReceiverVPC
      SecurityGroupEgress:
        - CidrIp: 0.0.0.0/0
          Description: Allow all outbound traffic by default
          IpProtocol: "-1"
      SecurityGroupIngress:
        # To allow SSH access to the instance, add another rule allowing tcp port 22 from your CidrIp
        - IpProtocol: udp
          Description: Allow AWS Ground Station Incoming Dataflows
          ToPort: 50000
          FromPort: 42000
          SourcePrefixListId:
            Fn::FindInMap:
              - PrefixListId
              - Ref: AWS::Region
              - groundstation

   # The EC2 instance assumes this role.
  InstanceRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: "Allow"
            Principal:
              Service:
                - "ec2.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Path: "/"
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
        - arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
        - arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM
        - arn:aws:iam::aws:policy/AWSGroundStationAgentInstancePolicy
      Policies:
        - PolicyDocument:
            Statement:
              - Action:
                  - sts:AssumeRole
                Effect: Allow
                Resource: !GetAtt GroundStationKmsKeyRole.Arn
            Version: "2012-10-17"
          PolicyName: InstanceGroundStationApiAccessPolicy

  # The instance profile for your EC2 instance.
  GeneralInstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - !Ref InstanceRole

  # The IAM role that AWS Ground Station will assume to access and use the KMS Key for data delivery
  GroundStationKmsKeyRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - groundstation.amazonaws.com
            Condition:
              StringEquals:
                "aws:SourceAccount": !Ref AWS::AccountId
              ArnLike:
                "aws:SourceArn": !Sub "arn:${AWS::Partition}:groundstation:${AWS::Region}:${AWS::AccountId}:mission-profile/*"
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              AWS: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:root"

  GroundStationKmsKeyAccessPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - kms:Decrypt
            Effect: Allow
            Resource: !GetAtt GroundStationDataDeliveryKmsKey.Arn
      PolicyName: GroundStationKmsKeyAccessPolicy
      Roles:
        - Ref: GroundStationKmsKeyRole

  GroundStationDataDeliveryKmsKey:
    Type: AWS::KMS::Key
    Properties:
      KeyPolicy:
        Statement:
          - Action:
              - kms:CreateAlias
              - kms:Describe*
              - kms:Enable*
              - kms:List*
              - kms:Put*
              - kms:Update*
              - kms:Revoke*
              - kms:Disable*
              - kms:Get*
              - kms:Delete*
              - kms:ScheduleKeyDeletion
              - kms:CancelKeyDeletion
              - kms:GenerateDataKey
              - kms:TagResource
              - kms:UntagResource
            Effect: Allow
            Principal:
              AWS: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:root"
            Resource: "*"
          - Action:
              - kms:Decrypt
              - kms:GenerateDataKeyWithoutPlaintext
            Effect: Allow
            Principal:
              AWS: !GetAtt GroundStationKmsKeyRole.Arn
            Resource: "*"
            Condition:
              StringEquals:
                "kms:EncryptionContext:sourceAccount": !Ref AWS::AccountId
              ArnLike:
                "kms:EncryptionContext:sourceArn": !Sub "arn:${AWS::Partition}:groundstation:${AWS::Region}:${AWS::AccountId}:mission-profile/*"
          - Action:
              - kms:CreateGrant
            Effect: Allow
            Principal:
              AWS: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:root"
            Resource: "*"
            Condition:
              ForAllValues:StringEquals:
                "kms:GrantOperations":
                  - Decrypt
                  - GenerateDataKeyWithoutPlaintext
                "kms:EncryptionContextKeys":
                  - sourceArn
                  - sourceAccount
              ArnLike:
                "kms:EncryptionContext:sourceArn": !Sub "arn:${AWS::Partition}:groundstation:${AWS::Region}:${AWS::AccountId}:mission-profile/*"
              StringEquals:
                "kms:EncryptionContext:sourceAccount": !Ref AWS::AccountId
        Version: "2012-10-17"
      EnableKeyRotation: true
```

## AWS Ground Station configurations
<a name="examples.pbs-agent.configs"></a>

 Cette section représente [Création de configurations](getting-started.step3.md) la mise en route. 

 Vous aurez besoin d'une *configuration de suivi pour* définir vos préférences en matière d'utilisation du suivi automatique. La sélection de *PREFERRED* comme autotrack peut améliorer la qualité du signal, mais elle n'est pas obligatoire pour atteindre la qualité du signal en raison de la qualité suffisante des éphémérides JPSS-1. 

```
  TrackingConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "JPSS Tracking Config"
      ConfigData:
        TrackingConfig:
          Autotrack: "PREFERRED"
```

 Sur la base du chemin de communication, vous devez définir une configuration *antenne-liaison descendante* pour représenter la partie satellite, ainsi qu'une configuration de point de terminaison de flux de données pour faire référence au groupe de points de *terminaison de flux de données* qui définit les détails du point de terminaison. 

```
  # The AWS Ground Station Antenna Downlink Config that defines the frequency spectrum used to
  # downlink data from your satellite.
  SnppJpssDownlinkDigIfAntennaConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "SNPP JPSS Downlink WBDigIF Antenna Config"
      ConfigData:
        AntennaDownlinkConfig:
          SpectrumConfig:
            Bandwidth:
              Units: "MHz"
              Value: 100
            CenterFrequency:
              Units: "MHz"
              Value: 7812
            Polarization: "RIGHT_HAND"

  # The AWS Ground Station Dataflow Endpoint Config that defines the endpoint used to downlink data
  # from your satellite.
  DownlinkDigIfEndpointConfig:
    Type: AWS::GroundStation::Config
    Properties:
      Name: "Aqua SNPP JPSS Terra Downlink DigIF Endpoint Config"
      ConfigData:
        DataflowEndpointConfig:
          DataflowEndpointName: !Join [ "-" , [ !Ref "AWS::StackName" , "Downlink" ] ]
          DataflowEndpointRegion: !Ref AWS::Region
```

## AWS Ground Station profil de mission
<a name="examples.pbs-agent.mission-profile"></a>

 Cette section représente [Création d'un profil de mission](getting-started.step4.md) la mise en route. 

 Maintenant que vous disposez des configurations associées, vous pouvez les utiliser pour créer le flux de données. Vous utiliserez les valeurs par défaut pour les autres paramètres. 

```
  # The AWS Ground Station Mission Profile that groups the above configurations to define how to
  # uplink and downlink data to your satellite.
  SnppJpssMissionProfile:
    Type: AWS::GroundStation::MissionProfile
    Properties:
      Name: !Sub 'JPSS WBDigIF gs-agent EC2 Delivery'
      ContactPrePassDurationSeconds: 120
      ContactPostPassDurationSeconds: 120
      MinimumViableContactDurationSeconds: 180
      TrackingConfigArn: !Ref TrackingConfig
      DataflowEdges:
        - Source: !Ref SnppJpssDownlinkDigIfAntennaConfig
          Destination: !Ref DownlinkDigIfEndpointConfig
      StreamsKmsKey:
        KmsKeyArn: !GetAtt GroundStationDataDeliveryKmsKey.Arn
      StreamsKmsRole: !GetAtt GroundStationKmsKeyRole.Arn
```

## Assemblage
<a name="examples.pbs-agent.putting-it-together"></a>

 Grâce aux ressources ci-dessus, vous avez désormais la possibilité de planifier des contacts JPSS-1 pour une livraison synchrone des données depuis n'importe lequel de vos contacts intégrés. AWS Ground Station [AWS Ground Station Succursales](aws-ground-station-antenna-locations.md) 

 Ce qui suit est un CloudFormation modèle complet qui inclut toutes les ressources décrites dans cette section combinées dans un modèle unique qui peut être directement utilisé dans CloudFormation. 

 Le CloudFormation modèle nommé `DirectBroadcastSatelliteWbDigIfEc2DataDelivery.yml` est conçu pour vous permettre de commencer rapidement à recevoir des données de fréquence intermédiaire numérisées (DigIF) pour les satellites Aqua, SNPP, JPSS-1/NOAA-20 et Terra. Il contient une EC2 instance Amazon et les CloudFormation ressources nécessaires pour recevoir les données brutes de diffusion directe de DigiF à l'aide AWS Ground Station de l'agent. 

 Si Aqua, SNPP, JPSS-1/NOAA-20 et Terra ne sont pas intégrés à votre compte, consultez. [satellite embarqué](getting-started.step1.md) 

**Note**  
 Vous pouvez accéder au modèle en accédant au compartiment Amazon S3 du client qui intègre le compartiment Amazon S3 à l'aide AWS d'informations d'identification valides. Les liens ci-dessous utilisent un compartiment Amazon S3 régional. Modifiez le code de `us-west-2` région pour représenter la région correspondante dans laquelle vous souhaitez créer la CloudFormation pile.   
 En outre, les instructions suivantes utilisent le langage YAML. Cependant, les modèles sont disponibles au format YAML et JSON. Pour utiliser le format JSON, remplacez l'extension de `.yml` fichier par `.json` lors du téléchargement du modèle. 

 Pour télécharger le modèle à l'aide de AWS CLI, utilisez la commande suivante : 

```
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/agent/ec2_delivery/DirectBroadcastSatelliteWbDigIfEc2DataDelivery.yml .
```

 Vous pouvez consulter le modèle et le télécharger dans la console en entrant l'URL suivante dans votre navigateur : 

```
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/agent/ec2_delivery/DirectBroadcastSatelliteWbDigIfEc2DataDelivery.yml
```

 Vous pouvez spécifier le modèle directement en CloudFormation utilisant le lien suivant : 

```
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/agent/ec2_delivery/DirectBroadcastSatelliteWbDigIfEc2DataDelivery.yml
```

**Quelles ressources supplémentaires le modèle définit-il ?**

Le `DirectBroadcastSatelliteWbDigIfEc2DataDelivery` modèle inclut les ressources supplémentaires suivantes :
+  **Interface réseau élastique de l'instance de réception** - (Conditionnel) Une interface réseau élastique est créée dans le sous-réseau spécifié par **PublicSubnetId**s'il est fourni. Cela est nécessaire si l'instance du récepteur se trouve dans un sous-réseau privé. L'interface Elastic network sera associée à l'EIP et attachée à l'instance de réception. 
+  **IP élastique de l'instance de réception** : adresse IP élastique à laquelle se AWS Ground Station connectera. Cela s'attache à l'instance du récepteur ou à l'interface Elastic Network. 
+ L'une des associations d'adresses IP élastiques suivantes :
  +  Association entre **l'instance de récepteur et l'adresse IP élastique** : association de l'adresse IP élastique à votre instance de récepteur, si elle n'**PublicSubnetId**est pas spécifiée. Cela nécessite de **SubnetId**référencer un sous-réseau public. 
  +  **Association entre l'interface réseau élastique de l'instance de récepteur et l'interface IP** élastique : association de l'adresse IP élastique à l'interface réseau élastique de l'instance de réception, si elle **PublicSubnetId**est spécifiée. 
+ (Facultatif) **Déclencheurs d'CloudWatch événements** : AWS Lambda fonction déclenchée à l'aide d' CloudWatch événements envoyés AWS Ground Station avant et après un contact. La AWS Lambda fonction démarrera et arrêtera éventuellement votre instance de réception. 
+ (Facultatif) **Amazon EC2 Verification pour les contacts** : possibilité d'utiliser Lambda pour configurer un système de vérification de vos EC2 instances Amazon pour les contacts avec notification SNS. Il est important de noter que cela peut entraîner des frais en fonction de votre utilisation actuelle. 
+  Profils de **mission supplémentaires - Profils** de mission pour d'autres satellites de diffusion publique (Aqua, SNPP et Terra). 
+  **Configurations supplémentaires de liaison descendante d'antenne - Configurations** de liaison descendante d'antenne pour des satellites de diffusion publics supplémentaires (Aqua, SNPP et Terra). 

 Les valeurs et paramètres pour les satellites dans ce modèle sont déjà renseignés. Ces paramètres vous permettent d'utiliser facilement et AWS Ground Station immédiatement ces satellites. Vous n'avez pas besoin de configurer vos propres valeurs pour pouvoir les utiliser AWS Ground Station lors de l'utilisation de ce modèle. Toutefois, vous pouvez personnaliser les valeurs pour que le modèle fonctionne selon votre cas d'utilisation. 

 **Où puis-je recevoir mes données ?** 

 Le groupe de points de terminaison de flux de données est configuré pour utiliser l'interface réseau d'instance de récepteur créée dans le cadre du modèle. L'instance de réception utilise l' AWS Ground Station agent pour recevoir le flux de données depuis le port défini par AWS Ground Station le point de terminaison du flux de données. Pour plus d'informations sur la configuration d'un groupe de points de terminaison de flux de données, consultez. [ AWS::GroundStation::DataflowEndpointGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html) Pour plus d'informations sur l' AWS Ground Station agent, voir [Qu'est-ce que l' AWS Ground Station agent ?](https://docs.aws.amazon.com/ground-station/latest/gs-agent-ug/overview.html) 