ElastiCache の VPC とサブネットグループの確認

ElastiCache の実際のサブネットグループと VPC を確認し、必要なクライアントだけに接続を許可してください。

説明

ElastiCache をワークロードに適した VPC とサブネットに配置し、セキュリティグループでアクセスを制限する必要があります。CacheSubnetGroupName を省略するとデフォルトのサブネットグループが使われる場合があるため、省略だけで VPC の外に配置される、またはインターネットに公開されるとは限りません。

想定される影響

意図しないネットワークへの配置により、必要なアプリケーション接続が失敗したり、不要なクライアントのアクセスが許可されたりする場合があります。

対処方法

サブネットグループの実際の VPC とサブネットを確認し、承認されたグループを CacheSubnetGroupName に指定してください。セキュリティグループと必要な接続経路を併せて確認し、変更セットで置換やサービス停止の可能性を確認してください。

例

サブネットグループの選択を比較する従来の Memcached の例です。実際の適用には、対応するノードタイプと、環境に合うセキュリティグループ・接続経路が必要です。

変更前

yaml
Resources:
  ElasticacheCluster:
    Type: 'AWS::ElastiCache::CacheCluster'
    Properties:    
      Engine: memcached
      CacheNodeType: cache.t2.micro
      NumCacheNodes: '1'

サブネットグループを明記していません。作成されたキャッシュの実際の配置を確認する必要があります。

変更後

yaml
Resources:
  ElasticacheCluster:
    Type: 'AWS::ElastiCache::CacheCluster'
    Properties:    
      Engine: memcached
      CacheNodeType: cache.t2.micro
      NumCacheNodes: '1'
      CacheSubnetGroupName: default

default という名前のサブネットグループを選択します。名前だけでは意図した分離やアクセス制限は保証されないため、グループの実際の設定を確認してください。

参考資料