---
subcategory: "ElastiCache"
layout: "aws"
page_title: "AWS: aws_elasticache_security_group"
description: |-
  Provides an ElastiCache Security Group to control access to one or more cache clusters.
---

# Resource: aws_elasticache_security_group

Provides an ElastiCache Security Group to control access to one or more cache
clusters.

~> **NOTE:** ElastiCache Security Groups are for use only when working with an
ElastiCache cluster **outside** of a VPC. If you are using a VPC, see the
[ElastiCache Subnet Group resource](elasticache_subnet_group.html).

## Example Usage

```hcl
resource "aws_security_group" "bar" {
  name = "security-group"
}

resource "aws_elasticache_security_group" "bar" {
  name                 = "elasticache-security-group"
  security_group_names = [aws_security_group.bar.name]
}
```

## Argument Reference

The following arguments are supported:

* `name` – (Required) Name for the cache security group. This value is stored as a lowercase string.
* `description` – (Optional) description for the cache security group. Defaults to "Managed by Terraform".
* `security_group_names` – (Required) List of EC2 security group names to be
authorized for ingress to the cache security group


## Attributes Reference

In addition to all arguments above, the following attributes are exported:

* `description`
* `name`
* `security_group_names`

## Import

ElastiCache Security Groups can be imported by name, e.g.

```
$ terraform import aws_elasticache_security_group.my_ec_security_group ec-security-group-1
```
