Contoh:ElastiCache - AWS Elastic Beanstalk

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

Contoh:ElastiCache

Sampel berikut menambahkan AmazonElastiCacheklaster ke EC2-Classic dan EC2-VPC (standar dan khususAmazon Virtual Private Cloud(Amazon VPC)) platform. Untuk informasi selengkapnya tentang platform ini dan cara menentukan mana yang didukung EC2 untuk wilayah Anda dan AWS akun Anda, lihat https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html. Kemudian lihat bagian dalam topik ini yang berlaku untuk platform Anda.

Platform EC2-Classic

Sampel ini menambahkan AmazonElastiCacheklaster ke lingkungan dengan instans yang diluncurkan ke platform EC2-Classic. Semua properti yang tercantum dalam contoh ini adalah properti minimum yang diperlukan yang harus ditetapkan untuk setiap jenis sumber daya. Anda dapat mengunduh contoh tersebut diElastiCachecontoh.

catatan

Contoh ini membuat sumber daya AWS, yang mungkin akan dikenakan biaya. Untuk informasi selengkapnya tentang harga AWS, lihat https://aws.amazon.com/pricing/. Beberapa layanan merupakan bagian dari Tingkat Penggunaan Gratis AWS. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat https://aws.amazon.com/free/ untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

  1. Buat direktori .ebextensions di tingkat atas dari paket sumber Anda.

  2. Buat dua file konfigurasi dengan ekstensi .config dan tempatkan mereka di direktori .ebextensions Anda. Satu file konfigurasi menentukan sumber daya, dan file konfigurasi lainnya menentukan pilihan.

  3. Terapkan aplikasi Anda ke Elastic Beanstalk.

    YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.

Buat file konfigurasi (misalnya, elasticache.config) yang ditentukan sumber daya. Dalam contoh ini, kami membuatElastiCacheklaster dengan menentukan namaElastiCachesumber daya klaster (MyElastiCache), menyatakan jenisnya, dan kemudian mengkonfigurasi properti untuk cluster. Contoh referensi namaElastiCachesumber daya grup keamanan yang akan dibuat dan ditentukan dalam file konfigurasi ini. Selanjutnya, kami membuatElastiCachegrup keamanan. Kami menentukan nama untuk sumber daya ini, menyatakan jenisnya, dan menambahkan deskripsi untuk grup keamanan. Akhirnya, kami menetapkan aturan masuknya untukElastiCachegrup keamanan untuk mengizinkan akses hanya dari instans di dalamElastiCachegrup keamanan (MyCacheSecurityGroup) dan kelompok keamanan Elastic Beanstalk Kacang (AWSEBSecurityGroup). Nama parameter, AWSEBSecurityGroup, adalah nama sumber daya tetap yang disediakan oleh Elastic Beanstalk. Anda harus menambahkanAWSEBSecurityGroupuntukElastiCacheaturan masuk grup keamanan agar aplikasi Elastic Beanstalk Anda terhubung ke instans diElastiCachekluster.

#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties. Resources: MyElastiCache: Type: AWS::ElastiCache::CacheCluster Properties: CacheNodeType: Fn::GetOptionSetting: OptionName : CacheNodeType DefaultValue: cache.m1.small NumCacheNodes: Fn::GetOptionSetting: OptionName : NumCacheNodes DefaultValue: 1 Engine: Fn::GetOptionSetting: OptionName : Engine DefaultValue: memcached CacheSecurityGroupNames: - Ref: MyCacheSecurityGroup MyCacheSecurityGroup: Type: AWS::ElastiCache::SecurityGroup Properties: Description: "Lock cache down to webserver access only" MyCacheSecurityGroupIngress: Type: AWS::ElastiCache::SecurityGroupIngress Properties: CacheSecurityGroupName: Ref: MyCacheSecurityGroup EC2SecurityGroupName: Ref: AWSEBSecurityGroup

