Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Öffentlicher Rundfunksatellit, der einen Datenflussendpunkt nutzt (Schmalband)
Dieses Beispiel baut auf der Analyse auf, die im JPSS-1 — Öffentlicher Rundfunksatellit (PBS) — Evaluierung Abschnitt des Benutzerhandbuchs durchgeführt wurde.
Um dieses Beispiel abzuschließen, müssen Sie von einem Szenario ausgehen: Sie möchten den HRD-Kommunikationspfad als digitale Zwischenfrequenz (DigiF) erfassen und so verarbeiten, wie er von einer Datenfluss-Endpunktanwendung auf einer Amazon EC2-Instance mithilfe eines SDR empfangen wird.
Kommunikationspfade
In diesem Abschnitt geht Planen Sie Ihre Datenfluss-Kommunikationspfade es um die ersten Schritte. In diesem Beispiel erstellen Sie zwei Abschnitte in Ihrer CloudFormation Vorlage: die Abschnitte Parameter und Ressourcen.
Anmerkung
Weitere Informationen zum Inhalt einer CloudFormation Vorlage finden Sie unter Vorlagenabschnitte.
Für den Abschnitt Parameter werden Sie die folgenden Parameter hinzufügen. Sie geben Werte für diese an, wenn Sie den Stack über die CloudFormation Konsole erstellen.
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
Anmerkung
Sie müssen ein Schlüsselpaar erstellen und den Namen für den Amazon EC2Key EC2-Parameter angeben. Siehe Erstellen Sie ein Schlüsselpaar für Ihre Amazon EC2-Instance.
Darüber hinaus müssen Sie bei der Erstellung des CloudFormation Stacks die richtige regionsspezifische AMI-ID angeben. Siehe AWS Ground Station Amazon-Maschinenbilder (AMIs).
Die verbleibenden Vorlagenfragmente gehören in den Abschnitt Ressourcen der CloudFormation Vorlage.
Resources: # Resources that you would like to create should be placed within the resource section.
Angesichts unseres Szenarios, in dem ein einziger Kommunikationspfad zu einer EC2-Instance bereitgestellt wird, verfügen Sie über einen einzigen synchronen Übermittlungspfad. Gemäß dem Synchrone Datenlieferung Abschnitt müssen Sie eine Amazon EC2-Instance mit einer Datenfluss-Endpunktanwendung einrichten und konfigurieren und eine oder mehrere Datenfluss-Endpunktgruppen erstellen.
# 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
Darüber hinaus müssen Sie die entsprechenden Richtlinien und Rollen erstellen, um eine elastische Netzwerkschnittstelle (ENI) in Ihrem Konto erstellen AWS Ground Station zu können.
# 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 konfiguriert
Dieser Abschnitt beschreibt Konfigurationen erstellen die ersten Schritte.
Sie benötigen eine Tracking-Konfiguration, um Ihre Präferenz für die Verwendung von Autotrack festzulegen. Wenn Sie PREFERRED als Autotrack auswählen, kann die Signalqualität verbessert werden. Aufgrund der ausreichenden Ephemeridenqualität ist es jedoch nicht erforderlich, dass die Signalqualität eingehalten wird. JPSS-1
TrackingConfig: Type: AWS::GroundStation::Config Properties: Name: "JPSS Tracking Config" ConfigData: TrackingConfig: Autotrack: "PREFERRED"
Je nach Kommunikationspfad müssen Sie eine Antennen-Downlink-Konfiguration definieren, die den Satellitenteil darstellt, sowie eine Datenfluss-Endpunktkonfiguration, die auf die Datenfluss-Endpunktgruppe verweist, die die Endpunktdetails definiert.
# 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 Missionsprofil
In diesem Abschnitt geht Missionsprofil erstellen es um die ersten Schritte.
Da Sie nun über die zugehörigen Konfigurationen verfügen, können Sie sie verwenden, um den Datenfluss zu erstellen. Sie verwenden die Standardwerte für die verbleibenden Parameter.
# 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
Es zusammensetzen
Mit den oben genannten Ressourcen haben Sie jetzt die Möglichkeit, JPSS-1 Kontakte für die synchrone Datenlieferung von jedem Ihrer AWS Ground Station AWS Ground Station Orte Onboarder aus zu planen.
Im Folgenden finden Sie eine vollständige CloudFormation Vorlage, die alle in diesem Abschnitt beschriebenen Ressourcen in einer einzigen Vorlage enthält, die direkt verwendet werden kann. CloudFormation
Die benannte CloudFormation Vorlage AquaSnppJpssTerraDigIF.yml soll Ihnen einen schnellen Zugriff ermöglichen, um mit dem Empfang digitalisierter Zwischenfrequenzdaten (DigiF) für die Satelliten Aqua, SNPP und Terra zu beginnen. JPSS-1/NOAA-20 Sie enthält eine Amazon EC2-Instance und die erforderlichen CloudFormation Ressourcen, um Rohdaten der DigiF-Direktübertragung zu empfangen.
Wenn Aqua, SNPP und Terra nicht in JPSS-1/NOAA-20 Ihr Konto integriert sind, finden Sie weitere Informationen unter. Satellit an Bord
Anmerkung
Sie können auf die Vorlage zugreifen, indem Sie mit gültigen Anmeldeinformationen auf den Amazon S3-Bucket für das Kunden-Onboarding zugreifen. AWS Die folgenden Links verwenden einen regionalen Amazon S3-Bucket. Ändern Sie den us-west-2 Regionalcode so, dass er die entsprechende Region darstellt, in der Sie den CloudFormation
Stack erstellen möchten.
Darüber hinaus verwenden die folgenden Anweisungen YAML. Die Vorlagen sind jedoch sowohl im YAML- als auch im JSON-Format verfügbar. Um JSON zu verwenden, ersetzen Sie .json beim Herunterladen der Vorlage die .yml Dateierweiterung durch.
Verwenden Sie den folgenden Befehl AWS CLI, um die Vorlage mit herunterzuladen:
aws s3 cp s3://groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml .
Die Vorlage kann in der Konsole angezeigt und heruntergeladen werden, indem Sie in Ihrem Browser zur folgenden URL navigieren:
https://s3.console.aws.amazon.com/s3/object/groundstation-cloudformation-templates-us-west-2/AquaSnppJpssTerraDigIF.yml
Sie können die Vorlage direkt CloudFormation über den folgenden Link angeben:
https://groundstation-cloudformation-templates-us-west-2.s3.us-west-2.amazonaws.com/AquaSnppJpssTerraDigIF.yml
Welche zusätzlichen Ressourcen definiert die Vorlage?
Die AquaSnppJpssTerraDigIF Vorlage enthält die folgenden zusätzlichen Ressourcen:
-
(Optional) CloudWatch Event-Trigger — AWS Lambda Funktion, die mithilfe von CloudWatch Ereignissen ausgelöst wird, die AWS Ground Station vor und nach einem Kontakt gesendet wurden. Die AWS Lambda Funktion startet und stoppt optional Ihre Receiver-Instanz.
-
(Optional) EC2-Überprüfung für Kontakte — Die Option, Lambda zu verwenden, um ein Verifizierungssystem Ihrer Amazon EC2-Instance (en) für Kontakte mit SNS-Benachrichtigung einzurichten. Bitte beachten Sie, dass hierfür je nach Ihrer aktuellen Nutzung Gebühren anfallen können.
-
Ground Station Amazon Machine Image Retrieval Lambda — Die Option, um auszuwählen, welche Software in Ihrer Instance installiert ist, und das AMI Ihrer Wahl. Zu den Softwareoptionen gehört eine Datenfluss-Endpunktanwendung mit oder ohne softwaredefinierter Funkübertragung. Diese Optionen können sich ändern, wenn zusätzliche Softwareupdates und Funktionen veröffentlicht werden.
-
Zusätzliche Missionsprofile — Missionsprofile für zusätzliche öffentliche Rundfunksatelliten (Aqua, SNPP und Terra).
-
Zusätzliche Antennen-Downlink-Konfigurationen — Antennen-Downlink-Konfigurationen für zusätzliche öffentliche Rundfunksatelliten (Aqua, SNPP und Terra).
Die Werte und Parameter für die Satelliten in dieser Vorlage sind bereits ausgefüllt. Diese Parameter erleichtern Ihnen die sofortige Verwendung mit diesen Satelliten. AWS Ground Station Sie müssen für die AWS Ground Station Verwendung dieser Vorlage keine eigenen Werte konfigurieren. Sie können die Werte jedoch anpassen, damit die Vorlage für Ihren Anwendungsfall funktioniert.
Wo erhalte ich meine Daten?
Die Datenverkehr-Endpunktgruppe wird so eingerichtet, dass die als Teil der Vorlage erstellte Netzwerkschnittstelle der Receiver-Instance verwendet wird. Die Empfängerinstanz verwendet eine Datenfluss-Endpunktanwendung, um den Datenstrom von AWS Ground Station dem vom Datenfluss-Endpunkt definierten Port zu empfangen. Nach Erhalt stehen die Daten über den UDP-Port 50000 auf dem Loopbackadapter der Receiver-Instance zur Verfügung. Weitere Informationen zum Einrichten einer Datenfluss-Endpunktgruppe finden Sie unter:. AWS::GroundStation DataflowEndpointGroup