Wie man

Einrichten eines AWS Elasticsearch-Clusters mit Kibana

Einrichten eines AWS Elasticsearch-Clusters mit Kibana

Dieser Artikel enthält eine Anleitung zum Einrichten eines Elasticsearch-Clusters mit Kibana auf der AWS-Cloud-Plattform (Amazon Web Services) mithilfe von CloudFormation. Außerdem erhält der Benutzer Anweisungen zum Zugriff auf den Cluster und die Kibana-Endpunkte.

Bedarf für AWS Elasticsearch und Anwendungsfälle:

Elasticsearch ist ein verwalteter AWS (Amazon Web Services)-Dienst für Protokollanalyse und -verwaltung. Ein häufiger Anwendungsfall ist die Überwachung der Infrastruktur- oder Anwendungsleistung und die Unterstützung bei der Fehlerdiagnose. Anschließend kann es auch Ereignisse zur proaktiven Überwachung von Sicherheitsbedrohungen erfassen. Weitere Beispiele für die Verwendung von Elasticsearch sind:

Wir können Daten aus verschiedenen Quellen an einen elastischen Suchcluster streamen. Einige Quellen umfassen S3-Buckets, CloudWatch-Protokollgruppen, Dynamo DB oder AWS IoT.

Voraussetzungen für die Einrichtung:

Vor der Einrichtung muss der Benutzer sicherstellen, dass die folgenden Anforderungen erfüllt sind:

AWS Elasticsearch- und Kibana-Setup:

Ein Elasticsearch-Cluster kann entweder einen Internet- oder einen VPC-Endpunkt haben.

Der Zugriff auf einen Internet-Endpoint-Cluster erfolgt zunächst über die aws-es-kibana-Proxy. Bei einem VPC-Endpunktcluster muss ein Benutzer die Kibana- oder Cluster-URL in einem Browser innerhalb eines Windows-Bastion-Host-Setups in derselben VPC wie der Cluster eingeben.

Verwenden Sie die folgende CloudFormation-Vorlage, um einen Internet-Endpunkt-Cluster zu erstellen. Ein Benutzer kann die Vorlage an seine spezifischen Bedürfnisse anpassen. Korrekten ARN einstellen für MasterUserARN und Wert für Ressource.