Untuk informasi selengkapnya tentang sumber daya yang digunakan dalam contoh file konfigurasi ini, lihat referensi berikut ini:

Buat file konfigurasi terpisah yang disebut options.config dan tentukan pengaturan opsi khusus.

option_settings: "aws:elasticbeanstalk:customoption": CacheNodeType : cache.m1.small NumCacheNodes : 1 Engine : memcached

Garis-garis ini memberi tahu Elastic Beanstalk untuk mendapatkan nilai untukCacheNodeJenis,NumCacheNode, dan Enginesifat dariCacheNodeJenis,NumCacheNode, dan Enginenilai dalam file konfigurasi (options.config dalam contoh kita) yang berisi bagian option_settings denganaws:elasticbeanstalk: customoptionbagian yang berisi pasangan nama-nilai yang berisi nilai aktual untuk digunakan. Pada contoh di atas, ini berarti cache.m1.small, 1, dan memcached akan digunakan untuk nilainya. Untuk informasi selengkapnya tentang Fn::GetOptionSetting, lihat Fungsi.

EC2-VPC (default)

Sampel ini menambahkan AmazonElastiCacheklaster ke lingkungan dengan instans yang diluncurkan ke platform EC2-VPC. Secara khusus, informasi pada bagian ini berlaku untuk skenario di mana EC2 meluncurkan instans ke VPC default. Semua properti pada contoh ini adalah properti minimum yang diperlukan yang harus ditetapkan untuk setiap jenis sumber daya. Untuk informasi selengkapnya tentang VPC default, lihat VPC dan Subnet Default Anda.

catatan

Contoh ini membuat sumber daya AWS, yang mungkin akan dikenakan biaya. Untuk informasi selengkapnya tentang harga AWS, lihat https://aws.amazon.com/pricing/. Beberapa layanan merupakan bagian dari Tingkat Penggunaan Gratis AWS. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat https://aws.amazon.com/free/ untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

  1. Buat direktori .ebextensions di tingkat atas dari paket sumber Anda.

  2. Buat dua file konfigurasi dengan ekstensi .config dan tempatkan mereka di direktori .ebextensions Anda. Satu file konfigurasi menentukan sumber daya, dan file konfigurasi lainnya menentukan pilihan.

  3. Terapkan aplikasi Anda ke Elastic Beanstalk.

    YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.

Sekarang beri nama file konfigurasi sumber daya elasticache.config. Untuk membuatElastiCachekluster, contoh ini menentukan namaElastiCachesumber daya klaster (MyElastiCache), menyatakan jenisnya, dan kemudian mengonfigurasi properti untuk klaster. Contoh ini merujuk ID sumber daya grup keamanan yang kami buat dan tentukan dalam file konfigurasi ini.

Selanjutnya, kami membuat grup keamanan EC2. Kami menentukan nama untuk sumber daya ini, menyatakan jenisnya, menambahkan deskripsi, dan menetapkan aturan masuk ke grup keamanan untuk mengizinkan akses hanya dari instans di dalam grup keamanan Elastic Beanstalk (AWSEBSecurityGroup). (Nama parameter,AWSEBSecurityGroup, adalah nama sumber daya tetap yang disediakan oleh Elastic Beanstalk. Anda harus menambahkanAWSEBSecurityGroupuntukElastiCacheaturan masuk grup keamanan agar aplikasi Elastic Beanstalk Anda terhubung ke instans diElastiCachekluster.)

Aturan masuk untuk grup keamanan EC2 juga menentukan protokol IP dan nomor port di mana simpul cache dapat menerima koneksi. Untuk Redis, nomor port default-nya adalah 6379.

