Você está verificando a variável errada em sua condição de reescrita.
Como você está usando o Amazon Elastic Load Balancer para encerrar suas sessões SSL, o Apache em sua instância não sabe que eles vieram via HTTPS e não define HTTPS.
O ELB define o cabeçalho Proto X-Forwarded como http
ou https
dependendo de como a solicitação foi recebida. Você pode verificar este cabeçalho, para efetuar o redirecionamento.
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]