{"id":2263,"date":"2017-01-04T00:08:07","date_gmt":"2017-01-04T00:08:06","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2263"},"modified":"2023-06-21T06:45:35","modified_gmt":"2023-06-21T13:45:35","slug":"couchbase-cluster-amazon-using-cli","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-cluster-amazon-using-cli\/","title":{"rendered":"Cluster Couchbase en Amazon usando CLI"},"content":{"rendered":"<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-amazon-marketplace\/\">Couchbase en Amazon Marketplace<\/a> mostr\u00f3 c\u00f3mo configurar un \u00fanico nodo Couchbase usando la Consola EC2. Pero normalmente se aprovisionan estos nodos en masa, y m\u00e1s com\u00fanmente<br \/>\ncrear un cl\u00faster de ellos. Los cl\u00fasteres de Couchbase son homog\u00e9neos, escalan horizontalmente y, por tanto, garantizan que la base de datos no se convierta en un cuello de botella para tu aplicaci\u00f3n de alto rendimiento.<\/p>\n<p>En este blog se muestra c\u00f3mo crear, escalar y reequilibrar un cl\u00faster de Couchbase mediante la interfaz de l\u00ednea de comandos (CLI) de AWS.<\/p>\n<h2>Instalar AWS CLI<\/h2>\n<p><a href=\"https:\/\/docs.aws.amazon.com\/cli\/latest\/userguide\/installing.html\">Instalar la CLI de AWS<\/a>\u00a0proporcionar detalles completos, pero esto es lo que funcion\u00f3 en mi m\u00e1quina:<\/p>\n<pre class=\"lang:default decode:true\">tools &gt; pip install awscli\r\nCollecting awscli\r\n  Downloading awscli-1.10.27-py2.py3-none-any.whl (937kB)\r\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 937kB 561kB\/s \r\nCollecting rsa&lt;=3.3.0,&gt;=3.1.2 (from awscli)\r\n  Downloading rsa-3.3-py2.py3-none-any.whl (44kB)\r\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 45kB 7.7MB\/s \r\nCollecting s3transfer==0.0.1 (from awscli)\r\n  Downloading s3transfer-0.0.1-py2.py3-none-any.whl\r\nCollecting colorama&lt;=0.3.3,&gt;=0.2.5 (from awscli)\r\n  Downloading colorama-0.3.3.tar.gz\r\nCollecting botocore==1.4.18 (from awscli)\r\n  Downloading botocore-1.4.18-py2.py3-none-any.whl (2.3MB)\r\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2.3MB 221kB\/s \r\nCollecting docutils&gt;=0.10 (from awscli)\r\n  Downloading docutils-0.12.tar.gz (1.6MB)\r\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 1.6MB 328kB\/s \r\nCollecting pyasn1&gt;=0.1.3 (from rsa&lt;=3.3.0,&gt;=3.1.2-&gt;awscli)\r\n  Using cached pyasn1-0.1.9-py2.py3-none-any.whl\r\nCollecting futures&lt;4.0.0,&gt;=2.2.0 (from s3transfer==0.0.1-&gt;awscli)\r\n  Using cached futures-3.0.5-py2-none-any.whl\r\nCollecting jmespath&lt;1.0.0,&gt;=0.7.1 (from botocore==1.4.18-&gt;awscli)\r\n  Downloading jmespath-0.9.0-py2.py3-none-any.whl\r\nCollecting python-dateutil&lt;3.0.0,&gt;=2.1 (from botocore==1.4.18-&gt;awscli)\r\n  Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB)\r\n    100% |\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 204kB 2.4MB\/s \r\nCollecting six&gt;=1.5 (from python-dateutil&lt;3.0.0,&gt;=2.1-&gt;botocore==1.4.18-&gt;awscli)\r\n  Using cached six-1.10.0-py2.py3-none-any.whl\r\nBuilding wheels for collected packages: colorama, docutils\r\n  Running setup.py bdist_wheel for colorama ... done\r\n  Stored in directory: \/Users\/arungupta\/Library\/Caches\/pip\/wheels\/21\/c5\/cf\/63fb92293f3ad402644ccaf882903cacdb8fe87c80b62c84df\r\n  Running setup.py bdist_wheel for docutils ... done\r\n  Stored in directory: \/Users\/arungupta\/Library\/Caches\/pip\/wheels\/db\/de\/bd\/b99b1e12d321fbc950766c58894c6576b1a73ae3131b29a151\r\nSuccessfully built colorama docutils\r\nInstalling collected packages: pyasn1, rsa, futures, jmespath, six, python-dateutil, docutils, botocore, s3transfer, colorama, awscli\r\nSuccessfully installed awscli-1.10.27 botocore-1.4.18 colorama-0.3.3 docutils-0.12 futures-3.0.5 jmespath-0.9.0 pyasn1-0.1.9 python-dateutil-2.5.3 rsa-3.3 s3transfer-0.0.1 six-1.10.0<\/pre>\n<p>Configure la CLI:<\/p>\n<pre class=\"lang:default decode:true\">aws configure\r\nAWS Access Key ID [****************Q5FQ]: YOUR ACCESS KEY ID\r\nAWS Secret Access Key [****************thBR]: YOUR SECRET ACCESS KEY\r\nDefault region name [us-west-1]: \r\nDefault output format [None]:<\/pre>\n<p>Introduzca su identificador de clave de acceso y su clave de acceso secreta. Puede obtenerlas como se explica en <a href=\"https:\/\/docs.aws.amazon.com\/AWSSimpleQueueService\/latest\/SQSGettingStartedGuide\/AWSCredentials.html\">Obtenci\u00f3n del identificador y la clave secreta de acceso<\/a>.<\/p>\n<h2>Crear grupo de seguridad de AWS<\/h2>\n<p>Si antes aprovision\u00f3 un servidor mediante <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-amazon-marketplace\/\">Amazon 1-click<\/a>\u00a0entonces un grupo de seguridad con el nombre\u00a0<code>Couchbase Server Community Edition-4-0-0-AutogenByAWSMP-<\/code> es<br \/>\ncreado para usted. Este grupo de seguridad tiene todos los puertos autorizados requeridos para crear un cluster Couchbase y puede ser usado para crear la instancia. Alternativamente, puedes crear un nuevo grupo de seguridad y autorizar expl\u00edcitamente los puertos.<\/p>\n<p>Crear un grupo de seguridad:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 create-security-group --group-name my-couchbase-sg --description \"My Couchbase Security Group\"\r\n{\r\n    \"GroupId\": \"sg-c9bb19ad\"\r\n}\r\n<\/pre>\n<p>Autorizar puertos en el grupo de seguridad:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 authorize-security-group-ingress --group-name my-couchbase-sg --port 8091-8093 --protocol tcp --cidr 0.0.0.0\/0\r\naws ec2 authorize-security-group-ingress --group-name my-couchbase-sg --port 11209-11211 --protocol tcp --cidr 0.0.0.0\/0\r\naws ec2 authorize-security-group-ingress --group-name my-couchbase-sg --port 21100-21299 --protocol tcp --cidr 0.0.0.0\/0\r\naws ec2 authorize-security-group-ingress --group-name my-couchbase-sg --port 4369 --protocol tcp --cidr 0.0.0.0\/0<\/pre>\n<h2>Crear un par de claves de AWS<\/h2>\n<p>M\u00e1s informaci\u00f3n sobre la creaci\u00f3n <a href=\"https:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/ec2-key-pairs.html\">par de llaves<\/a>. Crea un par de claves:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 create-key-pair --key-name my-couchbase-key &gt; my-couchbase-key.pem<\/pre>\n<p>Anote el nombre de la clave, ya que se utilizar\u00e1 m\u00e1s adelante.<\/p>\n<h2>Crear nodos Couchbase en Amazon<\/h2>\n<p>Crear dos instancias utilizando el grupo de seguridad reci\u00e9n creado como:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 run-instances --image-id ami-db95ffbb --count 2 --instance-type m3.large --key-name my-couchbase-key --security-groups my-couchbase-sg<\/pre>\n<p>Tenga en cuenta que el n\u00famero de instancias se especifica mediante <code>--cuenta 2<\/code>. El ID de la AMI se puede obtener utilizando la consola de EC2:\u00a0<a href=\"https:\/\/us-west-1.console.aws.amazon.com\/ec2\/v2\/home?region=us-west-1#Images:visibility=public-images;search=couchbase;sort=desc:name\">https:\/\/us-west-1.console.aws.amazon.com\/ec2\/v2\/home?region=us-west-1#Images:visibility=public-images;search=couchbase;sort=desc:name<\/a>.<br \/>\nO crear dos instancias utilizando el grupo de seguridad pre-creado como:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 run-instances --image-id ami-db95ffbb --count 2 --instance-type m3.large --key-name my-couchbase-key --security-groups \"Couchbase Server Community Edition-4-0-0-AutogenByAWSMP-\"<\/pre>\n<p>Esto mostrar\u00e1 la salida como:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n    \"OwnerId\": \"598307997273\", \r\n    \"ReservationId\": \"r-cb952179\", \r\n    \"Groups\": [], \r\n    \"Instances\": [\r\n        {\r\n            \"Monitoring\": {\r\n                \"State\": \"disabled\"\r\n            }, \r\n            \"PublicDnsName\": \"\", \r\n            \"RootDeviceType\": \"ebs\", \r\n            \"State\": {\r\n                \"Code\": 0, \r\n                \"Name\": \"pending\"\r\n            }, \r\n            \"EbsOptimized\": false, \r\n            \"LaunchTime\": \"2016-05-16T16:11:59.000Z\", \r\n            \"PrivateIpAddress\": \"172.31.15.200\", \r\n            \"ProductCodes\": [], \r\n            \"VpcId\": \"vpc-c561f9a0\", \r\n            \"StateTransitionReason\": \"\", \r\n            \"InstanceId\": \"i-90199025\", \r\n            \"ImageId\": \"ami-db95ffbb\", \r\n            \"PrivateDnsName\": \"ip-172-31-15-200.us-west-1.compute.internal\", \r\n            \"KeyName\": \"my-couchbase-key\", \r\n            \"SecurityGroups\": [\r\n                {\r\n                    \"GroupName\": \"my-couchbase-sg\", \r\n                    \"GroupId\": \"sg-6172dd05\"\r\n                }\r\n            ], \r\n            \"ClientToken\": \"\", \r\n            \"SubnetId\": \"subnet-625bd23b\", \r\n            \"InstanceType\": \"m3.large\", \r\n            \"NetworkInterfaces\": [\r\n                {\r\n                    \"Status\": \"in-use\", \r\n                    \"MacAddress\": \"06:b1:52:a6:87:f7\", \r\n                    \"SourceDestCheck\": true, \r\n                    \"VpcId\": \"vpc-c561f9a0\", \r\n                    \"Description\": \"\", \r\n                    \"NetworkInterfaceId\": \"eni-86ac6fdb\", \r\n                    \"PrivateIpAddresses\": [\r\n                        {\r\n                            \"PrivateDnsName\": \"ip-172-31-15-200.us-west-1.compute.internal\", \r\n                            \"Primary\": true, \r\n                            \"PrivateIpAddress\": \"172.31.15.200\"\r\n                        }\r\n                    ], \r\n                    \"PrivateDnsName\": \"ip-172-31-15-200.us-west-1.compute.internal\", \r\n                    \"Attachment\": {\r\n                        \"Status\": \"attaching\", \r\n                        \"DeviceIndex\": 0, \r\n                        \"DeleteOnTermination\": true, \r\n                        \"AttachmentId\": \"eni-attach-530b7293\", \r\n                        \"AttachTime\": \"2016-05-16T16:11:59.000Z\"\r\n                    }, \r\n                    \"Groups\": [\r\n                        {\r\n                            \"GroupName\": \"my-couchbase-sg\", \r\n                            \"GroupId\": \"sg-6172dd05\"\r\n                        }\r\n                    ], \r\n                    \"SubnetId\": \"subnet-625bd23b\", \r\n                    \"OwnerId\": \"598307997273\", \r\n                    \"PrivateIpAddress\": \"172.31.15.200\"\r\n                }\r\n            ], \r\n            \"SourceDestCheck\": true, \r\n            \"Placement\": {\r\n                \"Tenancy\": \"default\", \r\n                \"GroupName\": \"\", \r\n                \"AvailabilityZone\": \"us-west-1c\"\r\n            }, \r\n            \"Hypervisor\": \"xen\", \r\n            \"BlockDeviceMappings\": [], \r\n            \"Architecture\": \"x86_64\", \r\n            \"StateReason\": {\r\n                \"Message\": \"pending\", \r\n                \"Code\": \"pending\"\r\n            }, \r\n            \"RootDeviceName\": \"\/dev\/xvda\", \r\n            \"VirtualizationType\": \"hvm\", \r\n            \"AmiLaunchIndex\": 0\r\n        }, \r\n        {\r\n            \"Monitoring\": {\r\n                \"State\": \"disabled\"\r\n            }, \r\n            \"PublicDnsName\": \"\", \r\n            \"RootDeviceType\": \"ebs\", \r\n            \"State\": {\r\n                \"Code\": 0, \r\n                \"Name\": \"pending\"\r\n            }, \r\n            \"EbsOptimized\": false, \r\n            \"LaunchTime\": \"2016-05-16T16:11:59.000Z\", \r\n            \"PrivateIpAddress\": \"172.31.15.201\", \r\n            \"ProductCodes\": [], \r\n            \"VpcId\": \"vpc-c561f9a0\", \r\n            \"StateTransitionReason\": \"\", \r\n            \"InstanceId\": \"i-93199026\", \r\n            \"ImageId\": \"ami-db95ffbb\", \r\n            \"PrivateDnsName\": \"ip-172-31-15-201.us-west-1.compute.internal\", \r\n            \"KeyName\": \"my-couchbase-key\", \r\n            \"SecurityGroups\": [\r\n                {\r\n                    \"GroupName\": \"my-couchbase-sg\", \r\n                    \"GroupId\": \"sg-6172dd05\"\r\n                }\r\n            ], \r\n            \"ClientToken\": \"\", \r\n            \"SubnetId\": \"subnet-625bd23b\", \r\n            \"InstanceType\": \"m3.large\", \r\n            \"NetworkInterfaces\": [\r\n                {\r\n                    \"Status\": \"in-use\", \r\n                    \"MacAddress\": \"06:83:e8:06:2a:f1\", \r\n                    \"SourceDestCheck\": true, \r\n                    \"VpcId\": \"vpc-c561f9a0\", \r\n                    \"Description\": \"\", \r\n                    \"NetworkInterfaceId\": \"eni-81ac6fdc\", \r\n                    \"PrivateIpAddresses\": [\r\n                        {\r\n                            \"PrivateDnsName\": \"ip-172-31-15-201.us-west-1.compute.internal\", \r\n                            \"Primary\": true, \r\n                            \"PrivateIpAddress\": \"172.31.15.201\"\r\n                        }\r\n                    ], \r\n                    \"PrivateDnsName\": \"ip-172-31-15-201.us-west-1.compute.internal\", \r\n                    \"Attachment\": {\r\n                        \"Status\": \"attaching\", \r\n                        \"DeviceIndex\": 0, \r\n                        \"DeleteOnTermination\": true, \r\n                        \"AttachmentId\": \"eni-attach-680b72a8\", \r\n                        \"AttachTime\": \"2016-05-16T16:11:59.000Z\"\r\n                    }, \r\n                    \"Groups\": [\r\n                        {\r\n                            \"GroupName\": \"my-couchbase-sg\", \r\n                            \"GroupId\": \"sg-6172dd05\"\r\n                        }\r\n                    ], \r\n                    \"SubnetId\": \"subnet-625bd23b\", \r\n                    \"OwnerId\": \"598307997273\", \r\n                    \"PrivateIpAddress\": \"172.31.15.201\"\r\n                }\r\n            ], \r\n            \"SourceDestCheck\": true, \r\n            \"Placement\": {\r\n                \"Tenancy\": \"default\", \r\n                \"GroupName\": \"\", \r\n                \"AvailabilityZone\": \"us-west-1c\"\r\n            }, \r\n            \"Hypervisor\": \"xen\", \r\n            \"BlockDeviceMappings\": [], \r\n            \"Architecture\": \"x86_64\", \r\n            \"StateReason\": {\r\n                \"Message\": \"pending\", \r\n                \"Code\": \"pending\"\r\n            }, \r\n            \"RootDeviceName\": \"\/dev\/xvda\", \r\n            \"VirtualizationType\": \"hvm\", \r\n            \"AmiLaunchIndex\": 1\r\n        }\r\n    ]\r\n}<\/pre>\n<p>El estado de las instancias puede comprobarse como:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 describe-instance-status --instance-ids `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text`<\/pre>\n<p>Y muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n    \"InstanceStatuses\": [\r\n        {\r\n            \"InstanceId\": \"i-90199025\", \r\n            \"InstanceState\": {\r\n                \"Code\": 16, \r\n                \"Name\": \"running\"\r\n            }, \r\n            \"AvailabilityZone\": \"us-west-1c\", \r\n            \"SystemStatus\": {\r\n                \"Status\": \"initializing\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"initializing\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }, \r\n            \"InstanceStatus\": {\r\n                \"Status\": \"initializing\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"initializing\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }\r\n        }, \r\n        {\r\n            \"InstanceId\": \"i-93199026\", \r\n            \"InstanceState\": {\r\n                \"Code\": 16, \r\n                \"Name\": \"running\"\r\n            }, \r\n            \"AvailabilityZone\": \"us-west-1c\", \r\n            \"SystemStatus\": {\r\n                \"Status\": \"initializing\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"initializing\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }, \r\n            \"InstanceStatus\": {\r\n                \"Status\": \"initializing\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"initializing\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n    ]\r\n}<\/pre>\n<p>Aqu\u00ed el estado se muestra como <code>inicializando<\/code>. Las instancias tardan unos minutos en aprovisionarse. Las instancias que han superado todas las comprobaciones pueden verificarse como:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 describe-instance-status --filters Name=instance-status.reachability,Values=passed --instance-ids `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text`<\/pre>\n<p>Al principio, muestra el resultado como:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n    \"InstanceStatuses\": []\r\n}<\/pre>\n<p>Pero una vez que todas las instancias pasan la comprobaci\u00f3n, entonces los resultados se ven as\u00ed:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n    \"InstanceStatuses\": [\r\n        {\r\n            \"InstanceId\": \"i-90199025\", \r\n            \"InstanceState\": {\r\n                \"Code\": 16, \r\n                \"Name\": \"running\"\r\n            }, \r\n            \"AvailabilityZone\": \"us-west-1c\", \r\n            \"SystemStatus\": {\r\n                \"Status\": \"ok\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"passed\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }, \r\n            \"InstanceStatus\": {\r\n                \"Status\": \"ok\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"passed\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }\r\n        }, \r\n        {\r\n            \"InstanceId\": \"i-93199026\", \r\n            \"InstanceState\": {\r\n                \"Code\": 16, \r\n                \"Name\": \"running\"\r\n            }, \r\n            \"AvailabilityZone\": \"us-west-1c\", \r\n            \"SystemStatus\": {\r\n                \"Status\": \"ok\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"passed\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }, \r\n            \"InstanceStatus\": {\r\n                \"Status\": \"ok\", \r\n                \"Details\": [\r\n                    {\r\n                        \"Status\": \"passed\", \r\n                        \"Name\": \"reachability\"\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n    ]\r\n}<\/pre>\n<p>Aqu\u00ed el estado se muestra como <code>aprobado<\/code>.<\/p>\n<h2>Configurar nodos Couchbase<\/h2>\n<p>Cada nodo Couchbase necesita ser aprovisionado con los siguientes detalles:<\/p>\n<ul>\n<li class=\"p1\"><span class=\"s1\">Memoria<\/span><\/li>\n<li class=\"p1\"><span class=\"s1\">Servicios (\u00edndice, datos y consulta)<\/span><\/li>\n<li class=\"p1\"><span class=\"s1\">Auth credentials (username: `Administrator`, password: `password`)<\/span><\/li>\n<li class=\"p1\"><span class=\"s1\">Loads `travel-sample` bucket<\/span><\/li>\n<\/ul>\n<p>Esto puede hacerse utilizando el script:<\/p>\n<pre class=\"lang:default decode:true\">for ip in \"$@\"\r\ndo\r\n        curl -v -X POST https:\/\/$ip:8091\/pools\/default -d memoryQuota=300 -d indexMemoryQuota=300\r\n        curl -v https:\/\/$ip:8091\/node\/controller\/setupServices -d services=kv%2Cn1ql%2Cindex\r\n        curl -v https:\/\/$ip:8091\/settings\/web -d port=8091 -d username=Administrator -d password=password\r\n        curl -v -u Administrator:password -X POST https:\/\/$ip:8091\/sampleBuckets\/install -d '[\"travel-sample\"]'\r\ndone<\/pre>\n<p>Est\u00e1 disponible en:\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/couchbase-amazon\/blob\/master\/configure-instance.sh\">https:\/\/github.com\/arun-gupta\/couchbase-amazon\/blob\/master\/configure-instance.sh<\/a>. Se puede invocar como:<\/p>\n<pre class=\"lang:default decode:true\">.\/configure-instance.sh `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[PublicDnsName]' --filters Name=instance-state-name,Values=running --output text`<\/pre>\n<p>Y muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">*   Trying 52.53.171.49...\r\n* Connected to ec2-52-53-171-49.us-west-1.compute.amazonaws.com (52.53.171.49) port 8091 (#0)\r\n&gt; POST \/pools\/default HTTP\/1.1\r\n&gt; Host: ec2-52-53-171-49.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 36\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 36 out of 36 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:47 GMT\r\n&lt; Content-Length: 0\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-171-49.us-west-1.compute.amazonaws.com left intact * Trying 52.53.171.49... * Connected to ec2-52-53-171-49.us-west-1.compute.amazonaws.com (52.53.171.49) port 8091 (#0) &gt; POST \/node\/controller\/setupServices HTTP\/1.1\r\n&gt; Host: ec2-52-53-171-49.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 26\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 26 out of 26 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:47 GMT\r\n&lt; Content-Length: 0\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-171-49.us-west-1.compute.amazonaws.com left intact * Trying 52.53.171.49... * Connected to ec2-52-53-171-49.us-west-1.compute.amazonaws.com (52.53.171.49) port 8091 (#0) &gt; POST \/settings\/web HTTP\/1.1\r\n&gt; Host: ec2-52-53-171-49.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 50\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 50 out of 50 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:47 GMT\r\n&lt; Content-Type: application\/json\r\n&lt; Content-Length: 78\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-171-49.us-west-1.compute.amazonaws.com left intact {\"newBaseUri\":\"https:\/\/ec2-52-53-171-49.us-west-1.compute.amazonaws.com:8091\/\"}* Trying 52.53.171.49... * Connected to ec2-52-53-171-49.us-west-1.compute.amazonaws.com (52.53.171.49) port 8091 (#0) * Server auth using Basic with user 'Administrator' &gt; POST \/sampleBuckets\/install HTTP\/1.1\r\n&gt; Host: ec2-52-53-171-49.us-west-1.compute.amazonaws.com:8091\r\n&gt; Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 17\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 17 out of 17 bytes\r\n&lt; HTTP\/1.1 202 Accepted\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:47 GMT\r\n&lt; Content-Type: application\/json\r\n&lt; Content-Length: 2\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-171-49.us-west-1.compute.amazonaws.com left intact []* Trying 52.53.239.100... * Connected to ec2-52-53-239-100.us-west-1.compute.amazonaws.com (52.53.239.100) port 8091 (#0) &gt; POST \/pools\/default HTTP\/1.1\r\n&gt; Host: ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 36\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 36 out of 36 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:48 GMT\r\n&lt; Content-Length: 0\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-239-100.us-west-1.compute.amazonaws.com left intact * Trying 52.53.239.100... * Connected to ec2-52-53-239-100.us-west-1.compute.amazonaws.com (52.53.239.100) port 8091 (#0) &gt; POST \/node\/controller\/setupServices HTTP\/1.1\r\n&gt; Host: ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 26\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 26 out of 26 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:48 GMT\r\n&lt; Content-Length: 0\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-239-100.us-west-1.compute.amazonaws.com left intact * Trying 52.53.239.100... * Connected to ec2-52-53-239-100.us-west-1.compute.amazonaws.com (52.53.239.100) port 8091 (#0) &gt; POST \/settings\/web HTTP\/1.1\r\n&gt; Host: ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 50\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 50 out of 50 bytes\r\n&lt; HTTP\/1.1 200 OK\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:48 GMT\r\n&lt; Content-Type: application\/json\r\n&lt; Content-Length: 79\r\n&lt; Cache-Control: no-cache\r\n&lt; * Connection #0 to host ec2-52-53-239-100.us-west-1.compute.amazonaws.com left intact {\"newBaseUri\":\"https:\/\/ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091\/\"}* Trying 52.53.239.100... * Connected to ec2-52-53-239-100.us-west-1.compute.amazonaws.com (52.53.239.100) port 8091 (#0) * Server auth using Basic with user 'Administrator' &gt; POST \/sampleBuckets\/install HTTP\/1.1\r\n&gt; Host: ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091\r\n&gt; Authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==\r\n&gt; User-Agent: curl\/7.43.0\r\n&gt; Accept: *\/*\r\n&gt; Content-Length: 17\r\n&gt; Content-Type: application\/x-www-form-urlencoded\r\n&gt; \r\n* upload completely sent off: 17 out of 17 bytes\r\n&lt; HTTP\/1.1 202 Accepted\r\n&lt; Server: Couchbase Server\r\n&lt; Pragma: no-cache\r\n&lt; Date: Mon, 16 May 2016 16:18:48 GMT\r\n&lt; Content-Type: application\/json\r\n&lt; Content-Length: 2\r\n&lt; Cache-Control: no-cache\r\n&lt; \r\n* Connection #0 to host ec2-52-53-239-100.us-west-1.compute.amazonaws.com left intact\r\n[]<\/pre>\n<p>Esto es invocar <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/rest-api\/rest-endpoints-all.html\">API REST de Couchbase <\/a>para configurar cada nodo Couchbase. Ahora que cada nodo Couchbase est\u00e1 configurado, vamos a acceder a ellos. Buscar public<br \/>\nDirecci\u00f3n IP de las instancias:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 describe-instances --query 'Reservations[*].Instances[*].[PublicDnsName]' --filters Name=instance-state-name,Values=running --output text<\/pre>\n<p>Muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">ec2-52-53-171-49.us-west-1.compute.amazonaws.com\r\nec2-52-53-239-100.us-west-1.compute.amazonaws.com<\/pre>\n<p>Elige una de las direcciones IP y accede a ella en :8091 para ver la salida:<br \/>\n<a href=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-1-1024x565.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13987\" src=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-1-1024x565.png\" alt=\"couchbase-aws-cli-1\" width=\"604\" height=\"333\" \/><\/a><br \/>\nCada Couchbase<br \/>\nest\u00e1 configurado con el nombre de usuario Administrator y la contrase\u00f1a Password. Al introducir las credenciales se muestra la consola web de Couchbase:<br \/>\n<a href=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-2-1024x466.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13988\" src=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-2-1024x466.png\" alt=\"couchbase-aws-cli-2\" width=\"604\" height=\"275\" \/><\/a><br \/>\nHaga clic en<br \/>\nNodos Servidor para ver que s\u00f3lo hay un nodo en el cluster:<br \/>\n<a href=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-3-1024x557.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13989\" src=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-3-1024x557.png\" alt=\"couchbase-aws-cli-3\" width=\"604\" height=\"329\" \/><\/a><\/p>\n<h2>Crear y reequilibrar el cl\u00faster de Couchbase<\/h2>\n<p>Todos los nodos del servidor Couchbase son iguales. Esto permite al cluster de Couchbase escalar horizontalmente para satisfacer las crecientes demandas de tu aplicaci\u00f3n. Se pueden a\u00f1adir nodos Couchbase independientes a un cluster invocando el comando <code>servidor-add<\/code> comando CLI. Normalmente, este proceso consta de dos pasos. El primer paso es a\u00f1adir uno o m\u00e1s nodos. El segundo paso es reequilibrar el cl\u00faster, en el que los datos de los nodos existentes se reequilibran en el cl\u00faster actualizado.<\/p>\n<p>En nuestro caso, un nodo Couchbase se est\u00e1 ejecutando en cada AMI. Escojamos la direcci\u00f3n IP de cualquier nodo Couchbase y a\u00f1adamos la direcci\u00f3n IP del otro nodo. Esto se puede hacer usando el script:<\/p>\n<pre class=\"lang:default decode:true\">export primary=$1\r\nshift\r\nfor ip in \"$@\"\r\ndo\r\n    $COUCHBASE_CLI \r\n    server-add \r\n    --cluster=$primary:8091 \r\n    --user Administrator \r\n    --password password \r\n    --server-add=$ip \r\n    --server-add-username=Administrator \r\n    --server-add-password=password\r\ndone<\/pre>\n<p>Este gui\u00f3n est\u00e1 disponible en\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/couchbase-amazon\/blob\/master\/create-cluster.sh\">https:\/\/github.com\/arun-gupta\/couchbase-amazon\/blob\/master\/create-cluster.sh<\/a>\u00a0y puede invocarse como:<\/p>\n<pre class=\"lang:default decode:true\">.\/create-cluster.sh `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[PublicDnsName]' --filters Name=instance-state-name,Values=running --output text`<\/pre>\n<p>Y muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">SUCCESS: server-add ec2-52-53-239-100.us-west-1.compute.amazonaws.com:8091<\/pre>\n<p>Couchbase Web Console se actualiza para mostrar:<br \/>\n<a href=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-4-1024x551.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13990\" src=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-4-1024x551.png\" alt=\"couchbase-aws-cli-4\" width=\"604\" height=\"325\" \/><\/a><\/p>\n<p>Por \u00faltimo, reequilibre el cl\u00faster utilizando el script:<\/p>\n<pre class=\"lang:default decode:true\">export primary=$1\r\nshift\r\nfor ip in \"$@\" \r\ndo\r\n        $COUCHBASE_CLI \r\n        rebalance \r\n        --cluster=$primary:8091 \r\n        --user Administrator \r\n        --password password \r\n        --server-add-username=Administrator \r\n        --server-add-password=password\r\ndone<\/pre>\n<p>Esto muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">INFO: rebalancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \r\nSUCCESS: rebalanced cluster<\/pre>\n<p>La Consola Web de Couchbase ya est\u00e1 actualizada:<br \/>\n<a href=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-5-1024x469.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13991\" src=\"\/wp-content\/original-assets\/may-2016\/couchbase-cluster-on-amazon-using-cli\/couchbase-aws-cli-5-1024x469.png\" alt=\"couchbase-aws-cli-5\" width=\"604\" height=\"277\" \/><\/a><\/p>\n<p>Una vez que el cl\u00faster est\u00e9 en funcionamiento, prueba <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdks\/java-2.2\/hello-couchbase.html\">Hola Couchbase Ejemplo<\/a>.<\/p>\n<h2>Terminar Nodos Couchbase<\/h2>\n<p>Por \u00faltimo, matar el cl\u00faster es bastante sencillo:<\/p>\n<pre class=\"lang:default decode:true\">aws ec2 terminate-instances --instance-ids `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --output text`<\/pre>\n<p>Este blog muestra c\u00f3mo crear, escalar y reequilibrar un cl\u00faster de Couchbase utilizando AWS CLI. Todos los scripts est\u00e1n disponibles en\u00a0<a href=\"https:\/\/github.com\/arun-gupta\/couchbase-amazon\">https:\/\/github.com\/arun-gupta\/couchbase-amazon<\/a>.<\/p>\n<p>Otras referencias ...<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.couchbase.com\/server\">Portal para desarrolladores de Couchbase Server<\/a><\/li>\n<li><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdks\/java-2.2\/hello-couchbase.html\">Hola Couchbase Ejemplo<\/a><\/li>\n<li>Preguntas sobre <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">StackOverflow,<\/a>\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">Foros<\/a>\u00a0o <a href=\"https:\/\/couchbase-community.slack.com\/\">Canal Slack<\/a><\/li>\n<li>S\u00edguenos en\u00a0<a href=\"https:\/\/twitter.com\/couchbasedev\">@couchbasedev<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/next\/\">Couchbase 4.5 Beta<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Couchbase on Amazon Marketplace showed how to setup a single Couchbase node\u00a0using EC2 Console.\u00a0But typically you provision these nodes\u00a0en masse, and more commonly create a cluster of them. Couchbase clusters are homogenous, scales horizontally\u00a0and thus\u00a0ensure that database does not become [&hellip;]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Cluster on Amazon using CLI - The Couchbase Blog<\/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.couchbase.com\/blog\/es\/couchbase-cluster-amazon-using-cli\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Cluster on Amazon using CLI\" \/>\n<meta property=\"og:description\" content=\"Couchbase on Amazon Marketplace showed how to setup a single Couchbase node\u00a0using EC2 Console.\u00a0But typically you provision these nodes\u00a0en masse, and more commonly create a cluster of them. Couchbase clusters are homogenous, scales horizontally\u00a0and thus\u00a0ensure that database does not become [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-cluster-amazon-using-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-04T00:08:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-21T13:45:35+00:00\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Couchbase Cluster on Amazon using CLI\",\"datePublished\":\"2017-01-04T00:08:06+00:00\",\"dateModified\":\"2023-06-21T13:45:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/\"},\"wordCount\":723,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/\",\"name\":\"Couchbase Cluster on Amazon using CLI - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-04T00:08:06+00:00\",\"dateModified\":\"2023-06-21T13:45:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Cluster on Amazon using CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\",\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"caption\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\"},\"description\":\"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.\",\"sameAs\":[\"https:\/\/x.com\/arungupta\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Cluster on Amazon using CLI - The Couchbase Blog","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.couchbase.com\/blog\/es\/couchbase-cluster-amazon-using-cli\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase Cluster on Amazon using CLI","og_description":"Couchbase on Amazon Marketplace showed how to setup a single Couchbase node\u00a0using EC2 Console.\u00a0But typically you provision these nodes\u00a0en masse, and more commonly create a cluster of them. Couchbase clusters are homogenous, scales horizontally\u00a0and thus\u00a0ensure that database does not become [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-cluster-amazon-using-cli\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-04T00:08:06+00:00","article_modified_time":"2023-06-21T13:45:35+00:00","author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Couchbase Cluster on Amazon using CLI","datePublished":"2017-01-04T00:08:06+00:00","dateModified":"2023-06-21T13:45:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/"},"wordCount":723,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/","name":"Couchbase Cluster on Amazon using CLI - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-04T00:08:06+00:00","dateModified":"2023-06-21T13:45:35+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-cluster-amazon-using-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Cluster on Amazon using CLI"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f","name":"Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337","url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","caption":"Arun Gupta, VP, Developer Advocacy, Couchbase"},"description":"Arun Gupta es vicepresidente de promoci\u00f3n de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante m\u00e1s de 10 a\u00f1os en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campa\u00f1as de marketing y programas. Anteriormente dirigi\u00f3 equipos de ingenier\u00eda en Sun y es miembro fundador del equipo Java EE. Gupta es autor de m\u00e1s de 2.000 entradas de blog sobre tecnolog\u00eda. Tiene una amplia experiencia como conferenciante en m\u00e1s de 40 pa\u00edses sobre innumerables temas y es una JavaOne Rock Star desde hace tres a\u00f1os consecutivos. Gupta tambi\u00e9n fund\u00f3 el cap\u00edtulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educaci\u00f3n tecnol\u00f3gica entre los ni\u00f1os. Autor de varios libros sobre tecnolog\u00eda, \u00e1vido corredor, trotamundos, campe\u00f3n de Java, l\u00edder de JUG, miembro del Dream Team de NetBeans y capit\u00e1n de Docker, es f\u00e1cilmente accesible en @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/arun-gupta\/"}]}},"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","description":"Arun Gupta es vicepresidente de promoci\u00f3n de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante m\u00e1s de 10 a\u00f1os en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campa\u00f1as de marketing y programas. Anteriormente dirigi\u00f3 equipos de ingenier\u00eda en Sun y es miembro fundador del equipo Java EE.\r\n\r\nGupta es autor de m\u00e1s de 2.000 entradas de blog sobre tecnolog\u00eda. Tiene una amplia experiencia como conferenciante en m\u00e1s de 40 pa\u00edses sobre innumerables temas y es una JavaOne Rock Star desde hace tres a\u00f1os consecutivos. Gupta tambi\u00e9n fund\u00f3 el cap\u00edtulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educaci\u00f3n tecnol\u00f3gica entre los ni\u00f1os. Autor de varios libros sobre tecnolog\u00eda, \u00e1vido corredor, trotamundos, campe\u00f3n de Java, l\u00edder de JUG, miembro del Dream Team de NetBeans y capit\u00e1n de Docker, es f\u00e1cilmente accesible en @arungupta."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2263"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2263"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}