So verwenden Sie Cloudformation zum Erstellen eines S3-Buckets
Es gibt mehrere Möglichkeiten, wie Sie einen S3-Bucket auf AWS erstellen können. Cloudformation ist eine der Infrastructure as Code (IaC)-Methoden, mit der Sie einen Bucket erstellen sowie Ihren Code haben und mit anderen teilen können. Bevor wir fortfahren, gehe ich davon aus, dass Ihnen der S3-Bucket und die AWS-Dienste Cloudformation bekannt sind. Wenn Sie S3 nicht kennen, empfehle ich Ihnen, zunächst die Schritte zum Erstellen eines S3-Buckets über die AWS-Konsole durchzugehen. Klicken Sie hier, um den Artikel zum Erstellen eines S3-Buckets über die AWS-Konsole durchzugehen.
In diesem Artikel werden wir mehrere in Cloudformation verfügbare Optionen zum Erstellen eines S3-Buckets untersuchen. Um zu erfahren, welche Optionen in Cloudformation zum Erstellen eines S3-Buckets verfügbar sind, besuchen Sie die offizielle AWS-Seite hier.
Vorraussetzungen
- AWS-Konto(Erstellen Sie es, wenn Sie noch keines haben).
- Grundlegendes Verständnis von Cloudformation Templates.
- Grundlegendes Verständnis von S3 Buckets
Was müssen wir tun?
- Anmeldung bei AWS.
- Erstellen Sie eine Vorlage.
- Erstellen Sie einen Cloudformation Stack.
- Löschen Sie den Cloudformation Stack.
Anmeldung bei AWS
Klicken Sie hier, um zur AWS-Anmeldeseite zu gelangen. Geben Sie Ihre Benutzeranmeldedaten ein, um sich in Ihr AWS-Konto einzuloggen.
Sobald Sie sich erfolgreich in Ihrem AWS-Konto angemeldet haben, sehen Sie die AWS-Verwaltungskonsole wie folgt.
Erstellen Sie eine Vorlage
Bevor wir mit der Erstellung eines Stacks fortfahren, erstellen Sie eine Datei auf Ihrem lokalen System mit dem folgenden Inhalt.
Sie können die Vorlage auch aus meinem Github-Repository herunterladen, der Link zur Vorlage ist unten angegeben.
https://github.com/shivalkarrahul/DevOps/blob/master/aws/cloudformation/create-s3/create-s3.template
AWSTemplateFormatVersion: '2010-09-09' Metadata: License: Apache-2.0 Description: 'AWS CloudFormation Template to create an S3_Website_Bucket_With_Retain_On_Delete' Parameters: BucketNameParameter: Type: String Description: Bucket Name Resources: S3Bucket: Type: AWS::S3::Bucket Properties: BucketName: !Ref BucketNameParameter AccessControl: PublicRead WebsiteConfiguration: IndexDocument: index.html ErrorDocument: error.html DeletionPolicy: Retain Outputs: WebsiteURL: Value: !GetAtt [S3Bucket, WebsiteURL] Description: URL for website hosted on S3 S3BucketSecureURL: Value: !Join ['', ['https://', !GetAtt [S3Bucket, DomainName]]] Description: Name of AWS S3 bucket to hold website content
Erstellen eines Cloudformation-Stacks
Sobald Sie eine Vorlage auf Ihrem lokalen Rechner haben, gehen Sie zum AWS-Haupt-Dashboard, klicken Sie auf Services oben links auf dem Bildschirm und suchen Sie nach „Cloudformation“. Klicken Sie auf das Cloudformation-Ergebnis, das Sie erhalten.
Sie sehen dann das Haupt-Dashboard der Cloudformation. Ich habe bereits einen Stack in meinem Konto unter der ausgewählten Region.
Um einen Stack zu erstellen, klicken Sie auf „Stack erstellen –> Mit neuen Ressourcen (Standard)“.
Wählen Sie die Option „Upload a template file“ und wählen Sie die Vorlage von Ihrem lokalen Rechner. Klicken Sie auf die Schaltfläche „Weiter“, um fortzufahren.
Geben Sie einen Namen für den Stack an. Geben Sie auch einen Namen für einen zu erstellenden S3-Bucket an. Stellen Sie sicher, dass der von Ihnen angegebene Name global eindeutig ist und kein anderer Bucket auf der ganzen Welt auf AWS den gleichen Namen hat. Klicken Sie auf die Schaltfläche „Next“, um fortzufahren.
Tags sind optional, Sie können sie angeben oder nicht, um fortzufahren, klicken Sie auf die Schaltfläche „Next“.
Scrollen Sie am Ende der Seite nach unten und klicken Sie auf die Schaltfläche „Create stack“, um einen S3-Bucket mit Cloudformation-Stack zu erstellen.
Wenn der Name, den Sie für den Bucket angegeben haben, eindeutig ist und kein anderer Bucket auf der ganzen Welt auf AWS den gleichen Namen hat, wird Ihr Bucket erstellt und nach erfolgreicher Erstellung wird der Status als „CREATE_COMPLETE“ angezeigt.
Um zu überprüfen, ob der Bucket erstellt wurde, klicken Sie oben links im Bildschirm auf Services und suchen Sie nach S3, um zum S3-Dashboard zu gelangen.
Auf dem S3-Dashboard sehen Sie, dass Ihr S3-Bucket erstellt wurde.
Löschen Sie den Cloudformation Stack
Wir wissen, dass das Löschen des Cloudformation-Stacks die von ihm erstellten Ressourcen löscht. Dieses Mal ist es ein wenig anders.
Wenn Sie jetzt zurückgehen und den Code in unserer Vorlage überprüfen, werden Sie feststellen, dass wir „DeletionPolicy : Retain“. Aufgrund dieser Option wird Ihr Bucket nicht gelöscht, auch wenn Sie den Stack löschen.
Wenn Sie den Stack dennoch löschen möchten, klicken Sie auf die Schaltfläche „Delete“.
Bestätigen Sie die Löschaktion in dem Popup-Fenster, das Sie erhalten.
Sobald der Stack gelöscht ist, sehen Sie den Status als „STACK_DELETE“.
Wie bereits erwähnt, wird der Stapel aufgrund der Option„DeletionPolicy: Beibehalten“ wird der Stack gelöscht, aber der S3-Bucket bleibt erhalten.
Sie können zurück zum S3-Dashboard gehen und sehen, dass Ihr S3-Bucket noch in Ihrem Konto verfügbar ist.
Fazit
In diesem Artikel haben wir gesehen, wie einfach es ist, einen S3-Bucket mithilfe eines Cloudformation-Stacks zu erstellen. Wir können denselben Stack verwenden, um mehrere S3-Buckets zu erstellen. Wir können sogar unseren Code auf Versionskontrollsystemen speichern und ihn mit anderen Personen teilen. Wir haben gesehen, wie die Option„DeletionPolicy: Retain“ den Bucket beibehält und ihn nicht löscht, selbst wenn der Stack gelöscht wird.