Effective November 7, 2025, AWS Snowball Edge will only be available to existing customers. If you would like to use AWS Snowball Edge,
sign up prior to that date. New customers should explore AWS 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 AWS CLI, or one of the AWS 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 AWS 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 of
describe-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 of
describe-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 of
disassociate-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 of
describe-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 AWS. 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 of
associate-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 of
describe-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 of
stop-servicecommand outputStopping the AWS service on your Snowball Edge. You can determine the status of the AWS 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 of
start-servicecommand outputStarting the AWS service on your Snowball Edge. You can determine the status of the AWS 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 of
descibe-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" } } }] }