code: private boolean autoDetectEc2(AmazonInfoConfig amazonInfoConfig) {
          try {
              URL url = AmazonInfo.MetaDataKey.instanceId.getURL(null, null);
              String id = AmazonInfoUtils.readEc2MetadataUrl(
                      AmazonInfo.MetaDataKey.instanceId,
                      url,
                      amazonInfoConfig.getConnectTimeout(),
                      amazonInfoConfig.getReadTimeout()
              );
  
              if (id != null) {
                  logger.info("Auto detected EC2 deployment environment, instanceId = {}", id);
                  return true;
              } else {
                  logger.info("Auto detected non-EC2 deployment environment, instanceId from metadata url is null");
                  return false;
              }
          } catch (SocketTimeoutException e) {
              logger.info("Auto detected non-EC2 deployment environment, connection to ec2 instance metadata url failed.");
          } catch (Exception e) {
              logger.warn("Failed to auto-detect whether we are in EC2 due to unexpected exception", e);
          }
          return false;
      }
docs: best effort try to determine if we are in ec2 by trying to read the instanceId from metadata url