Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Satellite di trasmissione pubblica che utilizza un endpoint del flusso di dati (banda stretta)
Questo esempio si basa sull'analisi effettuata nella sezione della guida per l'utente. JPSS-1 - Trasmissione pubblica via satellite (PBS) - Valutazione
Per completare questo esempio, è necessario ipotizzare uno scenario: acquisire il percorso di comunicazione HRD come frequenza intermedia digitale (DigiF) ed elaborarlo così come viene ricevuto da un'applicazione endpoint del flusso di dati su un'istanza Amazon EC2 utilizzando un SDR.
Percorsi di comunicazione
Questa sezione rappresenta una Pianifica i percorsi di comunicazione del flusso di dati guida introduttiva. Per questo esempio, creerai due sezioni nel tuo CloudFormation modello: le sezioni Parametri e Risorse.
Nota
Per ulteriori informazioni sui contenuti di un CloudFormation modello, consulta Sezioni relative ai modelli.
Per la sezione Parametri, aggiungerai i seguenti parametri. Specificherai i relativi valori durante la creazione dello stack tramite 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 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 Type: AWS::EC2::Image::Id
Nota
Devi creare una coppia di chiavi e fornire il nome per il EC2Key parametro Amazon EC2. Vedi Creare una coppia di chiavi per la tua istanza Amazon EC2.
Inoltre, dovrai fornire l'ID AMI specifico della regione corretto durante la creazione dello CloudFormation stack. Consulta AWS Ground Station Immagini di macchine Amazon (AMIs).
I frammenti di modello rimanenti appartengono alla sezione Risorse del CloudFormation modello.
Resources: # Resources that you would like to create should be placed within the resource section.
Dato il nostro scenario di fornire un unico percorso di comunicazione a un'istanza EC2, avrai un unico percorso di consegna sincrono. Consegna sincrona dei datiIn questa sezione, devi configurare e configurare un'istanza Amazon EC2 con un'applicazione endpoint dataflow e creare uno o più gruppi di endpoint di flussi di dati.
# 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 OS_VERSION_ID=$([ -f /etc/os-release ] && . /etc/os-release && echo "${VERSION_ID}") if [ "${OS_VERSION_ID}" = "2023" ]; then PYTHON_BIN="python3"; else PYTHON_BIN="python"; fi echo "Configuring dataflow endpoint application streams" streams_configured=false for attempt in $(seq 1 6); do if ${PYTHON_BIN} "${GROUND_STATION_BIN_DIR}/configure_streams.py" --configFileName "${STREAM_CONFIG_PATH}"; then streams_configured=true break fi echo "configure_streams attempt ${attempt} failed; retrying in 10s" sleep 10 done if [ "${streams_configured}" = "true" ]; then sleep 2 ${PYTHON_BIN} "${GROUND_STATION_BIN_DIR}/save_default_config.py" else echo "ERROR: configure_streams failed after ${attempt} attempts; not saving a default config" fi 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
Inoltre, dovrai creare le policy e i ruoli appropriati per consentire AWS Ground Station la creazione di un'interfaccia di rete elastica (ENI) nel tuo account.
# 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 configura
Questa sezione rappresenta la guida Crea configurazioni introduttiva.
Avrai bisogno di una configurazione di tracciamento per impostare le tue preferenze sull'uso dell'autotrack. La selezione di PREFERRED come traccia automatica può migliorare la qualità del segnale, ma non è necessario che soddisfi la qualità del segnale a causa della sufficiente qualità delle effemeridi. JPSS-1
TrackingConfig: Type: AWS::GroundStation::Config Properties: Name: "JPSS Tracking Config" ConfigData: TrackingConfig: Autotrack: "PREFERRED"
In base al percorso di comunicazione, è necessario definire una configurazione antenna-downlink per rappresentare la parte satellitare, nonché una configurazione dataflow-endpoint per fare riferimento al gruppo di endpoint dataflow che definisce i dettagli dell'endpoint.
# 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 profilo della missione
Questa sezione rappresenta una Crea un profilo di missione guida introduttiva.
Ora che hai le configurazioni associate, puoi usarle per costruire il flusso di dati. Utilizzerai i valori predefiniti per i parametri rimanenti.
# 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
Mettendolo insieme
Con le risorse di cui sopra, ora hai la possibilità di pianificare JPSS-1 i contatti per la consegna sincrona dei dati da qualsiasi operatore di bordo AWS Ground Station AWS Ground Station Posizioni.
Quello che segue è un CloudFormation modello completo che include tutte le risorse descritte in questa sezione combinate in un unico modello che può essere utilizzato direttamente in. CloudFormation
Il CloudFormation modello denominato AquaSnppJpssTerraDigIF.yml è progettato per consentire un rapido accesso per iniziare a ricevere dati digitalizzati a frequenza intermedia (DigiF) per i satelliti Aqua, SNPP e Terra. JPSS-1/NOAA-20 Contiene un'istanza Amazon EC2 e le CloudFormation risorse necessarie per ricevere dati di trasmissione diretta DigiF grezzi.
Se Aqua, SNPP e Terra non sono integrati nel tuo account JPSS-1/NOAA-20, consulta. Satellite a bordo
Nota
Puoi accedere al modello accedendo al bucket Amazon S3 di onboarding del cliente utilizzando credenziali valide. AWS I collegamenti seguenti utilizzano un bucket Amazon S3 regionale. Cambia il codice us-west-2 regionale per rappresentare la regione corrispondente in cui desideri creare lo CloudFormation
stack.
Inoltre, le seguenti istruzioni utilizzano YAML. Tuttavia, i modelli sono disponibili sia in formato YAML che JSON. Per utilizzare JSON, sostituisci l'estensione del .yml file con .json quando scarichi il modello.
Per scaricare il modello utilizzando AWS CLI, usa il seguente comando:
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml .
È possibile scaricare e visualizzare il modello nella console spostandosi all’URL seguente nel browser:
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml
È possibile specificare il modello direttamente CloudFormation utilizzando il seguente link:
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/AquaSnppJpssTerraDigIF.yml
Quali risorse aggiuntive definisce il modello?
Il AquaSnppJpssTerraDigIF modello include le seguenti risorse aggiuntive:
-
(Facoltativo) Trigger di CloudWatch eventi: AWS Lambda funzione che viene attivata utilizzando CloudWatch gli eventi inviati AWS Ground Station prima e dopo un contatto. La AWS Lambda funzione avvierà e, facoltativamente, interromperà l'istanza del ricevitore.
-
(Opzionale) Verifica EC2 per i contatti: la possibilità di utilizzare Lambda per configurare un sistema di verifica delle istanze Amazon EC2 per i contatti con notifica SNS. È importante notare che ciò potrebbe comportare costi a seconda dell'utilizzo corrente.
-
Ground Station Amazon Machine Image Retrieval Lambda: l'opzione per selezionare il software installato nella tua istanza e l'AMI di tua scelta. Le opzioni software includono un'applicazione endpoint per il flusso di dati, con o senza radio definita dal software. Queste opzioni potrebbero cambiare man mano che vengono rilasciati aggiornamenti e funzionalità software aggiuntivi.
-
Profili di missione aggiuntivi: profili di missione per ulteriori satelliti di trasmissione pubblica (Aqua, SNPP e Terra).
-
Configurazioni aggiuntive di downlink dell'antenna - Configurazioni di downlink dell'antenna per ulteriori satelliti di trasmissione pubblica (Aqua, SNPP e Terra).
I valori e i parametri per i satelliti in questo modello sono già popolati. Questi parametri ne facilitano l'utilizzo immediato con questi satelliti. AWS Ground Station Non è necessario configurare i propri valori per utilizzarli AWS Ground Station quando si utilizza questo modello. Tuttavia, è possibile personalizzare i valori in modo che il modello funzioni per il caso d'uso.
Dove ricevo i miei dati?
Il gruppo endpoint del flusso di dati è configurato per utilizzare l'interfaccia di rete dell'istanza del ricevitore creata come parte del modello. L'istanza del ricevitore utilizza un'applicazione endpoint dataflow per ricevere il flusso di dati dalla porta definita dall' AWS Ground Station endpoint del flusso di dati. Una volta ricevuti, i dati sono disponibili per il consumo tramite la porta UDP 50000 sull'adattatore di loopback dell'istanza del ricevitore. Per ulteriori informazioni sulla configurazione di un gruppo di endpoint di dataflow, vedere::. AWS::GroundStation DataflowEndpointGroup