#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties. Resources: MyCacheSecurityGroup: Type: "AWS::EC2::SecurityGroup" Properties: GroupDescription: "Lock cache down to webserver access only" SecurityGroupIngress : - IpProtocol : "tcp" FromPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" ToPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" SourceSecurityGroupName: Ref: "AWSEBSecurityGroup" MyElastiCache: Type: "AWS::ElastiCache::CacheCluster" Properties: CacheNodeType: Fn::GetOptionSetting: OptionName : "CacheNodeType" DefaultValue : "cache.t2.micro" NumCacheNodes: Fn::GetOptionSetting: OptionName : "NumCacheNodes" DefaultValue : "1" Engine: Fn::GetOptionSetting: OptionName : "Engine" DefaultValue : "redis" VpcSecurityGroupIds: - Fn::GetAtt: - MyCacheSecurityGroup - GroupId Outputs: ElastiCache: Description : "ID of ElastiCache Cache Cluster with Redis Engine" Value : Ref : "MyElastiCache"

Untuk informasi selengkapnya tentang sumber daya yang digunakan dalam contoh file konfigurasi ini, lihat referensi berikut ini:

Selanjutnya, beri nama file konfigurasi opsi options.config dan tentukan pengaturan opsi khusus.

option_settings: "aws:elasticbeanstalk:customoption": CacheNodeType : cache.t2.micro NumCacheNodes : 1 Engine : redis CachePort : 6379

Garis-garis ini memerintahkan Elastic Beanstalk untuk mendapatkan nilai untuk properti CacheNodeType, NumCacheNodes, Engine, dan CachePort dari nilai CacheNodeType, NumCacheNodes, Engine, dan CachePort pada file konfigurasi (options.config dalam contoh kami). File tersebut mencakup bagian aws:elasticbeanstalk:customoption (di bawah option_settings) yang berisi pasangan nilai-nama dengan nilai sebenarnya yang akan digunakan. Pada contoh sebelumnya, cache.t2.micro, 1, redis, dan 6379 akan digunakan untuk nilai tersebut. Untuk informasi selengkapnya tentang Fn::GetOptionSetting, lihat Fungsi.

EC2-VPC (khusus)

Jika Anda membuat VPC khusus pada platform EC2-VPC dan menetapkannya sebagai VPC tempat EC2 meluncurkan instans, proses menambahkan AmazonElastiCachecluster ke lingkungan Anda berbeda dari VPC default. Perbedaan utamanya adalah bahwa Anda harus membuat grup subnet untukElastiCachekluster. Semua properti pada contoh ini adalah properti minimum yang diperlukan yang harus ditetapkan untuk setiap jenis sumber daya.

catatan

Contoh ini membuat sumber daya AWS, yang mungkin akan dikenakan biaya. Untuk informasi selengkapnya tentang harga AWS, lihat https://aws.amazon.com/pricing/. Beberapa layanan merupakan bagian dari Tingkat Penggunaan Gratis AWS. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat https://aws.amazon.com/free/ untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

  1. Buat direktori .ebextensions di tingkat atas dari paket sumber Anda.

  2. Buat dua file konfigurasi dengan ekstensi .config dan tempatkan mereka di direktori .ebextensions Anda. Satu file konfigurasi menentukan sumber daya, dan file konfigurasi lainnya menentukan pilihan.

  3. Terapkan aplikasi Anda ke Elastic Beanstalk.

    YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.

Sekarang beri nama file konfigurasi sumber daya elasticache.config. Untuk membuatElastiCachekluster, contoh ini menentukan namaElastiCachesumber daya klaster (MyElastiCache), menyatakan jenisnya, dan kemudian mengonfigurasi properti untuk klaster. Properti dalam contoh merujuk pada nama grup subnet untukElastiCacheklaster serta ID sumber daya grup keamanan yang kami buat dan tentukan dalam file konfigurasi ini.

Selanjutnya, kami membuat grup keamanan EC2. Kami menentukan nama untuk sumber daya ini, menyatakan jenisnya, menambahkan deskripsi, ID VPC, dan menetapkan aturan masuk grup keamanan untuk mengizinkan akses hanya dari insyans di dalam grup keamanan Elastic Beanstalk (AWSEBSecurityGroup). (Nama parameter,AWSEBSecurityGroup, adalah nama sumber daya tetap yang disediakan oleh Elastic Beanstalk. Anda harus menambahkanAWSEBSecurityGroupuntukElastiCacheaturan masuk grup keamanan agar aplikasi Elastic Beanstalk Anda terhubung ke instans diElastiCachekluster.)

