Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple : ElastiCache
Les exemples suivants permettent d'ajouter un cluster Amazon ElastiCache aux plateformes EC2-Classic et EC2-VPC (Amazon Virtual Private Cloud (Amazon VPC) par défaut et personnalisé). Pour plus d'informations sur ces plateformes et sur la façon d'identifier celles qui sont prises en charge par EC2 pour votre région et votre compte AWS, consultez https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html. Consultez ensuite la section de cette rubrique qui s'applique à votre plateforme.
Plateformes EC2-classic
Cet exemple ajoute un cluster Amazon ElastiCache à un environnement avec des instances lancées dans la plateforme EC2-Classic. Toutes les propriétés répertoriées dans cet exemple correspondent aux propriétés requises minimales qui doivent être définies pour chaque type de ressource. Vous pouvez télécharger l'exemple sur la page Exemple ElastiCache
Note
Cet exemple crée des ressources AWS, qui peuvent éventuellement vous être facturées. Pour plus d'informations sur la tarification AWS, consultez https://aws.amazon.com/pricing/
Pour utiliser cet exemple, procédez comme suit :
Créez un répertoire
.ebextensions
dans le répertoire de niveau supérieur de votre bundle de fichiers source.Créez deux fichiers de configuration avec l'extension
.config
, puis placez-les dans votre répertoire.ebextensions
. Un fichier de configuration définit les ressources et l'autre fichier de configuration définit les options.Déployez votre application sur Elastic Beanstalk.
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.
Créez un fichier de configuration (par exemple, elasticache.config
) qui définit les ressources. Dans cet exemple, nous créons le cluster ElastiCache en spécifiant le nom de la ressource de cluster ElastiCache (MyElastiCache
), en déclarant son type, puis en configurant les propriétés pour le cluster. L'exemple fait référence au nom de la ressource de groupe de sécurité ElastiCache qui est créée et définie dans ce fichier de configuration. Ensuite, nous créons un groupe de sécurité ElastiCache. Nous définissons le nom de cette ressource, nous déclarons son type, puis nous ajoutons une description du groupe de sécurité. Enfin, nous définissons les règles de trafic entrant pour le groupe de sécurité ElastiCache afin de n'autoriser l'accès qu'à partir des instances incluses dans le groupe de sécurité ElastiCache (MyCacheSecurityGroup
) et dans le groupe de sécurité Elastic Beanstalk (AWSEBSecurityGroup
). Le nom du paramètre, AWSEBSecurityGroup
, est un nom de ressource fixe fourni par Elastic Beanstalk. Vous devez ajouter AWSEBSecurityGroup
aux règles de trafic entrant de votre groupe de sécurité ElastiCache pour que votre application Elastic Beanstalk se connecte aux instances de votre cluster 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
Pour plus d'informations sur les ressources utilisées dans cet exemple de fichier de configuration, consultez les références suivantes :
Créez un fichier de configuration distinct nommé options.config
et définissez les paramètres d'option personnalisés.
option_settings:
"aws:elasticbeanstalk:customoption":
CacheNodeType : cache.m1.small
NumCacheNodes : 1
Engine : memcached
Avec ces lignes de code, Elastic Beanstalk récupère les valeurs des propriétés CacheNodeType, NumCacheNodes et Engine à partir des valeurs CacheNodeType, NumCacheNodes et Engine figurant dans un fichier de configuration (options.config dans notre exemple). Celui-ci contient une section option_settings dont la section aws:elasticbeanstalk:customoption inclut une paire nom-valeur qui contient la valeur réelle à utiliser. Dans l'exemple ci-dessus, cela signifie que les éléments cache.m1.small, 1 et memcached seraient utilisés pour les valeurs. Pour plus d'informations sur Fn::GetOptionSetting
, consultez Fonctions.
EC2-VPC (par défaut)
Cet exemple ajoute un cluster Amazon ElastiCache à un environnement avec des instances lancées dans la plateforme EC2-VPC. Plus précisément, les informations de cette section s'appliquent à un scénario où EC2 lance des instances dans le VPC par défaut. Toutes les propriétés figurant dans cet exemple correspondent aux propriétés requises minimales qui doivent être définies pour chaque type de ressource. Pour plus d'informations sur les VPC par défaut, consultez Vos VPC et sous-réseaux par défaut.
Note
Cet exemple crée des ressources AWS, qui peuvent éventuellement vous être facturées. Pour plus d'informations sur la tarification AWS, consultez https://aws.amazon.com/pricing/
Pour utiliser cet exemple, procédez comme suit :
Créez un répertoire
.ebextensions
dans le répertoire de niveau supérieur de votre bundle de fichiers source.Créez deux fichiers de configuration avec l'extension
.config
, puis placez-les dans votre répertoire.ebextensions
. Un fichier de configuration définit les ressources et l'autre fichier de configuration définit les options.Déployez votre application sur Elastic Beanstalk.
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.
Ensuite, attribuez le nom au fichier de configuration de ressources elasticache.config
. Pour créer le cluster ElastiCache, cet exemple spécifie le nom de la ressource de cluster ElastiCache (MyElastiCache
), déclare son type, puis configure les propriétés pour le cluster. L'exemple fait référence à l'ID de la ressource de groupe de sécurité que nous créons et définissons dans ce fichier de configuration.
Ensuite, nous créons un groupe de sécurité EC2. Nous définissons le nom de cette ressource, déclarons son type, ajoutons une description et définissons les règles de trafic entrant pour le groupe de sécurité afin de n'autoriser l'accès qu'à partir des instances incluses dans le groupe de sécurité Elastic Beanstalk (AWSEBSecurityGroup
). (Le nom du paramètre, AWSEBSecurityGroup
, est un nom de ressource fixe fourni par Elastic Beanstalk. Vous devez ajouter AWSEBSecurityGroup
aux règles d'entrée de votre groupe de sécurité ElastiCache pour que votre application Elastic Beanstalk puisse se connecter aux instances de votre cluster ElastiCache.)
Les règles de trafic entrant pour le groupe de sécurité EC2 définissent également le protocole IP et les numéros de port sur lesquels les nœuds de cache peuvent accepter des connexions. Pour Redis, le numéro de port par défaut est 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"
Pour plus d'informations sur les ressources utilisées dans cet exemple de fichier de configuration, consultez les références suivantes :
Ensuite, attribuez le nom options.config
au fichier de configuration des options et définissez les paramètres d'option personnalisés.
option_settings:
"aws:elasticbeanstalk:customoption":
CacheNodeType : cache.t2.micro
NumCacheNodes : 1
Engine : redis
CachePort : 6379
Avec ces lignes de code, Elastic Beanstalk récupère les valeurs des propriétés CacheNodeType
, NumCacheNodes
, Engine
et CachePort
à partir des valeurs CacheNodeType
, NumCacheNodes
, Engine
et CachePort
figurant dans un fichier de configuration (options.config
dans notre exemple). Ce fichier inclut une section aws:elasticbeanstalk:customoption
(sous option_settings
) qui contient des paires nom-valeur incluant les valeurs réelles à utiliser. Dans l'exemple précédent, les éléments cache.t2.micro
, 1
, redis
et 6379
seraient utilisés pour les valeurs. Pour plus d'informations sur Fn::GetOptionSetting
, consultez Fonctions.
EC2-VPC (personnalisé)
Si vous créez un VPC personnalisé sur la plateforme EC2-VPC et que vous le spécifiez en tant que VPC dans lequel EC2 lance les instances, le processus d'ajout d'un cluster Amazon ElastiCache à votre environnement diffère de celui d'un VPC par défaut. La différence principale est que vous devez créer un groupe de sous-réseaux pour le cluster ElastiCache. Toutes les propriétés figurant dans cet exemple correspondent aux propriétés requises minimales qui doivent être définies pour chaque type de ressource.
Note
Cet exemple crée des ressources AWS, qui peuvent éventuellement vous être facturées. Pour plus d'informations sur la tarification AWS, consultez https://aws.amazon.com/pricing/
Pour utiliser cet exemple, procédez comme suit :
Créez un répertoire
.ebextensions
dans le répertoire de niveau supérieur de votre bundle de fichiers source.Créez deux fichiers de configuration avec l'extension
.config
, puis placez-les dans votre répertoire.ebextensions
. Un fichier de configuration définit les ressources et l'autre fichier de configuration définit les options.Déployez votre application sur Elastic Beanstalk.
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.
Ensuite, attribuez le nom au fichier de configuration de ressources elasticache.config
. Pour créer le cluster ElastiCache, cet exemple spécifie le nom de la ressource de cluster ElastiCache (MyElastiCache
), déclare son type, puis configure les propriétés pour le cluster. Dans cet exemple, les propriétés font référence au nom du groupe de sous-réseaux pour le cluster ElastiCache ainsi qu'à l'ID de la ressource de groupe de sécurité que nous créons et définissons dans ce fichier de configuration.
Ensuite, nous créons un groupe de sécurité EC2. Nous définissons le nom de cette ressource, déclarons son type, ajoutons une description et l'ID de VPC, et définissons les règles de trafic entrant pour le groupe de sécurité afin de n'autoriser l'accès qu'à partir des instances incluses dans le groupe de sécurité Elastic Beanstalk (AWSEBSecurityGroup
). (Le nom du paramètre, AWSEBSecurityGroup
, est un nom de ressource fixe fourni par Elastic Beanstalk. Vous devez ajouter AWSEBSecurityGroup
aux règles d'entrée de votre groupe de sécurité ElastiCache pour que votre application Elastic Beanstalk puisse se connecter aux instances de votre cluster ElastiCache.)
Les règles de trafic entrant pour le groupe de sécurité EC2 définissent également le protocole IP et les numéros de port sur lesquels les nœuds de cache peuvent accepter des connexions. Pour Redis, le numéro de port par défaut est 6379
. Enfin, cet exemple crée un groupe de sous-réseaux pour le cluster ElastiCache. Nous définissons le nom de cette ressource, déclarons son type et ajoutons la description et l'ID du sous-réseau dans le groupe de sous-réseaux.
Note
Nous vous recommandons d'utiliser des sous-réseaux privés pour le cluster ElastiCache. Pour plus d'informations sur un VPC avec un sous-réseau privé, consultez 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"
Pour plus d'informations sur les ressources utilisées dans cet exemple de fichier de configuration, consultez les références suivantes :
Ensuite, attribuez le nom options.config
au fichier de configuration des options et définissez les paramètres d'option personnalisés.
Note
Dans l'exemple suivant, remplacez les exemples de valeurs CacheSubnets
et VpcId
par vos propres sous-réseaux et VPC.
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
Avec ces lignes de code, Elastic Beanstalk récupère les valeurs des propriétés CacheNodeType
, NumCacheNodes
, Engine
, CachePort
, CacheSubnets
et VpcId
à partir des valeurs CacheNodeType
, NumCacheNodes
, Engine
, CachePort
, CacheSubnets
et VpcId
figurant dans un fichier de configuration (options.config
dans notre exemple). Ce fichier inclut une section aws:elasticbeanstalk:customoption
(sous option_settings
) qui contient des paires nom-valeur incluant des exemples de valeurs. Dans l'exemple ci-dessus, les éléments cache.t2.micro
, 1
, redis
, 6379
, subnet-1a1a1a1a
, subnet-2b2b2b2b
, subnet-3c3c3c3c
et vpc-4d4d4d4d
seraient utilisés pour les valeurs. Pour plus d'informations sur Fn::GetOptionSetting
, consultez Fonctions.