Effective November 7, 2025, Amazon Snowball Edge will only be available to existing customers. If you would like to use Amazon Snowball Edge, 
    sign up prior to that date. New customers should explore Amazon DataSync
Replacing a node in a cluster
To replace a node, you first need to order a replacement. You can order a replacement node from the console, the Amazon CLI, or one of the Amazon SDKs. If you're ordering a replacement node from the console, you can order replacements for any job that hasn't been canceled or completed. Then, you diassociate the unhealthy node from the cluster, connect the replacement node to your network and unlock the cluster including the replacement node, associate the replacement node with the cluster, and restart the Amazon S3 compatible storage on Snowball Edge service.
To order a replacement node from the console
- 
                        Sign in to the Amazon Snow Family Management Console . 
- 
                        Find and choose a job for a node that belongs to the cluster that you created from the Job dashboard. 
- 
                        For Actions, choose Replace node. Doing this opens the final step of the job creation wizard, with all settings identical to how the cluster was originally created. 
- 
                        Choose Create job. 
Your replacement Snowball Edge is now on its way to you. Use the following procedure to remove the unhealthy node from the cluster.
To remove a node from a cluster
- 
                        Power off the node to be removed. For more information, see Powering off the Snowball Edge. 
- 
                        Use the describe-clustercommand to ensure the unhealthy node unreachable. This is indicated by the value ofUNREACHABLEfor theStatename of theNetworkReachabilityobject.snowballEdge describe-cluster --manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://ip-address-of-device-in-clusterExample ofdescribe-clusteroutput{ "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789014", "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "UNREACHABLE" } } ] }
- 
                        Use the describe-servicecommand to ensure the status of thes3-snowservice isDEGRADED.snowballEdge describe-service --service-id s3-snow --device-ip-addressessnow-device-1-address snow-device-2-address--manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://snow-device-ip-addressExample of output ofdescribe-servicecommand{ "ServiceId": "s3-snow", "Autostart": true, "Status": { "State": "DEGRADED" }, "ServiceCapacities": [ { "Name": "S3 Storage", "Unit": "Byte", "Used": 38768180432, "Available": 82961231819568 } ], "Endpoints": [ { "Protocol": "https", "Port": 443, "Host": "10.0.0.10", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description" : "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-26", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.11", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-26", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.12", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012240003-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.13", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "Description" : "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } } ] }
- 
                        Use the disassociate-devicecommand to disassociate and remove the unhealthy node from the cluster.snowballEdge disassociate-device --device-iddevice-id--manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://ip-address-of-unhealthy-deviceExample output ofdisassociate-devicecommandDisassociating your Snowball Edge device from the cluster. Your Snowball Edge device will be disassociated from the cluster when it is in the "DISASSOCIATED" state. You can use the describe-cluster command to determine the state of your cluster.
- 
                        Use the describe-clustercommand again to ensure the unhealthy node is disassociated from the cluster.snowballEdge describe-cluster --manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https:ip-address-of-healthy-deviceExample ofdescribe-clustercommand showing node is disassociated{ "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID12345678-1234-1234-1234-123456789014", "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "DISASSOCIATED" } } ] }
- Power off and return the unhealthy device to Amazon. For more information, see Powering off the Snowball Edge and Returning the Snowball Edge Device. 
When the replacement device arrives, use the following procedure to add it to the cluster.
To add a replacement device
- 
                        Position the replacement device for the cluster such that you have access to the front, back, and top of all devices. 
- 
                        Power up the node and ensure that the node is connected to the same internal network as the rest of the cluster. For more information, see Connecting to Your Local Network. 
- 
                        Use the unlock-clustercommand and include the IP address of the new node.snowballEdge unlock-cluster --manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://ip-address-of-cluster-device--device-ip-addressesnode-1-ip-address node-2-ip-address new-node-ip-addressThe state of the new node will be DEGRADEDuntil you associate it with the cluster in the next step.
- 
                        Use the associate-devicecommand to associate the replacement node with the cluster.snowballEdge associate-device --device-ip-addressnew-node-ip-addressExample ofassociate-devicecommand outputAssociating your Snowball Edge device with the cluster. Your Snowball Edge device will be associated with the cluster when it is in the ASSOCIATED state. You can use the describe-device command to determine the state of your devices.
- 
                        Use the describe-clustercommand to ensure the new node is associated with the cluster.snowballEdge describe-cluster --manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://node-ip-addressExample ofdescribe-clustercommand output{ "ClusterId": "CID12345678-1234-1234-1234-123456789012", "Devices": [ { "DeviceId": "JID12345678-1234-1234-1234-123456789012", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.0" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID-CID12345678-1234-1234-1234-123456789013", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.1" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] }, { "DeviceId": "JID-CID12345678-1234-1234-1234-123456789015", "UnlockStatus": { "State": "UNLOCKED" }, "ActiveNetworkInterface": { "IpAddress": "10.0.0.2" }, "ClusterAssociation": { "ClusterId": "CID12345678-1234-1234-1234-123456789012", "State": "ASSOCIATED" }, "NetworkReachability": { "State": "REACHABLE" }, "Tags": [] } } ] }
- 
                        On the new node, create two virtual network interfaces (VNIs). For more information, see Starting the Amazon S3 compatible storage on Snowball Edge service 
- 
                        Use the stop-servicecommand to stop the s3-snow service.snowballEdge stop-service --service-id s3-snow --device-ip-addressescluster-device-1-ip-address cluster-device-2-ip-address cluster-device-3-ip-address--manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://snow-device-ip-addressExample ofstop-servicecommand outputStopping the Amazon service on your Snowball Edge. You can determine the status of the Amazon service using the describe-service command.
- 
                        Use the start-servicecommand to start the s3-snow service after adding the new node to the cluster.snowballEdge start-service --service-id s3-snow --device-ip-addressescluster-device-1-ip-address cluster-device-2-ip-address cluster-device-3-ip-address--virtual-network-interface-arns "device-1-vni-ip-address-a" "device-1-vni-ip-address-b" "device-2-vni-ip-address-a" "device-2-vni-ip-address-b" "device-3-vni-ip-address-a" "device-3-vni-ip-address-b" --manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://snow-device-ip-addressExample ofstart-servicecommand outputStarting the Amazon service on your Snowball Edge. You can determine the status of the Amazon service using the describe-service command.
- 
                        Use the describe-servicecommand to ensure the s3-snow service started.snowballEdge describe-service --service-id s3-snow --device-ip-addressessnow-device-1-address snow-device-2-address snow-device-3-address--manifest-filepath/to/manifest/file.bin--unlock-codeunlock-code--endpoint https://snow-device-ip-addressExample ofdescibe-servicecommand output{ "ServiceId": "s3-snow", "Autostart": true, "Status": { "State": "ACTIVE" }, "ServiceCapacities": [{ "Name": "S3 Storage", "Unit": "Byte", "Used": 38768180432, "Available": 82961231819568 }], "Endpoints": [{ "Protocol": "https", "Port": 443, "Host": "10.0.0.10", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789012", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.11", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789013", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.12", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID12345678-1234-1234-1234-123456789015", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.13", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207012320001-24-02-05-17-17-27", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.14", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207012240003-24-02-05-17-17-28", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "10.0.0.15", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/7Rg2lP9tQaHnW4sC6xUzF1vGyD3jB5kN8MwEiYpT" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK), "DeviceId": "JID-beta-207012320001-24-02-05-17-17-28", "Status": { "State": "ACTIVE" } } }] }