Aturan masuk untuk grup keamanan EC2 juga menentukan protokol IP dan nomor port di mana simpul cache dapat menerima koneksi. Untuk Redis, nomor port default-nya adalah 6379. Terakhir, contoh ini membuat grup subnet untukElastiCachekluster. Kami menentukan nama untuk sumber daya ini, menyatakan jenisnya, dan menambahkan deskripsi dan ID subnet pada grup subnet.

catatan

Kami menyarankan Anda menggunakan subnet pribadi untukElastiCachekluster. Untuk informasi lebih lanjut tentang VPC dengan subnet pribadi, lihat https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html.

#This sample requires you to create a separate configuration file that defines the custom option settings for CacheCluster properties. Resources: MyElastiCache: Type: "AWS::ElastiCache::CacheCluster" Properties: CacheNodeType: Fn::GetOptionSetting: OptionName : "CacheNodeType" DefaultValue : "cache.t2.micro" NumCacheNodes: Fn::GetOptionSetting: OptionName : "NumCacheNodes" DefaultValue : "1" Engine: Fn::GetOptionSetting: OptionName : "Engine" DefaultValue : "redis" CacheSubnetGroupName: Ref: "MyCacheSubnets" VpcSecurityGroupIds: - Ref: "MyCacheSecurityGroup" MyCacheSecurityGroup: Type: "AWS::EC2::SecurityGroup" Properties: GroupDescription: "Lock cache down to webserver access only" VpcId: Fn::GetOptionSetting: OptionName : "VpcId" SecurityGroupIngress : - IpProtocol : "tcp" FromPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" ToPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" SourceSecurityGroupId: Ref: "AWSEBSecurityGroup" MyCacheSubnets: Type: "AWS::ElastiCache::SubnetGroup" Properties: Description: "Subnets for ElastiCache" SubnetIds: Fn::GetOptionSetting: OptionName : "CacheSubnets" Outputs: ElastiCache: Description : "ID of ElastiCache Cache Cluster with Redis Engine" Value : Ref : "MyElastiCache"

Untuk informasi selengkapnya tentang sumber daya yang digunakan dalam contoh file konfigurasi ini, lihat referensi berikut ini:

Selanjutnya, beri nama file konfigurasi opsi options.config dan tentukan pengaturan opsi khusus.

catatan

Pada contoh berikut, ganti contoh CacheSubnets dan nilai VpcId dengan subnet dan VPC Anda sendiri.

option_settings: "aws:elasticbeanstalk:customoption": CacheNodeType : cache.t2.micro NumCacheNodes : 1 Engine : redis CachePort : 6379 CacheSubnets: - subnet-1a1a1a1a - subnet-2b2b2b2b - subnet-3c3c3c3c VpcId: vpc-4d4d4d4d

Garis-garis ini memerintahkan Elastic Beanstalk untuk mendapatkan nilai untuk properti CacheNodeType, NumCacheNodes, Engine, CachePort, CacheSubnets, dan VpcId dari nilai CacheNodeType, NumCacheNodes, Engine, CachePort, CacheSubnets, dan VpcId dalam file konfigurasi (options.config di contoh kami). File tersebut mencakup bagian aws:elasticbeanstalk:customoption (di bawah option_settings) yang berisi pasangan nilai-nama dengan nilai sampel. Pada contoh di atas, cache.t2.micro, 1, redis, 6379, subnet-1a1a1a1a, subnet-2b2b2b2b, subnet-3c3c3c3c, dan vpc-4d4d4d4d akan digunakan untuk nilai. Untuk informasi selengkapnya tentang Fn::GetOptionSetting, lihat Fungsi.