Berhasil mengimpor bucket S3 sebagai tumpukan AWS CloudFormation - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Berhasil mengimpor bucket S3 sebagai tumpukan AWS CloudFormation

Ram Kandaswamy, Amazon Web Services

Ringkasan

Jika Anda menggunakan sumber daya Amazon Web Services (AWS), seperti bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3), dan ingin menggunakan pendekatan infrastruktur sebagai kode (IAc), Anda dapat mengimpor sumber daya ke CloudFormation AWS dan mengelolanya sebagai tumpukan.

Pola ini memberikan langkah-langkah untuk berhasil mengimpor bucket S3 sebagai CloudFormation tumpukan AWS. Dengan menggunakan pendekatan pola ini, Anda dapat menghindari kemungkinan kesalahan yang mungkin terjadi jika Anda mengimpor bucket S3 dalam satu tindakan.

Prasyarat dan batasan

Prasyarat

Arsitektur

Alur kerja untuk menggunakan CloudFormation template untuk membuat CloudFormation tumpukan untuk mengimpor bucket S3.

Diagram menunjukkan alur kerja berikut:

  1. Pengguna membuat template AWS berformat JSON atau YAML. CloudFormation

  2. Template membuat CloudFormation tumpukan AWS untuk mengimpor bucket S3.

  3. CloudFormation Tumpukan AWS mengelola bucket S3 yang Anda tentukan dalam template.

Tumpukan teknologi

  • AWS CloudFormation

  • AWS Identity and Access Management (IAM)

  • AWS KMS

  • Amazon S3

Alat

  • AWS CloudFormation — AWS CloudFormation membantu Anda membuat dan menyediakan penerapan infrastruktur AWS secara dapat diprediksi dan berulang kali.

  • AWS Identity and Access Management (IAM) — IAM adalah layanan web untuk mengontrol akses ke layanan AWS secara aman.

  • AWS KMS — AWS Key Management Service (AWS KMS) adalah layanan enkripsi dan manajemen kunci yang diskalakan untuk cloud.

  • Amazon S3 - Amazon Simple Storage Service (Amazon S3) Simple Storage Service adalah penyimpanan untuk Internet.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat template untuk mengimpor bucket S3 dan kunci KMS.

Di komputer lokal Anda, buat template untuk mengimpor bucket S3 dan kunci KMS Anda dengan menggunakan contoh template berikut:

AWSTemplateFormatVersion: 2010-09-09 Parameters: bucketName: Type: String Resources: S3Bucket: Type: 'AWS::S3::Bucket' DeletionPolicy: Retain Properties: BucketName: !Ref bucketName BucketEncryption: ServerSideEncryptionConfiguration: - ServerSideEncryptionByDefault: SSEAlgorithm: 'aws:kms' KMSMasterKeyID: !GetAtt - KMSS3Encryption - Arn KMSS3Encryption: Type: 'AWS::KMS::Key' DeletionPolicy: Retain Properties: Enabled: true KeyPolicy: !Sub |- { "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": ["arn:aws:iam::${AWS::AccountId}:root"] }, "Action": "kms:*", "Resource": "*" } } ] } EnableKeyRotation: true
AWS DevOps

Buat tumpukan.

  1. Masuk ke AWS Management Console, buka CloudFormation konsol AWS, pilih Lihat tumpukan, pilih Buat tumpukan, lalu pilih Dengan sumber daya yang ada (sumber daya impor).

  2. Pilih Upload file template dan kemudian upload file template yang Anda buat sebelumnya.

  3. Masukkan nama untuk tumpukan Anda dan konfigurasikan opsi yang tersisa sesuai dengan kebutuhan Anda.

  4. Pilih Buat tumpukan dan tunggu status tumpukan berubah menjadiIMPORT_COMPLETE.

AWS DevOps

Buat alias kunci KMS.

  1. Di CloudFormation konsol AWS, pilih Stacks, pilih nama tumpukan yang Anda buat sebelumnya, pilih panel Template, lalu pilih View in Designer.

  2. Tambahkan cuplikan berikut ke Resource bagian template Anda, lalu pilih Buat tumpukan dan lengkapi wizard:

KMSS3EncryptionAlias: Type: 'AWS::KMS::Alias' DeletionPolicy: Retain Properties: AliasName: alias/S3BucketKey TargetKeyId: !Ref KMSS3Encryption

Untuk informasi selengkapnya tentang ini, lihat pembaruan AWS CloudFormation stack di CloudFormation dokumentasi AWS. 

AWS DevOps

Perbarui tumpukan untuk menyertakan kebijakan bucket S3.

  1. Di CloudFormation konsol AWS, pilih Stacks, pilih nama tumpukan yang Anda buat sebelumnya, pilih panel Template, lalu pilih View in Designer.

  2. Tambahkan cuplikan berikut ke Resource bagian template, lalu pilih Buat tumpukan dan lengkapi wizard:

S3BucketPolicy: Type: 'AWS::S3::BucketPolicy' Properties: Bucket: !Ref S3Bucket PolicyDocument: !Sub |- { "Version": "2008-10-17", "Id": "restricthttp", "Statement": [ { "Sid": "denyhttp", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": ["arn:aws:s3:::${S3Bucket}","arn:aws:s3:::${S3Bucket}/*"], "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
catatan

Kebijakan bucket S3 ini memiliki pernyataan penolakan yang membatasi panggilan API yang tidak aman. 

AWS DevOps

Perbarui kebijakan utama.

  1. Di CloudFormation konsol AWS, pilih Stacks, pilih nama tumpukan yang Anda buat sebelumnya, pilih panel Template, lalu pilih View in Designer.

  2. Ubah sumber daya KMS template untuk menyertakan kebijakan kunci yang memungkinkan administrator mengelola kunci KMS.

  3. Pilih Buat tumpukan, pilih Berikutnya, dan kemudian lengkapi wizard sesuai dengan kebutuhan Anda.

Untuk informasi selengkapnya, lihat Kebijakan utama AWS KMS dalam dokumentasi AWS KMS.

Administrator AWS

Tambahkan tag tingkat sumber daya.

  1. Di CloudFormation konsol AWS, pilih Stacks, pilih nama tumpukan yang Anda buat sebelumnya, pilih panel Template, lalu pilih View in Designer.

  2. Tambahkan cuplikan berikut ke bagian Properties sumber daya Amazon S3 pada template, lalu pilih Buat tumpukan dan lengkapi wizard:

Tags: - Key: createdBy Value: Cloudformation
AWS DevOps

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip