

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

# Contoh: ElastiCache
<a name="customize-environment-resources-elasticache"></a>

Contoh berikut menambahkan ElastiCache kluster Amazon ke platform EC2-Classic dan EC2-VPC (baik Amazon Virtual [Private Cloud (Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/) VPC) default maupun kustom. Untuk informasi lebih lanjut tentang platform ini dan bagaimana Anda dapat menentukan mana yang didukung EC2 untuk wilayah dan AWS akun Anda, lihat[https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html](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](#customize-environment-resources-elasticache-classic)
+ [EC2-VPC (default)](#customize-environment-resources-elasticache-defaultvpc)
+ [EC2-VPC (khusus)](#customize-environment-resources-elasticache-targetedvpc)

## Platform EC2-Classic
<a name="customize-environment-resources-elasticache-classic"></a>

Contoh ini menambahkan ElastiCache klaster Amazon 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 di [ElastiCachecontoh](https://elasticbeanstalk.s3.amazonaws.com/extensions/ElastiCache.config). 

**catatan**  
Contoh ini menciptakan AWS sumber daya, yang mungkin dikenakan biaya untuk Anda. Untuk informasi lebih lanjut tentang AWS harga, lihat[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Beberapa layanan adalah bagian dari Tingkat Penggunaan AWS Gratis. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat [https://aws.amazon.com/free/](https://aws.amazon.com/free/) untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

1. Buat direktori `[.ebextensions](ebextensions.md)` di tingkat atas dari paket sumber Anda. 

1. 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.

1. 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, kita membuat ElastiCache cluster dengan menentukan nama sumber daya ElastiCache cluster (`MyElastiCache`), mendeklarasikan jenisnya, dan kemudian mengkonfigurasi properti untuk cluster. Contoh referensi nama sumber daya grup ElastiCache keamanan yang akan dibuat dan didefinisikan dalam file konfigurasi ini. Selanjutnya, kami membuat grup ElastiCache keamanan. Kami menentukan nama untuk sumber daya ini, menyatakan jenisnya, dan menambahkan deskripsi untuk grup keamanan. Akhirnya, kami menetapkan aturan ingress untuk grup ElastiCache keamanan untuk mengizinkan akses hanya dari instance di dalam grup keamanan (`MyCacheSecurityGroup`) dan grup ElastiCache keamanan Elastic Beanstalk (). `AWSEBSecurityGroup` Nama parameter, `AWSEBSecurityGroup`, adalah nama sumber daya tetap yang disediakan oleh Elastic Beanstalk. Anda `AWSEBSecurityGroup` harus menambahkan aturan masuk grup ElastiCache keamanan Anda agar aplikasi Elastic Beanstalk Anda terhubung ke instance di cluster Anda. ElastiCache 

```
#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: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::ElastiCache::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html)
+ [AWS::ElastiCache: SecurityGroupIngress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html)

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
```

Baris-baris ini memberi tahu Elastic Beanstalk untuk mendapatkan nilai **CacheNodeTypeuntuk NumCacheNodes properti,, dan Engine **CacheNodeTypedari NumCacheNodes**,,** dan nilai Engine dalam file konfigurasi (options.config dalam contoh kita) yang berisi bagian option\$1settings **dengan** bagian aws:elasticbeanstalk:customoption yang berisi pasangan nama-nilai yang berisi nilai aktual yang akan 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](ebextensions-functions.md).

## EC2-VPC (default)
<a name="customize-environment-resources-elasticache-defaultvpc"></a>

Contoh ini menambahkan ElastiCache klaster Amazon 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 default VPCs, lihat [VPC dan Subnet Default Anda](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html).

**catatan**  
Contoh ini menciptakan AWS sumber daya, yang mungkin dikenakan biaya untuk Anda. Untuk informasi lebih lanjut tentang AWS harga, lihat[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Beberapa layanan adalah bagian dari Tingkat Penggunaan AWS Gratis. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat [https://aws.amazon.com/free/](https://aws.amazon.com/free/) untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

1. Buat direktori `[.ebextensions](ebextensions.md)` di tingkat atas dari paket sumber Anda. 

1. 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.

1. 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 membuat ElastiCache cluster, contoh ini menentukan nama sumber daya ElastiCache cluster (`MyElastiCache`), mendeklarasikan jenisnya, dan kemudian mengkonfigurasi properti untuk cluster. 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 `AWSEBSecurityGroup` harus menambahkan aturan masuknya grup ElastiCache keamanan agar aplikasi Elastic Beanstalk Anda terhubung ke instance di cluster Anda.) ElastiCache 

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: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html)

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](ebextensions-functions.md).

## EC2-VPC (khusus)
<a name="customize-environment-resources-elasticache-targetedvpc"></a>

Jika Anda membuat VPC kustom di platform EC2-VPC dan menentukannya sebagai VPC tempat EC2 meluncurkan instans, proses menambahkan ElastiCache cluster Amazon ke lingkungan Anda berbeda dari VPC default. Perbedaan utamanya adalah Anda harus membuat grup subnet untuk ElastiCache cluster. Semua properti pada contoh ini adalah properti minimum yang diperlukan yang harus ditetapkan untuk setiap jenis sumber daya.

**catatan**  
Contoh ini menciptakan AWS sumber daya, yang mungkin dikenakan biaya untuk Anda. Untuk informasi lebih lanjut tentang AWS harga, lihat[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Beberapa layanan adalah bagian dari Tingkat Penggunaan AWS Gratis. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat [https://aws.amazon.com/free/](https://aws.amazon.com/free/) untuk informasi selengkapnya.

Untuk menggunakan contoh ini, lakukan hal berikut:

1. Buat direktori `[.ebextensions](ebextensions.md)` di tingkat atas dari paket sumber Anda. 

1. 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.

1. 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 membuat ElastiCache cluster, contoh ini menentukan nama sumber daya ElastiCache cluster (`MyElastiCache`), mendeklarasikan jenisnya, dan kemudian mengkonfigurasi properti untuk cluster. Properti dalam contoh referensi nama grup subnet untuk ElastiCache cluster serta ID sumber daya grup keamanan yang kita 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 `AWSEBSecurityGroup` harus menambahkan aturan masuknya grup ElastiCache keamanan agar aplikasi Elastic Beanstalk Anda terhubung ke instance di cluster Anda.) ElastiCache 

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`. Akhirnya, contoh ini membuat grup subnet untuk ElastiCache cluster. 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 untuk ElastiCache cluster. Untuk informasi lebih lanjut tentang VPC dengan subnet pribadi, lihat [https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html](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: 
+ [AWS::ElastiCache::CacheCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)
+ [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html)
+ [AWS::ElastiCache::SubnetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html)

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](ebextensions-functions.md).