{"id":33710,"date":"2023-10-02T04:34:29","date_gmt":"2023-11-27T20:06:12","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/"},"modified":"2024-05-04T02:28:34","modified_gmt":"2024-05-03T18:28:34","slug":"%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/","title":{"rendered":"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede"},"content":{"rendered":"<h1>\u592a\u957f\u4e0d\u770b<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Amazon ElastiCache for Redis\u306b\u304a\u3044\u3066\u5229\u7528\u3059\u3079\u304d\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30ce\u30fc\u30c9\u306e\u6570\u3084\u30af\u30e9\u30b9\u30bf\u30fc\u30e2\u30fc\u30c9\u304c\u6709\u52b9\u304b\u3069\u3046\u304b\u3067\u7570\u306a\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b7\u30f3\u30b0\u30eb\u30ce\u30fc\u30c9\u306e\u5834\u5408<\/ul>\n<\/li>\n<\/ul>\n<p>\u30ce\u30fc\u30c9\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\uff08Endpoint\uff09\u3092\u8aad\u307f\u66f8\u304d\u306e\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u306b\u4f7f\u3046<\/p>\n<p>PrimaryEndpoint\u3067\u3082\u3044\u3044\u6c17\u3082<\/p>\n<p>\u30af\u30e9\u30b9\u30bf\u30fc\u69cb\u6210\u306e\u5834\u5408<\/p>\n<p>\u30af\u30e9\u30b9\u30bf\u30fc\u30e2\u30fc\u30c9\u304c\u6709\u52b9\u306e\u5834\u5408\u306f\u3001ConfigurationEndpoint\u3092\u4f7f\u3046<br \/>\n\u30af\u30e9\u30b9\u30bf\u30fc\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306e\u5834\u5408\u306f\u3001\u66f8\u304d\u8fbc\u307f\u306b\u306fPrimaryEndpoint\u3092\u3001\u8aad\u307f\u8fbc\u307f\u306b\u306fReaderEndpoint\u3092\u4f7f\u3046<\/p>\n<p>\u6211\u9605\u8bfb\u4e86\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u6587\u6863\uff0c\u4f46\u662f\u4e0d\u592a\u6e05\u695a\u5728\u4ec0\u4e48\u60c5\u51b5\u4e0b\u4f7f\u7528\u54ea\u4e2a\u7ec8\u7aef\u8282\u70b9\uff0c\u6240\u4ee5\u53ef\u80fd\u8981\u4ed4\u7ec6\u9605\u8bfb\u4e00\u4e0b\u3002<\/p>\n<p>\u6240\u4ee5\uff0c\u8fd9\u7bc7\u6587\u7ae0\u7684\u76ee\u7684\u662f\u6574\u7406\u8fd9\u4e9b\u4fe1\u606f\u3002<\/p>\n<h1>Amazon ElastiCache for Redis\u7684\u914d\u7f6e\u6a21\u5f0f\u3002<\/h1>\n<p>\u7b80\u800c\u8a00\u4e4b\uff0c\u5728TL;DR\u4e2d\u5199\u9053\u7684\u201c\u5355\u8282\u70b9\u60c5\u51b5\u201d\u548c\u201c\u96c6\u7fa4\u914d\u7f6e\u60c5\u51b5\u201d\uff0c\u662f\u4ece\u4ee5\u4e0b\u9875\u9762\u6458\u53d6\u7684\uff08\u8868\u8fbe\u65b9\u5f0f\u53ef\u80fd\u4e0d\u5b8c\u5168\u76f8\u540c\uff09\u3002<\/p>\n<p>\u641c\u7d22\u8fde\u63a5\u7ec8\u7aef\u70b9<\/p>\n<p>\u8ba9\u6211\u4eec\u786e\u8ba4\u4e00\u4e0b\u672f\u8bed\uff0c\u4ee5\u514d\u5bf9\u201c\u7c07\u201d\u8fd9\u4e2a\u8bcd\u611f\u5230\u56f0\u60d1\u3002<\/p>\n<p>Redis \u7684\u672f\u8bed\u5728 ElastiCache \u4e2d\u7684\u4f7f\u7528<\/p>\n<p>\u4e0d\u7ba1\u600e\u6837\uff0c\u597d\u50cf\u5728\u6240\u6709\u7684\u60c5\u51b5\u4e0b\u90fd\u4f7f\u7528\u4e86&#8221;\u96c6\u7fa4&#8221;\u8fd9\u4e2a\u8bcd\u3002<\/p>\n<blockquote><p>\u63a7\u5236\u53f0\u5bf9\u6240\u6709 Redis \u7528 ElastiCache \u96c6\u7fa4\u4f7f\u7528\u201c\u96c6\u7fa4\u201d\u8fd9\u4e2a\u8bcd\u3002<\/p><\/blockquote>\n<p>\u9605\u8bfb\u6b64\u63cf\u8ff0\u65f6<\/p>\n<blockquote><p>\u5982\u679c\u96c6\u7fa4\u662f\u5355\u8282\u70b9 Redis \u96c6\u7fa4\uff0c\u5373\u96c6\u7fa4\u6ca1\u6709\u5206\u7247\uff0c\u4e5f\u4e0d\u652f\u6301\u590d\u5236\u3002<br \/>\n\u5982\u679c\u96c6\u7fa4\u662f\u5355\u4e00\u5206\u7247\u5185\u7684 Redis \u96c6\u7fa4\uff08\u5728 API \u548c CLI \u4e2d\u79f0\u4e3a\u8282\u70b9\u7ec4\uff09\uff0c\u652f\u6301\u590d\u5236\uff0c\u4f46\u7981\u7528\u96c6\u7fa4\u6a21\u5f0f\u3002<br \/>\n\u5982\u679c\u96c6\u7fa4\u662f\u5728 1 \u5230 90 \u4e2a\u5206\u7247\u5185\u652f\u6301\u590d\u5236\u7684 Redis \u96c6\u7fa4\uff08\u542f\u7528\u96c6\u7fa4\u6a21\u5f0f\uff09\u3002<\/p><\/blockquote>\n<p>\u53ea\u9700\u4e00\u79cd\u9009\u9879\u5373\u53ef\uff1a\u5728\u4ee5\u4e0b\u5185\u5bb9\u4e2d\u7406\u89e3\u5373\u53ef\u3002<\/p>\n<div>\n<div class=\"post-table\">\u69cb\u6210\u30b7\u30e3\u30fc\u30c9\u6570\u30d7\u30e9\u30a4\u30de\u30ea\u30ce\u30fc\u30c9\u6570\u30ec\u30d7\u30ea\u30ab\u30ce\u30fc\u30c9\u6570\u30af\u30e9\u30b9\u30bf\u30fc\u30e2\u30fc\u30c9\u30b7\u30f3\u30b0\u30eb\u30ce\u30fc\u30c9\u69cb\u6210110\u7121\u52b9\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u621011N\uff081\u301c5\uff09\u7121\u52b9\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u69cb\u6210S\uff081\u301c90\uff09SS \u00d7 N\uff080\u301c5\uff09\u6709\u52b9<\/div>\n<\/div>\n<p>\u4f5c\u4e3a\u53c2\u8003\uff0c\u60a8\u53ef\u4ee5\u53c2\u8003\u8fd9\u4e9b\u6587\u6863\u3002<\/p>\n<p>\u4f7f\u7528\u590d\u5236\u7ec4\u4ee5\u5b9e\u73b0\u9ad8\u53ef\u7528\u6027\u3002<\/p>\n<p>\u5173\u4e8e Redis \u590d\u5236\u7684\u95ee\u9898<\/p>\n<p>Redis\u5728\u975e\u96c6\u7fa4\u6a21\u5f0f\u548c\u96c6\u7fa4\u6a21\u5f0f\u4e0b\u7684\u590d\u5236\u529f\u80fd\u6bd4\u8f83\u3002<\/p>\n<p>\u8fd9\u4e9b\u90fd\u88ab\u79f0\u4e3a&#8221;\u7fa4\u96c6&#8221;\uff0c\u800c\u4e14\u6bcf\u79cd\u6a21\u5f0f\u90fd\u6709\u4e00\u4e2a\u4ee5\u4e0a\u7684\u5206\u7247\u3002<\/p>\n<p>\u539f\u672c\u7684Redis\u6570\u636e\u5b58\u50a8\u96c6\u7fa4\uff08Redis Cluster\uff09\u8fd9\u4e2a\u672f\u8bed\uff0c\u4ec5\u6307\u5206\u7247\u914d\u7f6e\u60c5\u51b5\u3002<\/p>\n<p>Redis\u96c6\u7fa4\u6559\u7a0b<\/p>\n<p>\u5443\uff0c\u6709\u70b9\u590d\u6742\u2026\u3002<\/p>\n<h1>\u4e9a\u9a6c\u900aElastiCache for Redis\u7684\u8fde\u63a5\u7ec8\u7aef<\/h1>\n<p>\u8fd9\u6b21\u7684\u8ba8\u8bba\u662f\u5173\u4e8e\u9009\u62e9\u54ea\u79cd\u914d\u7f6e\uff0c\u4ece\u800c\u6539\u53d8\u4f7f\u7528\u7684\u7ec8\u8282\u70b9\u3002<\/p>\n<p>\u987a\u4fbf\u8bf4\u4e00\u4e0b\uff0c&#8221;\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8&#8221; \u662f\u6307<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30a2\u30c9\u30ec\u30b9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30dd\u30fc\u30c8<\/ul>\n<p>\u4f3c\u4e4e\u662f\u7531&#8230;\u7ec4\u6210\u7684\u3002<\/p>\n<p>\u770b\u5230\u4ee5\u4e0b\u7684\u6587\u4ef6\uff0c\u4f3c\u4e4e\u53ef\u4ee5\u5206\u4e3a\u56db\u79cd\u7c7b\u578b\u7684\u7ec8\u7aef\u70b9\u3002<\/p>\n<p>\u641c\u7d22\u8fde\u63a5\u7ec8\u70b9<\/p>\n<p>\u5728Redis\u4e2d\u67e5\u627e\uff08\u4e0d\u542f\u7528\u96c6\u7fa4\u6a21\u5f0f\uff09\u96c6\u7fa4\u7ec8\u7aef\u70b9\uff08\u63a7\u5236\u53f0\uff09\u3002<\/p>\n<p>Redis\uff08\u542f\u7528\u96c6\u7fa4\u6a21\u5f0f\uff09\u5728\u96c6\u7fa4\u4e2d\u641c\u7d22\u7aef\u70b9\uff08\u63a7\u5236\u53f0\uff09\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\uff08\u30ce\u30fc\u30c9\u5358\u4f4d\u306e\uff09Endpoint<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">PrimaryEndpoint<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">ReaderEndpoint<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">ConfigurationEndpoint<\/ul>\n<p>\u7528\u6cd5\u5927\u6982\u5c31\u662f\u8fd9\u6837\u7684\u3002<\/p>\n<div>\n<div class=\"post-table\">\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u7a2e\u985e\u610f\u5473\u7528\u9014\u4f7f\u3046\u69cb\u6210\u30af\u30e9\u30b9\u30bf\u30fc\u30e2\u30fc\u30c9\uff08\u30ce\u30fc\u30c9\u5358\u4f4d\u306e\uff09EndpointRedis\u30ce\u30fc\u30c9\u5358\u4f4d\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8Redis\u30ce\u30fc\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306b\u4f7f\u3046\uff08\u8aad\u307f\u66f8\u304d\u542b\u3080\uff09\u30b7\u30f3\u30b0\u30eb\u30ce\u30fc\u30c9\u69cb\u6210\u7121\u52b9PrimaryEndpoint\u30b7\u30e3\u30fc\u30c9\u306e\u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30ce\u30fc\u30c9\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30b7\u30e3\u30fc\u30c9\u306b\u5bfe\u3059\u308b\u66f8\u304d\u8fbc\u307f\u64cd\u4f5c\u3092\u884c\u3046\u305f\u3081\u306b\u4f7f\u3046\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210\u7121\u52b9ReaderEndpoint\u30b7\u30e3\u30fc\u30c9\u306e\u30ec\u30d7\u30ea\u30ab\u30ce\u30fc\u30c9\u7fa4\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30b7\u30e3\u30fc\u30c9\u306b\u5bfe\u3059\u308b\u8aad\u307f\u8fbc\u307f\u64cd\u4f5c\u3092\u884c\u3046\u305f\u3081\u306b\u4f7f\u3046\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210\u7121\u52b9ConfigurationEndpoint\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u69cb\u6210\u5168\u4f53\u306b\u5bfe\u3059\u308b\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u69cb\u6210\u5168\u4f53\u306b\u5bfe\u3059\u308b\u8aad\u307f\u8fbc\u307f\u3001\u66f8\u304d\u8fbc\u307f\u64cd\u4f5c\u3092\u884c\u3046\u305f\u3081\u306b\u4f7f\u3046\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u69cb\u6210\u6709\u52b9<\/div>\n<\/div>\n<p>\u770b\u5230\u540e\u7eed\u7684\u786e\u8ba4\u7ed3\u679c\uff0c\u6211\u89c9\u5f97\u5373\u4f7f\u662f\u5728\u5355\u8282\u70b9\u4e0a\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528PrimaryEndpoint\u3002<\/p>\n<p>\u53e6\u5916\uff0c\u5b9e\u9645\u4e0a\u8fd8\u6709\u4e00\u4e2a\u540d\u4e3aReadEndpoint\u7684\u4e1c\u897f\uff0c\u636e\u8bf4\u8fd9\u662f\u8282\u70b9\u7ea7\u522b\u7684\u8bfb\u53d6\u7aef\u70b9\u3002<\/p>\n<p>\u542c\u8d77\u6765\u662f\u8fd9\u6837\uff0c\u5b83\u4f1a\u5c06\u8fd9\u4e2a\u64cd\u4f5c\u5728\u5206\u7247\u5185\u7684\uff08\u591a\u4e2a\uff09\u590d\u5236\u8282\u70b9\u4e0a\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\uff0c\u8fd9\u4e2a\u64cd\u4f5c\u88ab\u79f0\u4e3aReaderEndpoint\u3002<\/p>\n<p>\u5728Amazon ElastiCache Redis\u4e2d\u542f\u52a8\u4e3b\u8282\u70b9\u7aef\u70b9\u3002<\/p>\n<p>\u914d\u7f6e Amazon ElastiCache \u4ee5\u63d0\u9ad8 Redis \u7684\u53ef\u7528\u6027\u3002<\/p>\n<p>\u5728\u51fa\u73b0ReaderEndpoint\u4e4b\u524d\uff0c\u6211\u4eec\u662f\u7ba1\u7406\u7740\u6bcf\u4e2a\u8282\u70b9\u7684\u7ec8\u7aef\u70b9\u7684\u5bf9\u5427&#8230;\u3002<\/p>\n<p>\u5728AWS\u6587\u6863\u4e2d\uff0c\u51fa\u73b0\u4e86&#8221;\u914d\u7f6e\u7aef\u70b9&#8221;\u548c&#8221;\u8bfb\u53d6\u7aef\u70b9&#8221;\u8fd9\u6837\u7684\u672f\u8bed\uff0c\u6211\u89c9\u5f97\u610f\u601d\u4e0d\u592a\u6e05\u695a\u3002\u8fd9\u6837\u7684\u672f\u8bed\u4e5f\u5f88\u96be\u4e0eAWS CLI\u7684\u7ed3\u679c\u5173\u8054\u8d77\u6765\u3002<\/p>\n<p>\u4e00\u65e6\u56f0\u60d1\uff0c\u6211\u51b3\u5b9a\u67e5\u770b\u82f1\u6587\u7248\u4ee5\u4e86\u89e3\u60c5\u51b5\u3002<\/p>\n<p>\u90a3\u4e48\uff0c\u8ba9\u6211\u4eec\u8fd9\u6837\u6765\u89e3\u91ca\u5e76\u5b9e\u9645\u8bd5\u4e00\u4e0b\u3002\u6211\u4eec\u5c06\u4f7f\u7528Terraform\u6765\u6784\u5efa\u9a8c\u8bc1\u73af\u5883\u3002<\/p>\n<h1>\u73af\u5883<\/h1>\n<p>\u8fd9\u6b21\u7684\u73af\u5883\u662f\u8fd9\u91cc\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>terraform version\r\nTerraform v0.13.0\r\n+ provider registry.terraform.io\/hashicorp\/aws v3.2.0\r\n\r\n\r\n<span class=\"nv\">$ <\/span>aws <span class=\"nt\">--version<\/span>\r\naws-cli\/2.0.40 Python\/3.7.3 Linux\/4.15.0-112-generic exe\/x86_64.ubuntu.18\r\n<\/code><\/pre>\n<p>\u5728\u4e2d\u56fd\u672c\u5730\u5316\u4e2d\uff0c\u53ef\u4ee5\u8fd9\u6837\u89e3\u91ca\uff1aAWS\u7684\u51ed\u636e\u662f\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u8fdb\u884c\u8bbe\u7f6e\u7684\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">export <\/span><span class=\"nv\">AWS_ACCESS_KEY_ID<\/span><span class=\"o\">=<\/span>...\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">export <\/span><span class=\"nv\">AWS_SECRET_ACCESS_KEY<\/span><span class=\"o\">=<\/span>...\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">export <\/span><span class=\"nv\">AWS_DEFAULT_REGION<\/span><span class=\"o\">=<\/span>ap-northeast-1\r\n<\/code><\/pre>\n<p>\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u6309\u7167\u4ee5\u4e0b\u7684\u7ed3\u6784\u9010\u4e00\u5c1d\u8bd5\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b7\u30f3\u30b0\u30eb\u30ce\u30fc\u30c9\u69cb\u6210<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u69cb\u6210<\/ul>\n<p>Amazon ElastiCache for Redis\u7684Redis\u7248\u672c\u5c06\u8bbe\u4e3a5.0.6\u3002<\/p>\n<p>\u6211\u5e0c\u671b\u5728\u4e0eAmazon ElastiCache for Redis\u76f8\u540c\u7684\u5b50\u7f51\u4e0a\u51c6\u5907Amazon EC2\uff0c\u5e76\u901a\u8fc7redis-cli\u8fdb\u884c\u786e\u8ba4\u3002<\/p>\n<p>\u8fd9\u4e2a\u5c06\u5728Amazon Linux 2\u4e0a\u8fdb\u884c\u6784\u5efa\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span><span class=\"nb\">sudo <\/span>amazon-linux-extras <span class=\"nb\">install <\/span>epel\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">sudo <\/span>yum <span class=\"nb\">install <\/span>https:\/\/rpms.remirepo.net\/enterprise\/remi-release-7.rpm\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">sudo <\/span>yum search <span class=\"nt\">--showduplicates<\/span> <span class=\"nt\">--enablerepo<\/span><span class=\"o\">=<\/span>remi search redis | <span class=\"nb\">grep<\/span> <span class=\"s1\">'^redis-5'<\/span>\r\nredis-5.0.9-1.el7.remi.x86_64 : A persistent key-value database\r\n<span class=\"nv\">$ <\/span><span class=\"nb\">sudo <\/span>yum <span class=\"nb\">install<\/span> <span class=\"nt\">--enablerepo<\/span><span class=\"o\">=<\/span>remi redis-5.0.9-1.el7.remi.x86_64\r\n<\/code><\/pre>\n<p>\u867d\u7136\u7248\u672c\u7a0d\u5fae\u66f4\u65b0\uff0c\u4f46\u8fd9\u6b21\u6211\u4eec\u5b89\u88c5\u7684\u662fRedis 5.0.9\uff0c\u5e76\u4e14\u53ea\u4f7f\u7528redis-cli\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-v<\/span>\r\nredis-cli 5.0.9\r\n<\/code><\/pre>\n<h1>\u5355\u8282\u70b9\u7ed3\u6784<\/h1>\n<p>\u9996\u5148\uff0c\u4ece\u5355\u8282\u70b9\u7ed3\u6784\u5f00\u59cb\u3002<\/p>\n<p>\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 Terraform \u4f86\u6e96\u5099 aws_elasticache_replication_group\u3001aws_elasticache_parameter_group \u548c aws_elasticache_subnet_group\u3002\u5176\u4ed6\u5143\u7d20\u5c07\u5728\u6700\u5f8c\u4e00\u8d77\u5217\u51fa\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"err\">#<\/span> <span class=\"n\">Single<\/span> <span class=\"n\">Node<\/span>\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_replication_group\"<\/span> <span class=\"s\">\"redis\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">replication_group_description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"My ElastiCache for Redis Replication Group\"<\/span>\r\n  <span class=\"n\">replication_group_id<\/span>          <span class=\"o\">=<\/span> <span class=\"s\">\"my-redis-replication-group\"<\/span>\r\n\r\n  <span class=\"n\">engine<\/span>         <span class=\"o\">=<\/span> <span class=\"s\">\"redis\"<\/span>\r\n  <span class=\"n\">engine_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"5.0.6\"<\/span>\r\n\r\n  <span class=\"n\">node_type<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"cache.t3.medium\"<\/span>\r\n\r\n  <span class=\"n\">port<\/span> <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n\r\n  <span class=\"n\">parameter_group_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">security_group_ids<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">elasticache_for_redis_cluster_sg<\/span><span class=\"o\">.<\/span><span class=\"n\">this_security_group_id<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">subnet_group_name<\/span>  <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_subnet_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_subnet<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">automatic_failover_enabled<\/span> <span class=\"o\">=<\/span> <span class=\"no\">false<\/span>\r\n\r\n  <span class=\"n\">number_cache_clusters<\/span> <span class=\"o\">=<\/span> <span class=\"m\">1<\/span> <span class=\"err\">#<\/span> <span class=\"n\">Primary<\/span> <span class=\"n\">Only<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_parameter_group\"<\/span> <span class=\"s\">\"redis_parameter_group\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">family<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"redis5.0\"<\/span>\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-parameter-group\"<\/span>\r\n\r\n  <span class=\"n\">parameter<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">name<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"cluster-enabled\"<\/span>\r\n    <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"no\"<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_subnet_group\"<\/span> <span class=\"s\">\"redis_subnet\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">name<\/span>       <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-subnet-group\"<\/span>\r\n  <span class=\"n\">subnet_ids<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">private_subnets<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u590d\u5236\u7ec4\u7684id\u88ab\u547d\u540d\u4e3amy-redis-replication-group\u3002<\/p>\n<p>\u987a\u4fbf\u8bf4\u4e00\u53e5\uff0c\u4f5c\u4e3aTerraform\u7684aws_elasticache_replication_group\u7684\u8f93\u51fa\u7ed3\u679c\uff0c\u53ef\u4ee5\u5f97\u5230\u4e00\u4e9b\u6709\u5173\u7aef\u70b9\u548c\u8282\u70b9\u7684\u4fe1\u606f\uff0c\u5305\u62ec\u4e3b\u8981\u7aef\u70b9\uff08PrimaryEndpoint\uff09\u3001\u914d\u7f6e\u7aef\u70b9\uff08ConfigurationEndpoint\uff09\uff0c\u4ee5\u53ca\u96c6\u7fa4\u4e2d\u7684\u6210\u5458\u3002<\/p>\n<p>\u8d44\u6e90: aws_elasticache_replication_group \/ \u5c5e\u6027\u53c2\u8003<\/p>\n<p>\u6240\u4ee5\uff0c\u6682\u65f6\u5148\u8bbe\u7f6e\u4e3a\u8f93\u51fa\u8f93\u51fa\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_primary_endpoint_address\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">primary_endpoint_address<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_configuration_endpoint_address\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">configuration_endpoint_address<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_member_clusters\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">member_clusters<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u4eec\u5f97\u5230\u7684\u662f\u8fd9\u79cd\u611f\u89c9\u3002<\/p>\n<pre class=\"post-pre\"><code>Outputs:\r\n\r\nredis_elasticache_replication_group_member_clusters <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>\r\n  <span class=\"s2\">\"my-redis-replication-group-001\"<\/span>,\r\n<span class=\"o\">]<\/span>\r\nredis_elasticache_replication_group_primary_endpoint_address <span class=\"o\">=<\/span> my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>  <span class=\"dl\">\"<\/span><span class=\"s2\">outputs<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_member_clusters<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-001<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">],<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">set<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">]<\/span>\r\n    <span class=\"p\">},<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_primary_endpoint_address<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">},<\/span>\r\n<\/code><\/pre>\n<p>\u4f3c\u4e4e\u53ea\u6709\u5728\u542f\u7528\u4e86\u96c6\u7fa4\u6a21\u5f0f\u65f6\uff0c\u624d\u80fd\u83b7\u5f97 ConfigurationEndpoint \u8fd9\u4e2a\u9009\u9879\u3002<\/p>\n<blockquote><p>\u914d\u7f6e\u7aef\u70b9\u5730\u5740 &#8211; \u5f53\u542f\u7528\u96c6\u7fa4\u6a21\u5f0f\u65f6\uff0c\u590d\u5236\u7ec4\u914d\u7f6e\u7684\u7aef\u70b9\u5730\u5740\u3002<\/p><\/blockquote>\n<p>\u76f8\u53cd\u5730\uff0c\u636e\u770b\u8d77\u6765\uff0c\u53ea\u6709\u5728\u7fa4\u96c6\u6a21\u5f0f\u7981\u7528\u65f6\u624d\u80fd\u83b7\u5f97PrimaryEndpoint\u3002<\/p>\n<blockquote><p>\u4e3b\u8282\u70b9\u7ec8\u7aef\u5730\u5740 &#8211; \uff08\u4ec5\u9002\u7528\u4e8eRedis\uff09\u5982\u679c\u7981\u7528\u4e86\u96c6\u7fa4\u6a21\u5f0f\uff0c\u8be5\u590d\u5236\u7ec4\u4e2d\u4e3b\u8282\u70b9\u7684\u7ec8\u7aef\u5730\u5740\u3002<\/p><\/blockquote>\n<p>\u5728\u8fd9\u91cc\u8fd4\u56de\u7684\u7ec8\u7aef\u8282\u70b9\u4f3c\u4e4e\u53ea\u6709\u5730\u5740\uff08\u6ca1\u6709\u7aef\u53e3\uff09\u3002<\/p>\n<p>AWS CLI\u3067\u3082\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-replication-groups <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--replication-group-id<\/span> my-redis-replication-group | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.NodeGroups?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"NodeGroupId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"Status\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"PrimaryEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ReaderEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"NodeGroupMembers\"<\/span>: <span class=\"o\">[<\/span>\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"ReadEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n          <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n          <span class=\"s2\">\"Port\"<\/span>: 6379\r\n        <span class=\"o\">}<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>,\r\n        <span class=\"s2\">\"CurrentRole\"<\/span>: <span class=\"s2\">\"primary\"<\/span>\r\n      <span class=\"o\">}<\/span>\r\n    <span class=\"o\">]<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>PrimaryEndpoint\u3001ReaderEndpoint\u3001ReadEndpoint\u5206\u522b\u6307\u4ee3\u4e86\u4e0d\u540c\u7684\u503c\u5462\u3002<\/p>\n<p>\u8fd9\u6b21\u770b\u8d77\u6765\u4e0d\u7ba1\u4f7f\u7528\u54ea\u4e2a\u90fd\u4f1a\u8fd4\u56de\u76f8\u540c\u7684\u503c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>dig +short my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com.\r\n10.0.40.66\r\n\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com.\r\n10.0.40.66\r\n\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\r\n10.0.40.66\r\n<\/code><\/pre>\n<p>\u65e0\u8bba\u8fde\u63a5\u5230\u54ea\u4e2a\u5730\u5740\uff0c\u90fd\u53ef\u4ee5\u8fdb\u884c\u8bfb\u5199\u64cd\u4f5c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key1 value1\r\nOK\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; get key1\r\n<span class=\"s2\">\"value1\"<\/span>\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; \r\n\r\n\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key2 value2\r\nOK\r\nmy-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; get key2\r\n<span class=\"s2\">\"value2\"<\/span>\r\n\r\n\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key3 value3\r\nOK\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; get key3\r\n<span class=\"s2\">\"value3\"<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u4eec\u4e5f\u6765\u770b\u770b\u526f\u672c\u7684\u4fe1\u606f\u3002\u867d\u7136\u5728\u8282\u70b9\u7ea7\u522b\u7684\u7aef\u70b9\u4e0a\u6267\u884c\uff0c\u4f46\u4f7f\u7528\u5176\u4ed6\u7aef\u70b9\u7ed3\u679c\u662f\u76f8\u540c\u7684\u3002<\/p>\n<p>\u590d\u5236<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:master\r\nconnected_slaves:0\r\nmaster_replid:5b13bc875ab08515dc6fbfde8060a9334ff6bd6d\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n<\/code><\/pre>\n<p>\u987a\u4fbf\u8bf4\u4e00\u4e0b\uff0c\u5982\u679c\u7528AWS CLI\u6765\u67e5\u8be2\u65b0\u521b\u5efa\u7684\u96c6\u7fa4\u7684id\uff0c\u5e94\u8be5\u4f1a\u662f\u7c7b\u4f3c\u4e8emy-redis-replication-group-001\u7684\u5f62\u5f0f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheClusterId?'<\/span>\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-001\"<\/span>\r\n<\/code><\/pre>\n<p>\u8ba9\u6211\u4eec\u6765\u770b\u770b\u8282\u70b9\u5355\u4f4d\u7684\u4fe1\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-001 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T13:38:43.098000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u8fd9\u662f\u4e00\u4e2a\u8282\u70b9\u7ea7\u522b\u7684\u7ec8\u7aef\u70b9\u662f\u5417\uff1f<\/p>\n<p>\u987a\u4fbf\u63d0\u4e00\u4e0b\uff0c\u6839\u636e\u521a\u624d\u7684\u590d\u5236\u7ec4\u4fe1\u606f\uff0c\u5b83\u6307\u7684\u662fReadEndpoint\u7684\u76f8\u540c\u503c\u2026\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"err\">#<\/span> <span class=\"nx\">aws<\/span> <span class=\"nx\">elasticache<\/span> <span class=\"nx\">describe<\/span><span class=\"o\">-<\/span><span class=\"nx\">replication<\/span><span class=\"o\">-<\/span><span class=\"nx\">groups<\/span> <span class=\"o\">--<\/span><span class=\"nx\">replication<\/span><span class=\"o\">-<\/span><span class=\"nx\">group<\/span><span class=\"o\">-<\/span><span class=\"nx\">id<\/span> <span class=\"nx\">my<\/span><span class=\"o\">-<\/span><span class=\"nx\">redis<\/span><span class=\"o\">-<\/span><span class=\"nx\">replication<\/span><span class=\"o\">-<\/span><span class=\"nx\">group<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">ReadEndpoint<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n          <span class=\"dl\">\"<\/span><span class=\"s2\">Address<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n          <span class=\"dl\">\"<\/span><span class=\"s2\">Port<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"mi\">6379<\/span>\r\n        <span class=\"p\">},<\/span>\r\n\r\n\r\n<span class=\"err\">#<\/span> <span class=\"nx\">aws<\/span> <span class=\"nx\">elasticache<\/span> <span class=\"nx\">describe<\/span><span class=\"o\">-<\/span><span class=\"nx\">cache<\/span><span class=\"o\">-<\/span><span class=\"nx\">clusters<\/span> <span class=\"o\">--<\/span><span class=\"nx\">cache<\/span><span class=\"o\">-<\/span><span class=\"nx\">cluster<\/span><span class=\"o\">-<\/span><span class=\"nx\">id<\/span> <span class=\"nx\">my<\/span><span class=\"o\">-<\/span><span class=\"nx\">redis<\/span><span class=\"o\">-<\/span><span class=\"nx\">replication<\/span><span class=\"o\">-<\/span><span class=\"nx\">group<\/span><span class=\"o\">-<\/span><span class=\"mi\">001<\/span> <span class=\"o\">--<\/span><span class=\"nx\">show<\/span><span class=\"o\">-<\/span><span class=\"nx\">cache<\/span><span class=\"o\">-<\/span><span class=\"nx\">node<\/span><span class=\"o\">-<\/span><span class=\"nx\">info<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">Endpoint<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">Address<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">Port<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"mi\">6379<\/span>\r\n    <span class=\"p\">},<\/span>\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4f7f\u7528AWS CLI\u83b7\u53d6\u8282\u70b9\u7ea7\u522b\u7684\u7ec8\u7aef\u8282\u70b9\u53ef\u80fd\u662f\u6700\u597d\u7684\u9009\u62e9\u3002<\/p>\n<p>\u770b\u5230\u8fd9\u4e2a\u590d\u5236\u914d\u7f6e\u7684\u7ed3\u679c\u540e\uff0c\u597d\u50cf\u5373\u4f7f\u4f7f\u7528PrimaryEndpoint\u4e5f\u6ca1\u5173\u7cfb\u3002<\/p>\n<p>\u987a\u4fbf\u63d0\u4e00\u53e5\uff0c\u597d\u50cf\u7528Terraform\u4e5f\u65e0\u6cd5\u83b7\u53d6ReaderEndpoint\u3002<\/p>\n<p>reader\u7684\u7aef\u70b9\u5728aws_elasticache_replication_group #10519\u4e2d\u3002<\/p>\n<p>\u597d\u7684\u3002<\/p>\n<p>\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u5c06\u4e00\u6b21\u6027\u91ca\u653e\u8d44\u6e90\u3002<\/p>\n<h1>\u590d\u5236\u914d\u7f6e<\/h1>\n<p>\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c1d\u8bd5\u8fdb\u884c\u590d\u5236\u914d\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_replication_group\"<\/span> <span class=\"s\">\"redis\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">replication_group_description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"My ElastiCache for Redis Replication Group\"<\/span>\r\n  <span class=\"n\">replication_group_id<\/span>          <span class=\"o\">=<\/span> <span class=\"s\">\"my-redis-replication-group\"<\/span>\r\n\r\n  <span class=\"n\">engine<\/span>         <span class=\"o\">=<\/span> <span class=\"s\">\"redis\"<\/span>\r\n  <span class=\"n\">engine_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"5.0.6\"<\/span>\r\n\r\n  <span class=\"n\">node_type<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"cache.t3.medium\"<\/span>\r\n\r\n  <span class=\"n\">port<\/span> <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n\r\n  <span class=\"n\">parameter_group_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">security_group_ids<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">elasticache_for_redis_cluster_sg<\/span><span class=\"o\">.<\/span><span class=\"n\">this_security_group_id<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">subnet_group_name<\/span>  <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_subnet_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_subnet<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">automatic_failover_enabled<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n\r\n  <span class=\"n\">number_cache_clusters<\/span> <span class=\"o\">=<\/span> <span class=\"m\">3<\/span> <span class=\"err\">#<\/span> <span class=\"n\">Primary<\/span> <span class=\"o\">:<\/span> <span class=\"n\">Replica<\/span> <span class=\"o\">=<\/span> <span class=\"m\">1<\/span> <span class=\"o\">:<\/span> <span class=\"m\">2<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_parameter_group\"<\/span> <span class=\"s\">\"redis_parameter_group\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">family<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"redis5.0\"<\/span>\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-parameter-group\"<\/span>\r\n\r\n  <span class=\"n\">parameter<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">name<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"cluster-enabled\"<\/span>\r\n    <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"no\"<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_subnet_group\"<\/span> <span class=\"s\">\"redis_subnet\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">name<\/span>       <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-subnet-group\"<\/span>\r\n  <span class=\"n\">subnet_ids<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">private_subnets<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u5355\u8282\u70b9\u65f6\u4e0e\u4e4b\u524d\u51e0\u4e4e\u76f8\u540c\uff0c\u4f46\u7565\u6709\u5dee\u522b\u3002<\/p>\n<p>\u5bf9\u4e8e\u4e3b\u8282\u70b9\uff0c\u6211\u4eec\u5c1d\u8bd5\u8bbe\u7f6e\u4e24\u4e2a\u526f\u672c\u8282\u70b9\u3002<\/p>\n<pre class=\"post-pre\"><code>  <span class=\"n\">number_cache_clusters<\/span> <span class=\"o\">=<\/span> <span class=\"m\">3<\/span> <span class=\"err\">#<\/span> <span class=\"n\">Primary<\/span> <span class=\"o\">:<\/span> <span class=\"n\">Replica<\/span> <span class=\"o\">=<\/span> <span class=\"m\">1<\/span> <span class=\"o\">:<\/span> <span class=\"m\">2<\/span>\r\n<\/code><\/pre>\n<p>\u53e6\u5916\uff0c\u6211\u6709\u70b9\u513f\u968f\u610f\u5730\u542f\u7528\u4e86\u81ea\u52a8\u6545\u969c\u8f6c\u79fb\u3002<\/p>\n<pre class=\"post-pre\"><code>  <span class=\"n\">automatic_failover_enabled<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n<\/code><\/pre>\n<p>\u8f93\u51fa\u7684\u7ed3\u679c\u662f\u8fd9\u6837\u7684\u3002<\/p>\n<pre class=\"post-pre\"><code>Outputs:\r\n\r\nredis_elasticache_replication_group_member_clusters <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>\r\n  <span class=\"s2\">\"my-redis-replication-group-001\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-002\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-003\"<\/span>,\r\n<span class=\"o\">]<\/span>\r\nredis_elasticache_replication_group_primary_endpoint_address <span class=\"o\">=<\/span> my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>  <span class=\"dl\">\"<\/span><span class=\"s2\">outputs<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_member_clusters<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-001<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-002<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-003<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">],<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">set<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">]<\/span>\r\n    <span class=\"p\">},<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_primary_endpoint_address<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">},<\/span>\r\n<\/code><\/pre>\n<p>\u6210\u5458\u96c6\u7fa4\u4e2d\u7684\u6570\u91cf\u589e\u52a0\u4e86\uff0c\u540c\u65f6\u4e5f\u5f97\u5230\u4e86\u4e3b\u8981\u7684\u7ec8\u7aef\u5730\u5740\uff0c\u4f46\u914d\u7f6e\u7ec8\u7aef\u5730\u5740\u4ecd\u7136\u6ca1\u6709\u3002<\/p>\n<p>\u6211\u4f1a\u4f7f\u7528AWS CLI\u8fdb\u884c\u786e\u8ba4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-replication-groups <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--replication-group-id<\/span> my-redis-replication-group | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.NodeGroups?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"NodeGroupId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"Status\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"PrimaryEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ReaderEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"NodeGroupMembers\"<\/span>: <span class=\"o\">[<\/span>\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"ReadEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n          <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n          <span class=\"s2\">\"Port\"<\/span>: 6379\r\n        <span class=\"o\">}<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>,\r\n        <span class=\"s2\">\"CurrentRole\"<\/span>: <span class=\"s2\">\"primary\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-002\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"ReadEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n          <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n          <span class=\"s2\">\"Port\"<\/span>: 6379\r\n        <span class=\"o\">}<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>,\r\n        <span class=\"s2\">\"CurrentRole\"<\/span>: <span class=\"s2\">\"replica\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-003\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"ReadEndpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n          <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n          <span class=\"s2\">\"Port\"<\/span>: 6379\r\n        <span class=\"o\">}<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>,\r\n        <span class=\"s2\">\"CurrentRole\"<\/span>: <span class=\"s2\">\"replica\"<\/span>\r\n      <span class=\"o\">}<\/span>\r\n    <span class=\"o\">]<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u8282\u70b9\u589e\u52a0\uff0c\u672c\u6b21\u67b6\u6784\u4e2dReadEndpoint\u7684\u6570\u91cf\u4e5f\u589e\u52a0\u4e86\u3002<\/p>\n<p>\u4ece EC2 \u5b9e\u4f8b\u5185\u5c1d\u8bd5\u901a\u8fc7 dig \u8fdb\u884c\u786e\u8ba4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># PrimaryEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com.\r\n10.0.40.53\r\n\r\n\r\n<span class=\"c\"># ReaderEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com.\r\n10.0.40.31\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com.\r\n10.0.30.200\r\n\r\n\r\n<span class=\"c\"># \u30ce\u30fc\u30c9\u5358\u4f4d\u306eReadEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\r\n10.0.40.53\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com\r\n10.0.40.31\r\n<span class=\"nv\">$ <\/span>dig +short my-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com\r\n10.0.30.200\r\n<\/code><\/pre>\n<p>\u6bcf\u4e2a\u503c\u4f3c\u4e4e\u90fd\u6307\u5411\u5b9e\u9645\u8282\u70b9\u7684IP\u5730\u5740\u3002\u53e6\u5916\uff0c\u5c31&#8221;ReaderEndpoint&#8221;\u800c\u8a00\uff0c\u4f3c\u4e4e\u4f1a\u8fd4\u56de\u6bcf\u4e2a\u526f\u672c\u7684IP\u5730\u5740\u3002<\/p>\n<p>\u5b9e\u9645\u4e0a\uff0c\u6211\u6307\u7684\u662f\u8282\u70b9\u7684ReadEndpoint&#8230;<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>dig my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\n\r\n...\r\n\r\n<span class=\"p\">;;<\/span> ANSWER SECTION:\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com. 15 IN CNAME my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com.\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com. 15 IN A 10.0.40.53\r\n\r\n\r\n<span class=\"nv\">$ <\/span>dig my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\n\r\n...\r\n\r\n<span class=\"p\">;;<\/span> ANSWER SECTION:\r\nmy-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com. 1 IN CNAME my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com.\r\nmy-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com. 11 IN A 10.0.40.31\r\n<\/code><\/pre>\n<p>\u8ba9\u6211\u4eec\u7528 redis-cli \u8fdb\u884c\u8fde\u63a5\u5e76\u8fdb\u884c\u786e\u8ba4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># PrimaryEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key1 value1\r\nOK\r\nmy-redis-replication-group.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; get key1\r\n<span class=\"s2\">\"value1\"<\/span>\r\n\r\n\r\n<span class=\"c\"># ReaderEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key2 value2\r\n<span class=\"o\">(<\/span>error<span class=\"o\">)<\/span> READONLY You can<span class=\"s1\">'t write against a read only replica.\r\nmy-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com:6379&gt; get key1\r\n\"value1\"\r\n\r\n\r\n# \u30ce\u30fc\u30c9\u5358\u4f4d\u306eReadEndpoint\r\n## Primary\r\n$ redis-cli -h my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; set key2 value2\r\nOK\r\nmy-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; get key2\r\n\"value2\"\r\n\r\n## Replica\r\n$ redis-cli -h my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; set key3 value3\r\n(error) READONLY You can'<\/span>t write against a <span class=\"nb\">read <\/span>only replica.\r\nmy-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; get key1\r\n<span class=\"s2\">\"value1\"<\/span>\r\nmy-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; \r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com\r\nmy-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key3 value3\r\n<span class=\"o\">(<\/span>error<span class=\"o\">)<\/span> READONLY You can<span class=\"s1\">'t write against a read only replica.\r\nmy-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com:6379&gt; get key1\r\n\"value1\"\r\n<\/span><\/code><\/pre>\n<p>\u6211\u4e5f\u4f1a\u67e5\u770b\u590d\u5236\u7684\u4fe1\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># PrimaryEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:master\r\nconnected_slaves:2\r\nslave0:ip<span class=\"o\">=<\/span>10.3.0.243,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>62865,lag<span class=\"o\">=<\/span>1\r\nslave1:ip<span class=\"o\">=<\/span>10.3.2.218,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>62812,lag<span class=\"o\">=<\/span>1\r\nmaster_replid:3acb819b47caa9b0b0d88a10565e5afd87707b75\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:62865\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1\r\nrepl_backlog_histlen:62865\r\n\r\n\r\n<span class=\"c\"># ReaderEndpoint<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-ro.dl12u5.ng.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:slave\r\nmaster_host:my-redis-replication-group.dl12u5.0001.internal.apne1.cache.amazonaws.com\r\nmaster_port:6379\r\nmaster_link_status:up\r\nmaster_last_io_seconds_ago:1\r\nmaster_sync_in_progress:0\r\nslave_repl_offset:65426\r\nrepl_sync_enabled:1\r\nslave_read_reploff:65426\r\nslave_priority:100\r\nslave_read_only:1\r\nconnected_slaves:0\r\nmaster_replid:3acb819b47caa9b0b0d88a10565e5afd87707b75\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:65426\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1686\r\nrepl_backlog_histlen:63741\r\n\r\n\r\n<span class=\"c\"># \u30ce\u30fc\u30c9\u5358\u4f4d\u306eReadEndpoint<\/span>\r\n<span class=\"c\">## Primary<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:master\r\nconnected_slaves:2\r\nslave0:ip<span class=\"o\">=<\/span>10.3.0.243,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>67496,lag<span class=\"o\">=<\/span>1\r\nslave1:ip<span class=\"o\">=<\/span>10.3.2.218,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>67496,lag<span class=\"o\">=<\/span>1\r\nmaster_replid:3acb819b47caa9b0b0d88a10565e5afd87707b75\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:67496\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1\r\nrepl_backlog_histlen:67496\r\n\r\n<span class=\"c\">## Replica<\/span>\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:slave\r\nmaster_host:my-redis-replication-group.dl12u5.0001.internal.apne1.cache.amazonaws.com\r\nmaster_port:6379\r\nmaster_link_status:up\r\nmaster_last_io_seconds_ago:1\r\nmaster_sync_in_progress:0\r\nslave_repl_offset:68093\r\nrepl_sync_enabled:1\r\nslave_read_reploff:68093\r\nslave_priority:100\r\nslave_read_only:1\r\nconnected_slaves:0\r\nmaster_replid:3acb819b47caa9b0b0d88a10565e5afd87707b75\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:68093\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1686\r\nrepl_backlog_histlen:66408\r\n\r\n<span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:slave\r\nmaster_host:my-redis-replication-group.dl12u5.0001.internal.apne1.cache.amazonaws.com\r\nmaster_port:6379\r\nmaster_link_status:up\r\nmaster_last_io_seconds_ago:0\r\nmaster_sync_in_progress:0\r\nslave_repl_offset:68902\r\nrepl_sync_enabled:1\r\nslave_read_reploff:68902\r\nslave_priority:100\r\nslave_read_only:1\r\nconnected_slaves:0\r\nmaster_replid:3acb819b47caa9b0b0d88a10565e5afd87707b75\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:68902\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1686\r\nrepl_backlog_histlen:67217\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u5c06\u5c1d\u8bd5\u67e5\u627e\u96c6\u7fa4\u7684ID\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheClusterId?'<\/span>\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-001\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-002\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-003\"<\/span>\r\n<\/code><\/pre>\n<p>\u6709\u4e09\u4e2a\u2026\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u5206\u522b\u6765\u770b\u6bcf\u4e2a\u8282\u70b9\u7684\u7ec8\u7ed3\u70b9\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-001 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:03:02.292000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n\r\n\r\n<span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-002 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:03:02.292000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-002.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n\r\n\r\n<span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-003 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:03:02.292000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-003.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u5c31\u8fd9\u4e2a\u95ee\u9898\u800c\u8a00\uff0c\u4e0e\u5355\u8282\u70b9\u65f6\u4e00\u6837\uff0c\u8282\u70b9\u7ea7\u522b\u7684\u7ec8\u7aef\u70b9\u6307\u7684\u662f\u8282\u70b9\u7ea7\u522b\u7684\u8bfb\u53d6\u7ec8\u7aef\u70b9\u76f8\u540c\u7684\u503c\u3002<\/p>\n<p>\u6211\u660e\u767d\u4e86\u3002<\/p>\n<h1>\u5206\u7247\u7ed3\u6784<\/h1>\n<p>\u6700\u540e\u662f\u5206\u7247\u67b6\u6784\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_replication_group\"<\/span> <span class=\"s\">\"redis\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">replication_group_description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"My ElastiCache for Redis Replication Group\"<\/span>\r\n  <span class=\"n\">replication_group_id<\/span>          <span class=\"o\">=<\/span> <span class=\"s\">\"my-redis-replication-group\"<\/span>\r\n\r\n  <span class=\"n\">engine<\/span>         <span class=\"o\">=<\/span> <span class=\"s\">\"redis\"<\/span>\r\n  <span class=\"n\">engine_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"5.0.6\"<\/span>\r\n\r\n  <span class=\"n\">node_type<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"cache.t3.medium\"<\/span>\r\n\r\n  <span class=\"n\">port<\/span> <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n\r\n  <span class=\"n\">parameter_group_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">security_group_ids<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">elasticache_for_redis_cluster_sg<\/span><span class=\"o\">.<\/span><span class=\"n\">this_security_group_id<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">subnet_group_name<\/span>  <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_subnet_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_subnet<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">automatic_failover_enabled<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n\r\n  <span class=\"n\">cluster_mode<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">replicas_per_node_group<\/span> <span class=\"o\">=<\/span> <span class=\"m\">2<\/span> <span class=\"err\">#<\/span> <span class=\"m\">2<\/span> <span class=\"n\">Replica<\/span>\r\n    <span class=\"n\">num_node_groups<\/span>         <span class=\"o\">=<\/span> <span class=\"m\">3<\/span> <span class=\"err\">#<\/span> <span class=\"m\">3<\/span> <span class=\"n\">Shard<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_parameter_group\"<\/span> <span class=\"s\">\"redis_parameter_group\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">family<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"redis5.0\"<\/span>\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-parameter-group\"<\/span>\r\n\r\n  <span class=\"n\">parameter<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">name<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"cluster-enabled\"<\/span>\r\n    <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"yes\"<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_subnet_group\"<\/span> <span class=\"s\">\"redis_subnet\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">name<\/span>       <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-subnet-group\"<\/span>\r\n  <span class=\"n\">subnet_ids<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">private_subnets<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u672c\u6b21\uff0c\u5c06\u8fdb\u884c\u4e13\u95e8\u9488\u5bf9\u7fa4\u96c6\u6a21\u5f0f\u7684\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>  <span class=\"n\">cluster_mode<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">replicas_per_node_group<\/span> <span class=\"o\">=<\/span> <span class=\"m\">2<\/span> <span class=\"err\">#<\/span> <span class=\"m\">2<\/span> <span class=\"n\">Replica<\/span>\r\n    <span class=\"n\">num_node_groups<\/span>         <span class=\"o\">=<\/span> <span class=\"m\">3<\/span> <span class=\"err\">#<\/span> <span class=\"m\">3<\/span> <span class=\"n\">Shard<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u4eec\u57283\u4e2a\u5206\u7247\u4e2d\uff0c\u6bcf\u4e2a\u5206\u7247\u5185\u67092\u4e2a\u526f\u672c\u7684\u914d\u7f6e\u3002<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u6709\u603b\u51719\u4e2a\u8282\u70b9\u3002<\/p>\n<p>\u53e6\u5916\uff0c\u5728\u53c2\u6570\u7ec4\u4e2d\uff0c\u6211\u660e\u786e\u5730\u5c06cluster-enabled\u8bbe\u7f6e\u4e3ayes\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_parameter_group\"<\/span> <span class=\"s\">\"redis_parameter_group\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">family<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"redis5.0\"<\/span>\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-parameter-group\"<\/span>\r\n\r\n  <span class=\"n\">parameter<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">name<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"cluster-enabled\"<\/span>\r\n    <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"yes\"<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u8f93\u51fa\u662f\u8fd9\u6837\u7684\u3002<\/p>\n<pre class=\"post-pre\"><code>Outputs:\r\n\r\nredis_elasticache_replication_group_configuration_endpoint_address <span class=\"o\">=<\/span> my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com\r\nredis_elasticache_replication_group_member_clusters <span class=\"o\">=<\/span> <span class=\"o\">[<\/span>\r\n  <span class=\"s2\">\"my-redis-replication-group-0001-001\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0001-002\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0001-003\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0002-001\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0002-002\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0002-003\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0003-001\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0003-002\"<\/span>,\r\n  <span class=\"s2\">\"my-redis-replication-group-0003-003\"<\/span>,\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u67099\u4e2a\u8282\u70b9\u3002<\/p>\n<p>\u8fd9\u6b21\u7684\u914d\u7f6e\u7aef\u70b9\u5730\u5740\u53d1\u751f\u4e86\u53d8\u5316\u3002\u76f8\u53cd\u5730\uff0c\u4e3b\u8981\u7aef\u70b9\u5730\u5740\u5df2\u7ecf\u6d88\u5931\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code>  <span class=\"dl\">\"<\/span><span class=\"s2\">outputs<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_configuration_endpoint_address<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n    <span class=\"p\">},<\/span>\r\n    <span class=\"dl\">\"<\/span><span class=\"s2\">redis_elasticache_replication_group_member_clusters<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">value<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0001-001<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0001-002<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0001-003<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0002-001<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0002-002<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0002-003<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0003-001<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0003-002<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">my-redis-replication-group-0003-003<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">],<\/span>\r\n      <span class=\"dl\">\"<\/span><span class=\"s2\">type<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">set<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"dl\">\"<\/span><span class=\"s2\">string<\/span><span class=\"dl\">\"<\/span>\r\n      <span class=\"p\">]<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">},<\/span>\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u901a\u8fc7AWS CLI\u8fdb\u884c\u67e5\u770b\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-replication-groups <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--replication-group-id<\/span> my-redis-replication-group | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.ConfigurationEndpoint?'<\/span>\r\nnull\r\n<span class=\"o\">{<\/span>\r\n  <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com\"<\/span>,\r\n  <span class=\"s2\">\"Port\"<\/span>: 6379\r\n<span class=\"o\">}<\/span>\r\n<\/code><\/pre>\n<p>\u5728\u672c\u6b21\u914d\u7f6e\u4e2d\uff0c\u5c06\u83b7\u5f97\u914d\u7f6e\u7ec8\u7aef\uff08ConfigurationEndpoint\uff09\uff0c\u800c\u65e0\u6cd5\u83b7\u53d6\u4e3b\u8981\u7ec8\u7aef\uff08PrimaryEndpoint\uff09\u6216\u8bfb\u53d6\u7ec8\u7aef\uff08ReaderEndpoint\uff09\u3002<\/p>\n<p>\u6211\u4eec\u662f\u5426\u4e5f\u5e94\u8be5\u67e5\u770b\u8282\u70b9\u7684\u4fe1\u606f\u5462\uff1f<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-replication-groups <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--replication-group-id<\/span> my-redis-replication-group | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.NodeGroups?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"NodeGroupId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"Status\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"Slots\"<\/span>: <span class=\"s2\">\"0-5461\"<\/span>,\r\n    <span class=\"s2\">\"NodeGroupMembers\"<\/span>: <span class=\"o\">[<\/span>\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0001-001\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0001-002\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0001-003\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n      <span class=\"o\">}<\/span>\r\n    <span class=\"o\">]<\/span>\r\n  <span class=\"o\">}<\/span>,\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"NodeGroupId\"<\/span>: <span class=\"s2\">\"0002\"<\/span>,\r\n    <span class=\"s2\">\"Status\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"Slots\"<\/span>: <span class=\"s2\">\"5462-10922\"<\/span>,\r\n    <span class=\"s2\">\"NodeGroupMembers\"<\/span>: <span class=\"o\">[<\/span>\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0002-001\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0002-002\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0002-003\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n      <span class=\"o\">}<\/span>\r\n    <span class=\"o\">]<\/span>\r\n  <span class=\"o\">}<\/span>,\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"NodeGroupId\"<\/span>: <span class=\"s2\">\"0003\"<\/span>,\r\n    <span class=\"s2\">\"Status\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"Slots\"<\/span>: <span class=\"s2\">\"10923-16383\"<\/span>,\r\n    <span class=\"s2\">\"NodeGroupMembers\"<\/span>: <span class=\"o\">[<\/span>\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0003-001\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0003-002\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n      <span class=\"o\">}<\/span>,\r\n      <span class=\"o\">{<\/span>\r\n        <span class=\"s2\">\"CacheClusterId\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0003-003\"<\/span>,\r\n        <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n        <span class=\"s2\">\"PreferredAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n      <span class=\"o\">}<\/span>\r\n    <span class=\"o\">]<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u4ed6\u7684Endpoint\u7684\u4fe1\u606f\uff0c\u5b8c\u5168\u6d88\u5931\u4e86\u5417&#8230;\uff1f<\/p>\n<p>\u63cf\u8ff0\u590d\u5236\u7ec4\/\u8f93\u51fa<\/p>\n<blockquote><p>ReadEndpoint -&gt; (structure)<\/p>\n<p>\u7528\u4e8e\u5ba2\u6237\u7aef\u7a0b\u5e8f\u8fde\u63a5\u5230\u8282\u70b9\u8fdb\u884c\u8bfb\u53d6\u64cd\u4f5c\u6240\u9700\u7684\u4fe1\u606f\u3002\u4ec5\u5728\u7981\u7528 Redis \u96c6\u7fa4\u6a21\u5f0f\u7684\u96c6\u7fa4\u4e0a\u9002\u7528\u8bfb\u53d6\u7aef\u70b9\u3002<\/p><\/blockquote>\n<p>\u786e\u5b9e\uff0c\u5982\u679c\u96c6\u7fa4\u6a21\u5f0f\u65e0\u6548\uff0c\u5c31\u4e0d\u4f1a\u663e\u793aReadEndpoint\u3002<\/p>\n<p>\u4f46\u662f\u4e3b\u8981\u7684\u7ec8\u7aef\u70b9\u548c\u9605\u8bfb\u5668\u7ec8\u7aef\u70b9\u4e5f\u6d88\u5931\u4e86\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u4f7f\u7528dig\u6765\u67e5\u770bConfigurationEndpoint\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>dig my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com\r\n\r\n...\r\n\r\n<span class=\"p\">;;<\/span> ANSWER SECTION:\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.40.137\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.40.191\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.30.6\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.30.42\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.30.194\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.30.254\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.40.12\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.40.15\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com. 15 IN A 10.0.40.68\r\n<\/code><\/pre>\n<p>\u611f\u89c9\u597d\u50cf\u5728\u6307\u7740\u6240\u6709\u8282\u70b9\u2026\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u5c1d\u8bd5\u4f7f\u7528redis-cli\u8fdb\u884c\u8fde\u63a5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key1 value1\r\n<span class=\"o\">(<\/span>error<span class=\"o\">)<\/span> MOVED 9189 10.0.30.194:6379\r\n<\/code><\/pre>\n<p>\u5f53\u5c1d\u8bd5\u767b\u8bb0\u6570\u636e\u65f6\uff0c\u53d1\u751f\u4e86\u9519\u8bef\u3002<\/p>\n<p>Redis \u96c6\u7fa4\u6559\u7a0b<\/p>\n<p>\u73a9\u805a\u7c7b\u6e38\u620f<\/p>\n<p>\u770b\u8d77\u6765\u5b83\u4ee5Redis\u96c6\u7fa4\u7684\u65b9\u5f0f\u8fd0\u884c\uff0c\u6240\u4ee5\u9700\u8981\u4f7f\u7528-c\u9009\u9879\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-c<\/span> <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com\r\nmy-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com:6379&gt; <span class=\"nb\">set <\/span>key1 value1\r\n-&gt; Redirected to slot <span class=\"o\">[<\/span>9189] located at 10.0.30.194:6379\r\nOK\r\n10.0.30.194:6379&gt; get key1\r\n<span class=\"s2\">\"value1\"<\/span>\r\n10.0.30.194:6379&gt; <span class=\"nb\">set <\/span>key2 value2\r\n-&gt; Redirected to slot <span class=\"o\">[<\/span>4998] located at 10.0.40.15:6379\r\nOK\r\n10.0.40.15:6379&gt; get key2\r\n<span class=\"s2\">\"value2\"<\/span>\r\n10.0.40.15:6379&gt; <span class=\"nb\">set <\/span>key3 value3\r\nOK\r\n10.0.40.15:6379&gt; get key3\r\n<span class=\"s2\">\"value3\"<\/span>\r\n<\/code><\/pre>\n<p>\u9075\u5faa\u91cd\u5b9a\u5411\u540e\uff0c\u5b83\u6210\u529f\u8fd0\u884c\u4e86\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u67e5\u770b\u4e00\u4e0b\u96c6\u7fa4\u7684\u4fe1\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com cluster nodes\r\n89260a12e7bf9e0b9598c5897b51a0a2d7502939 10.0.30.6:6379@1122 myself,master - 0 1597420677000 0 connected 10923-16383\r\n35547892f11e00fc59c940892d573fe03ac2788b 10.0.30.194:6379@1122 master - 0 1597420679000 3 connected 5462-10922\r\n4e6acd4049362d8111c00a280625d207f0aac883 10.0.40.12:6379@1122 slave 89260a12e7bf9e0b9598c5897b51a0a2d7502939 0 1597420680967 0 connected\r\n8a478b2499d0ac68ac78fbc40b286ca93354f401 10.0.30.254:6379@1122 slave 1b0582425b6597b194d8c334dc80af1dafa81d0a 0 1597420679000 1 connected\r\n0a00719c18721972bcfd9f70edfc436ff8145a79 10.0.40.191:6379@1122 slave 35547892f11e00fc59c940892d573fe03ac2788b 0 1597420679000 3 connected\r\n1b0582425b6597b194d8c334dc80af1dafa81d0a 10.0.40.15:6379@1122 master - 0 1597420681000 1 connected 0-5461\r\n29dfadb6042b119bd11e03f8a76754a615709288 10.0.30.42:6379@1122 slave 35547892f11e00fc59c940892d573fe03ac2788b 0 1597420679000 3 connected\r\n17196d689a040d3a03c89930065bd5d525b3760b 10.0.40.137:6379@1122 slave 89260a12e7bf9e0b9598c5897b51a0a2d7502939 0 1597420681000 0 connected\r\n71279c2f1b7afed0cab5f8f1f1e9dc86f41fc702 10.0.40.68:6379@1122 slave 1b0582425b6597b194d8c334dc80af1dafa81d0a 0 1597420681970 1 connected\r\n<\/code><\/pre>\n<p>\u6709\u4e09\u4e2a\u4e3b\u8282\u70b9\u548c\u516d\u4e2a\u4ece\u8282\u70b9\u5bf9\u5427\u3002<\/p>\n<p>\u987a\u4fbf\u63d0\u4e00\u4e0b\uff0c\u5982\u679c\u5c06\u590d\u5236\u7684\u4fe1\u606f\u89c6\u4e3a\u57fa\u51c6\uff0c\u5c31\u4f1a\u53d8\u6210\u8fd9\u6837\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>redis-cli <span class=\"nt\">-h<\/span> my-redis-replication-group.dl12u5.clustercfg.apne1.cache.amazonaws.com info replication\r\n<span class=\"c\"># Replication<\/span>\r\nrole:master\r\nconnected_slaves:2\r\nslave0:ip<span class=\"o\">=<\/span>10.3.2.215,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>54891,lag<span class=\"o\">=<\/span>0\r\nslave1:ip<span class=\"o\">=<\/span>10.3.2.46,port<span class=\"o\">=<\/span>6379,state<span class=\"o\">=<\/span>online,offset<span class=\"o\">=<\/span>54824,lag<span class=\"o\">=<\/span>1\r\nmaster_replid:87f1db07458e72bbfac1f59505a7fa20e0249acf\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:54891\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:1\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:1\r\nrepl_backlog_histlen:54891\r\n<\/code><\/pre>\n<p>\u6709\u4e24\u4e2a\u4ece\u5c5e\u670d\u52a1\u5668\u5bf9\u5427\uff0c\u56e0\u4e3a\u4ed6\u4eec\u4f4d\u4e8e\u540c\u4e00\u4e2a\u5206\u7247\u5185\u3002<\/p>\n<p>\u6211\u6765\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u96c6\u7fa4\u7684ID\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheClusterId?'<\/span>\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0001-001\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0001-002\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0001-003\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0002-001\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0002-002\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0002-003\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0003-001\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0003-002\"<\/span>\r\nnull\r\nnull\r\nnull\r\n<span class=\"s2\">\"my-redis-replication-group-0003-003\"<\/span>\r\n<\/code><\/pre>\n<p>\u6709\u4e5d\u4e2a\u5462&#8230;\u3002<\/p>\n<p>\u8ba9\u6211\u4eec\u4e5f\u6765\u6311\u9009\u4e00\u4e9b\u8282\u70b9\u4fe1\u606f\u6765\u770b\u770b\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-0001-001 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:49:54.669000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0001-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n\r\n\r\n<span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-0001-002 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:49:54.669000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0001-002.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1c\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n\r\n\r\n<span class=\"nv\">$ <\/span>aws elasticache describe-cache-clusters <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--cache-cluster-id<\/span> my-redis-replication-group-0003-001 <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--show-cache-node-info<\/span> | <span class=\"se\">\\<\/span>\r\n  jq <span class=\"s1\">'..|.CacheNodes?'<\/span>\r\nnull\r\n<span class=\"o\">[<\/span>\r\n  <span class=\"o\">{<\/span>\r\n    <span class=\"s2\">\"CacheNodeId\"<\/span>: <span class=\"s2\">\"0001\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeStatus\"<\/span>: <span class=\"s2\">\"available\"<\/span>,\r\n    <span class=\"s2\">\"CacheNodeCreateTime\"<\/span>: <span class=\"s2\">\"2020-08-14T15:49:54.669000+00:00\"<\/span>,\r\n    <span class=\"s2\">\"Endpoint\"<\/span>: <span class=\"o\">{<\/span>\r\n      <span class=\"s2\">\"Address\"<\/span>: <span class=\"s2\">\"my-redis-replication-group-0003-001.dl12u5.0001.apne1.cache.amazonaws.com\"<\/span>,\r\n      <span class=\"s2\">\"Port\"<\/span>: 6379\r\n    <span class=\"o\">}<\/span>,\r\n    <span class=\"s2\">\"ParameterGroupStatus\"<\/span>: <span class=\"s2\">\"in-sync\"<\/span>,\r\n    <span class=\"s2\">\"CustomerAvailabilityZone\"<\/span>: <span class=\"s2\">\"ap-northeast-1a\"<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<p>\u8fd9\u6837\u505a\uff0c\u53ef\u4ee5\u83b7\u53d6\u8282\u70b9\u7ea7\u522b\u7684\u7ec8\u7aef\u3002\u4e0d\u8fc7\uff0c\u5728\u8fd9\u79cd\u914d\u7f6e\u4e0b\uff0c\u4f7f\u7528\u7684\u662fConfigurationEndpoint\uff0c\u6240\u4ee5\u53ef\u80fd\u4e0d\u4f1a\u4f7f\u7528\u8282\u70b9\u7ea7\u522b\u7684\u7ec8\u7aef\u4fe1\u606f\u5427\u3002<\/p>\n<p>\u6682\u65f6\u6765\u8bf4\uff0c\u6211\u4eec\u5df2\u7ecf\u786e\u8ba4\u4e86\u5173\u4e8e\u7ec8\u7aef\u70b9\u7684\u4e09\u79cd\u914d\u7f6e\u6a21\u5f0f\u3002<\/p>\n<h1>\u7d66\u4e88\u989d\u5916\u7684\u5956\u54c1<\/h1>\n<p>\u8fd9\u662f\u5df2\u521b\u5efa\u7684Terraform\u914d\u7f6e\u6587\u4ef6\u7684\u6574\u4f53\u3002<\/p>\n<p>\u6211\u5011\u6b63\u5728\u4f7f\u7528Terraform\u6a21\u7d44\u4f86\u8655\u7406Amazon VPC\u548c\u5b89\u5168\u7fa4\u7d44\u3002<\/p>\n<p>\u5206\u7247\u914d\u7f6e\u3001\u590d\u5236\u914d\u7f6e\u548c\u72ec\u7acb\u914d\u7f6e\u662f\u901a\u8fc7\u6ce8\u91ca\u6765\u5207\u6362\u7684\u4e09\u79cd\u914d\u7f6e\u3002<\/p>\n<p>\u6b64\u5916\uff0c\u6211\u8fd8\u5229\u7528\u81ea\u5df1\u7684\u6a21\u5757\u7b80\u4fbf\u5730\u5728 EC2 \u4e0a\u64cd\u4f5c\u4e86 redis-cli\uff08\u5373\u6211\u5728\u6700\u540e\u4e00\u884c\u63d0\u5230\u7684\u90a3\u4e2a\uff09\u3002<\/p>\n<p>\u4e3b\u8981.tf<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">terraform<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">required_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"0.13.0\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">provider<\/span> <span class=\"s\">\"aws\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"3.2.0\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">module<\/span> <span class=\"s\">\"elasticache_for_redis_cluster_sg\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">source<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"terraform-aws-modules\/security-group\/aws\"<\/span>\r\n  <span class=\"n\">version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"3.15.0\"<\/span>\r\n\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"app-with-nginx-rp-service-sg\"<\/span>\r\n  <span class=\"n\">vpc_id<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc_id<\/span>\r\n\r\n  <span class=\"n\">ingress_with_cidr_blocks<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span>\r\n    <span class=\"p\">{<\/span>\r\n      <span class=\"n\">from_port<\/span>   <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n      <span class=\"n\">to_port<\/span>     <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n      <span class=\"n\">protocol<\/span>    <span class=\"o\">=<\/span> <span class=\"s\">\"tcp\"<\/span>\r\n      <span class=\"n\">description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"ElastiCache for Redis Cluster inbound ports\"<\/span>\r\n      <span class=\"n\">cidr_blocks<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"10.0.30.0\/24\"<\/span>\r\n    <span class=\"p\">},<\/span>\r\n    <span class=\"p\">{<\/span>\r\n      <span class=\"n\">from_port<\/span>   <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n      <span class=\"n\">to_port<\/span>     <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n      <span class=\"n\">protocol<\/span>    <span class=\"o\">=<\/span> <span class=\"s\">\"tcp\"<\/span>\r\n      <span class=\"n\">description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"ElastiCache for Redis Cluster inbound ports\"<\/span>\r\n      <span class=\"n\">cidr_blocks<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"10.0.40.0\/24\"<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">]<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">module<\/span> <span class=\"s\">\"vpc\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">source<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"terraform-aws-modules\/vpc\/aws\"<\/span>\r\n  <span class=\"n\">version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"2.47.0\"<\/span>\r\n\r\n  <span class=\"n\">name<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"my-vpc\"<\/span>\r\n  <span class=\"n\">cidr<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"10.0.0.0\/16\"<\/span>\r\n\r\n  <span class=\"n\">enable_dns_hostnames<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n  <span class=\"n\">enable_dns_support<\/span>   <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n\r\n  <span class=\"n\">azs<\/span>             <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"ap-northeast-1a\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"ap-northeast-1c\"<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">public_subnets<\/span>  <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"10.0.10.0\/24\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"10.0.20.0\/24\"<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">private_subnets<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"10.0.30.0\/24\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"10.0.40.0\/24\"<\/span><span class=\"p\">]<\/span>\r\n\r\n  <span class=\"n\">map_public_ip_on_launch<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n\r\n  <span class=\"n\">enable_nat_gateway<\/span>     <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n  <span class=\"n\">single_nat_gateway<\/span>     <span class=\"o\">=<\/span> <span class=\"no\">false<\/span>\r\n  <span class=\"n\">one_nat_gateway_per_az<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"err\">#<\/span> <span class=\"n\">Cluster<\/span>\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_replication_group\"<\/span> <span class=\"s\">\"redis\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">replication_group_description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"My ElastiCache for Redis Replication Group\"<\/span>\r\n  <span class=\"n\">replication_group_id<\/span>          <span class=\"o\">=<\/span> <span class=\"s\">\"my-redis-replication-group\"<\/span>\r\n\r\n  <span class=\"n\">engine<\/span>         <span class=\"o\">=<\/span> <span class=\"s\">\"redis\"<\/span>\r\n  <span class=\"n\">engine_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"5.0.6\"<\/span>\r\n\r\n  <span class=\"n\">node_type<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"cache.t3.medium\"<\/span>\r\n\r\n  <span class=\"n\">port<\/span> <span class=\"o\">=<\/span> <span class=\"m\">6379<\/span>\r\n\r\n  <span class=\"n\">parameter_group_name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_parameter_group<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">security_group_ids<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">elasticache_for_redis_cluster_sg<\/span><span class=\"o\">.<\/span><span class=\"n\">this_security_group_id<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"n\">subnet_group_name<\/span>  <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_subnet_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis_subnet<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span>\r\n\r\n  <span class=\"n\">automatic_failover_enabled<\/span> <span class=\"o\">=<\/span> <span class=\"no\">true<\/span>\r\n\r\n  <span class=\"n\">cluster_mode<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">replicas_per_node_group<\/span> <span class=\"o\">=<\/span> <span class=\"m\">2<\/span> <span class=\"err\">#<\/span> <span class=\"m\">2<\/span> <span class=\"n\">Replica<\/span>\r\n    <span class=\"n\">num_node_groups<\/span>         <span class=\"o\">=<\/span> <span class=\"m\">3<\/span> <span class=\"err\">#<\/span> <span class=\"m\">3<\/span> <span class=\"n\">Shard<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_parameter_group\"<\/span> <span class=\"s\">\"redis_parameter_group\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">family<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"redis5.0\"<\/span>\r\n  <span class=\"n\">name<\/span>   <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-parameter-group\"<\/span>\r\n\r\n  <span class=\"n\">parameter<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"n\">name<\/span>  <span class=\"o\">=<\/span> <span class=\"s\">\"cluster-enabled\"<\/span>\r\n    <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"yes\"<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"err\">#<\/span> <span class=\"n\">Replication<\/span>\r\n<span class=\"c\">\/*\r\nresource \"aws_elasticache_replication_group\" \"redis\" {\r\n  replication_group_description = \"My ElastiCache for Redis Replication Group\"\r\n  replication_group_id          = \"my-redis-replication-group\"\r\n\r\n  engine         = \"redis\"\r\n  engine_version = \"5.0.6\"\r\n\r\n  node_type = \"cache.t3.medium\"\r\n\r\n  port = 6379\r\n\r\n  parameter_group_name = aws_elasticache_parameter_group.redis_parameter_group.name\r\n\r\n  security_group_ids = [module.elasticache_for_redis_cluster_sg.this_security_group_id]\r\n  subnet_group_name  = aws_elasticache_subnet_group.redis_subnet.name\r\n\r\n  automatic_failover_enabled = true\r\n\r\n  number_cache_clusters = 3 # Primary : Replica = 1 : 2\r\n}\r\n\r\nresource \"aws_elasticache_parameter_group\" \"redis_parameter_group\" {\r\n  family = \"redis5.0\"\r\n  name   = \"my-elasticache-for-redis-parameter-group\"\r\n\r\n  parameter {\r\n    name  = \"cluster-enabled\"\r\n    value = \"no\"\r\n  }\r\n}\r\n*\/<\/span>\r\n\r\n<span class=\"err\">#<\/span> <span class=\"n\">Single<\/span> <span class=\"n\">Node<\/span>\r\n<span class=\"c\">\/*\r\nresource \"aws_elasticache_replication_group\" \"redis\" {\r\n  replication_group_description = \"My ElastiCache for Redis Replication Group\"\r\n  replication_group_id          = \"my-redis-replication-group\"\r\n\r\n  engine         = \"redis\"\r\n  engine_version = \"5.0.6\"\r\n\r\n  node_type = \"cache.t3.medium\"\r\n\r\n  port = 6379\r\n\r\n  parameter_group_name = aws_elasticache_parameter_group.redis_parameter_group.name\r\n\r\n  security_group_ids = [module.elasticache_for_redis_cluster_sg.this_security_group_id]\r\n  subnet_group_name  = aws_elasticache_subnet_group.redis_subnet.name\r\n\r\n  automatic_failover_enabled = false\r\n\r\n  number_cache_clusters = 1 # Primary Only\r\n}\r\n\r\nresource \"aws_elasticache_parameter_group\" \"redis_parameter_group\" {\r\n  family = \"redis5.0\"\r\n  name   = \"my-elasticache-for-redis-parameter-group\"\r\n\r\n  parameter {\r\n    name  = \"cluster-enabled\"\r\n    value = \"no\"\r\n  }\r\n}\r\n*\/<\/span>\r\n\r\n<span class=\"n\">resource<\/span> <span class=\"s\">\"aws_elasticache_subnet_group\"<\/span> <span class=\"s\">\"redis_subnet\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">name<\/span>       <span class=\"o\">=<\/span> <span class=\"s\">\"my-elasticache-for-redis-subnet-group\"<\/span>\r\n  <span class=\"n\">subnet_ids<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">private_subnets<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_primary_endpoint_address\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">primary_endpoint_address<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_configuration_endpoint_address\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">configuration_endpoint_address<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">output<\/span> <span class=\"s\">\"redis_elasticache_replication_group_member_clusters\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">value<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aws_elasticache_replication_group<\/span><span class=\"o\">.<\/span><span class=\"n\">redis<\/span><span class=\"o\">.<\/span><span class=\"n\">member_clusters<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"n\">module<\/span> <span class=\"s\">\"client_instance\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"n\">source<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"github.com\/charon-r13b\/ssh-key-less-ec2-instance\"<\/span>\r\n\r\n  <span class=\"n\">vpc_id<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc_id<\/span>\r\n\r\n  <span class=\"n\">subnet_id<\/span> <span class=\"o\">=<\/span> <span class=\"n\">module<\/span><span class=\"o\">.<\/span><span class=\"n\">vpc<\/span><span class=\"o\">.<\/span><span class=\"n\">private_subnets<\/span><span class=\"p\">[<\/span><span class=\"m\">0<\/span><span class=\"p\">]<\/span>\r\n\r\n  <span class=\"n\">module_creation_iam_role_name<\/span>             <span class=\"o\">=<\/span> <span class=\"s\">\"MyElastiCacheSshKeyLessEc2Role\"<\/span>\r\n  <span class=\"n\">module_creation_iam_instance_profile_name<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"MyElastiCacheSshKeyLessEc2InstanceProfile\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u592a\u957f\u4e0d\u770b Amazon ElastiCache for Redis\u306b\u304a\u3044\u3066\u5229\u7528\u3059\u3079\u304d\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30ce\u30fc\u30c9\u306e [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-33710","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bamazon-elasticache-for-redis\u7684\u7aef\u9ede\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede\" \/>\n<meta property=\"og:description\" content=\"\u592a\u957f\u4e0d\u770b Amazon ElastiCache for Redis\u306b\u304a\u3044\u3066\u5229\u7528\u3059\u3079\u304d\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30ce\u30fc\u30c9\u306e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bamazon-elasticache-for-redis\u7684\u7aef\u9ede\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-27T20:06:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T18:28:34+00:00\" \/>\n<meta name=\"author\" content=\"\u6587, \u7fd4\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6587, \u7fd4\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/\",\"name\":\"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-27T20:06:12+00:00\",\"dateModified\":\"2024-05-03T18:28:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\",\"name\":\"\u6587, \u7fd4\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"caption\":\"\u6587, \u7fd4\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bamazon-elasticache-for-redis\u7684\u7aef\u9ede\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede","og_description":"\u592a\u957f\u4e0d\u770b Amazon ElastiCache for Redis\u306b\u304a\u3044\u3066\u5229\u7528\u3059\u3079\u304d\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30ce\u30fc\u30c9\u306e [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bamazon-elasticache-for-redis\u7684\u7aef\u9ede\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-27T20:06:12+00:00","article_modified_time":"2024-05-03T18:28:34+00:00","author":"\u6587, \u7fd4","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6587, \u7fd4","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"17 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/","name":"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-27T20:06:12+00:00","dateModified":"2024-05-03T18:28:34+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u6211\u5011\u4f86\u78ba\u8a8d\u4e00\u4e0bAmazon ElastiCache for Redis\u7684\u7aef\u9ede"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c","name":"\u6587, \u7fd4","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","caption":"\u6587, \u7fd4"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%80%91%e4%be%86%e7%a2%ba%e8%aa%8d%e4%b8%80%e4%b8%8bamazon-elasticache-for-redis%e7%9a%84%e7%ab%af%e9%bb%9e%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=33710"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33710\/revisions"}],"predecessor-version":[{"id":95564,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33710\/revisions\/95564"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=33710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=33710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=33710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}