AWSTemplateFormatVersion: "2010-09-09" Beschreibung: "Vorlage zum Erstellen einer Elasticsearch-Domäne" Ressourcen: ElasticSearchCluster: Typ: AWS::Elasticsearch::Domain Properties: DomainName: test-elasticsearch AdvancedSecurityOptions: Enabled: true InternalUserDatabaseEnabled: false MasterUserOptions: MasterUserARN: arn:aws:iam::*************:user/test ElasticsearchVersion: 7.7 EncryptionAtRestOptions: Enabled: true DomainEndpointOptions: EnforceHTTPS: true ElasticsearchClusterConfig: DedicatedMasterEnabled: „true“ DedicatedMasterType: „c4.groß.elastischesearch" DedicatedMasterCount: "3" InstanceCount: 2 InstanceType: "c4.groß.elastischesearch" NodeToNodeEncryptionOptions: Enabled: true EBSOptions: EBSEnabled: true VolumeSize: 20 VolumeType: gp2 AccessPolicies: Version: "2012-10-17" Statement: - Effekt: "Allow" Principal: AWS: "*" Action: "es:* " Ressource: "arn:aws:es:eu-west-1:***********:domain/test-elasticsearch/*" Ausgaben: ESCluster: Beschreibung: Der ES-Cluster-Wert: !Ref ElasticSearchCluster

Um auf Kibana für Ihren Internetzugangs-Endpunkt-Cluster zuzugreifen, befolgen Sie die folgenden Anweisungen:

Die folgende CloudFormation-Vorlage erstellt einen VPC-/Privatzugriff-Endpunktcluster. Ein Benutzer kann die Vorlage an seine spezifischen Bedürfnisse anpassen.

AWSTemplateFormatVersion: "2010-09-09" Beschreibung: "Vorlage zum Erstellen der ElasticSearch-Domäne" Parameter: VPC: Typ: String Beschreibung: Die ID Ihrer VPC Standard: vpc-ID PrivateSubnet01: Typ: String Beschreibung: Die ID Ihres Subnetzes Standard : subnet-ID UserName: Type: String Description: Der ES-Master-Benutzername UserPassword: Type: String Description: Das ES-Master-Benutzerkennwort NoEcho: true Ressourcen: ESSecurityGroup: Typ: "AWS::EC2::SecurityGroup" „Sicherheitsgruppe für ES-Cluster-Zugriff“ GroupName: „test-ES-sg“ VpcId: !Ref VPC SecurityGroupIngress: - CidrIp: "0.0.0.0/0" FromPort: 80 IpProtocol: "tcp" ToPort: 80 - CidrIp: "0.0.0.0/0" FromPort: 443 IpProtocol: "tcp" ToPort: 443 SecurityGroupEgress: - CidrIp: "0.0.0.0/0" IpProtocol: "-1" ElasticSearchCluster: Typ: AWS::Elasticsearch::Domain Properties: DomainName: test-elasticsearch AdvancedSecurityOptions: Enabled: true InternalUserDatabaseEnabled: true MasterUserOptions: MasterUserName: !Ref Benutzername MasterUserPassword: !Ref UserPassword ElasticsearchVersion: 7.7 EncryptionAtRestOptions: Enabled: true DomainEndpointOptions: EnforceHTTPS: true ElasticsearchClusterConfig: DedicatedMasterEnabled: „true“ DedicatedMasterType: „c4.groß.elastischesearch" DedicatedMasterCount: "3" InstanceCount: 1 InstanceType: c4.groß.elastischesearch NodeToNodeEncryptionOptions: Enabled: true EBSOptions: EBSEnabled: true VolumeSize: 20 VolumeType: gp2 VPCOptions: SecurityGroupIds: - !Ref ESSecurityGroup-Subnetz-IDs: - !Ref PrivateSubnet01 AccessPolicies: Version: "2012-10-17" Statement: - Wirkung: "Allow" Principal: AWS: "*" Action: "es:*" Ressource: "arn:aws:es:eu-west-1: ************:domain/test-elasticsearch/*" Ausgaben: ESCluster: Beschreibung: Public Subnet 01 ID in the VPC Value: !Ref ElasticSearchCluster 

AWS Elasticsearch Kibana-Benutzerzugriffsverwaltung:

Eine der wichtigsten Aufgaben besteht darin, andere Benutzer hinzuzufügen und den Zugriff auf Kibana mithilfe von Rollen und Rollenzuordnungen zu verwalten. Außerdem ist es wichtig, Audit-Logs für Kibana zu aktivieren, um den Benutzerzugriff zu überwachen.

Um Benutzer hinzuzufügen und Rollen zu erstellen, die Benutzern auf Kibana zugewiesen werden können, melden Sie sich bei Kibana an. Scrollen Sie dann ganz links zum Sicherheitssymbol (Symbol mit Vorhängeschloss) und klicken Sie darauf. Es öffnet sich ein Fenster, in dem Sie Rollen erstellen und Benutzer diesen Rollen zuordnen können. Siehe unten:

Nicht zutreffend: Nur der Master-Benutzer hat Zugriff auf die Registerkarte Sicherheit, wenn der Elasticsearch-Cluster zum ersten Mal erstellt wird. Der Zugriff auf die Registerkarte Sicherheit ermöglicht es einem Benutzer, Rollen zu erstellen und Benutzern Rollen zuzuweisen assign. Um anderen Benutzern den Zugriff auf die Registerkarte Sicherheit zu ermöglichen, müssen wir ihnen anschließend die Rolle des Sicherheitsmanagers zuweisen. Gehen Sie auf der Registerkarte Sicherheit zu Rollenzuordnungen und fügen Sie unter Sicherheitsmanager Ihren Benutzer-IAM-Benutzer-ARN hinzu.

Um Audit-Logs für Kibana zu aktivieren, klicken Sie auf der Registerkarte Sicherheit immer noch auf Audit Logging. Aktivieren Sie dann Audit-Logging aktivieren. Zurück in der AWS Elastic-Suchkonsole, klicken Sie im Dashboard auf Ihren Cluster und wählen Sie die Registerkarte Protokolle. Scrollen Sie nach unten zu Audit-Logs einrichten. Klicken Sie auf Aktivieren und befolgen Sie die Anweisungen, um eine CloudWatch-Protokollgruppe auszuwählen, in der Sie Ihre Protokolle veröffentlichen möchten.

AWS Elasticsearch-Protokollverwaltungs- und Datenspeicheroptionen:

Es ist teuer, einen Elasticsearch-Cluster ohne ordnungsgemäße Protokollverwaltung zu unterhalten, da die Speicherkosten in die Höhe schnellen werden.

AWS Elasticsearch bietet Ultra-Warm Storage, mit dem Benutzer Daten im Petabyte-Bereich zu einem viel günstigeren Preis speichern können. Um diese Funktion zu nutzen, muss man Ultra-Warm-Speicher auf seinem Cluster wie unten beschrieben aktivieren. Gehen Sie in der Elasticsearch-Konsole zu der von Ihnen erstellten Domäne. Klicken Sie auf Domain bearbeiten. Und scrollen Sie nach unten zu Ultra-Warm-Datenknoten. Siehe das Bild unten.

Neben der Aktivierung von Ultra-Warm-Speicher muss ein Benutzer eine Indexrichtlinie erstellen, um den Übergang von Indizes von Hot- zu Warm-Storage zu ermöglichen. Ein Beispiel für eine Indexrichtlinie zum Migrieren von Daten/Index von Hot nach Warm und dann zum Löschen der Phase ist wie folgt.

 "policy":  "policy_id": "hot-warm-delete", "description": "ein Hot-Warm-Delete-Workflow.", "last_updated_time": 1599914073036, "schema_version": 1, "error_notification": null, "default_state": "hot", "states": [  "name": "hot", "actions": [  "replica_count ":  "number_of_replicas": 1   ], "transitions": [  "state_name": "warm", "conditions":  "min_index_age": "1d"   ] ,  "name": "warm ", "actions": [  "timeout": "24h", "retry":  "count": 5, "backoff": "exponential", "delay": "1h" , "warm_migration":   ], "transitions": [  "state_name": "delete", "conditions":  "min_index_age": "20d"   ] ,  "name": "delete", "actions": [  " delete":   ], "Übergänge": []  ]   

So erstellen Sie eine Richtlinienanmeldung bei Kibana. Scrollen Sie dann ganz links nach unten zum IM-Symbol. Klicken Sie darauf und es öffnet sich die Registerkarte Indexverwaltung. Von hier aus kann man eine Richtlinie erstellen und die Richtlinie auf Indizes anwenden. Siehe Bild unten.

Wichtige Links:

Weitere Links zum Studium:

Erstellen und Verwalten von Amazon Elasticsearch Service-Domänen

Erste Schritte mit Amazon Elasticsearch Service

Nächste Schritte:

Der nächste Schritt, nachdem Sie einen laufenden Cluster haben, besteht darin, CloudWatch-Protokolle an Kibana zu streamen. Achten Sie auf meinen nächsten Artikel.

Glückliches Bauen!!!!

*****Amateur-Techniker*****

Installieren und verwenden Sie Helm 2 auf einem Kubernetes-Cluster
In der heutigen Anleitung sehen wir uns an, wie Sie Helm 2 installieren und verwenden können, um Anwendungen bereitzustellen und zu verwalten (Helmkar...
So planen Sie Pods auf Kubernetes-Steuerungsebenen-(Master-)Knoten
Standardmäßig plant Ihr Kubernetes-Cluster aus Sicherheitsgründen keine Pods auf dem Knoten der Steuerungsebene. Es wird empfohlen, dies beizubehalten...
Installieren Sie Minikube Kubernetes auf CentOS 8 / CentOS 7 mit KVM
Dieses Tutorial wurde geschrieben, um Ihnen bei der Installation von Minikube auf CentOS 8 / CentOS 7 mit KVM Hypervisor zu helfen. Minikube ist ein O...