Ideally, you will have defined all your storage requirements (disk size, IOPs, and so on) up-front as code using a service such as CloudFormation. However, sometimes, that isn't possible due to application restrictions or changing requirements.
You can easily add additional storage to your instances while they are running by attaching a new volume.