Repository navigation
AWS
Protože je instance i-08fe8a64d89f05ea9 (eu-west-1) zabezpečena podle AWS best practices pomocí AWS Systems Manager (SSM) Session Manageru (nemá do internetu otevřený SSH port 22, takže na ni nemohou útočit botnety a nemusíte spravovat .pem klíče), můžete se k ní připojit třemi způsoby:
- Otevřete AWS Console a přepněte se do zvoleného regionu Ireland (
eu-west-1): 👉https://eu-west-1.console.aws.amazon.com/ec2/home?region=eu-west-1#Instances:instanceId=i-08fe8a64d89f05ea9 - Označte instanci
polymarket-bot-data-instance(i-08fe8a64d89f05ea9) a klikněte vpravo nahoře na Connect. - Vyberte záložku Session Manager a klikněte na oranžové tlačítko Connect.
- V novém okně prohlížeče se vám ihned otevře interaktivní bash terminál přímo na EC2 instanci.
Pokud se chcete připojovat přímo ze svého počítače z PowerShellu:
-
Jednorázová instalace SSM pluginu pro AWS CLI (pokud jej ještě nemáte):
winget install Amazon.SessionManagerPlugin
(Po instalaci restartujte okno PowerShellu.)
-
Připojení k interaktivnímu terminálu instance:
aws ssm start-session --region eu-west-1 --target i-08fe8a64d89f05ea9
Pokud si chcete ze svého PC v prohlížeči nebo přes curl zobrazit http://localhost:8084/api/collector/status (bez otevírání portu do internetu):
aws ssm start-session `
--region eu-west-1 `
--target i-08fe8a64d89f05ea9 `
--document-name AWS-StartPortForwardingSession `
--parameters '{\"portNumber\":[\"8084\"],\"localPortNumber\":[\"8084\"]}'Dokud necháte tento příkaz běžet, máte v prohlížeči na svém PC dostupný stav kolektoru na adrese:
👉 http://localhost:8084/api/collector/status
Po připojení přes Session Manager (bod 1 nebo 2) se přepněte na ec2-user nebo root (sudo su -) a můžete používat:
-
Živý výpis logů aplikace Data Collector:
sudo docker logs -f --tail 100 polymarket-bot-data
-
Kontrola stavu všech streamů a počtu zapsaných záznamů:
curl -s http://localhost:8084/api/collector/status | jq .
-
Kontrola nasbíraných
.jsonl.zstsouborů na 50 GB EBS disku:ls -lhR /mnt/ebs/polymarket-data/collector
-
Kontrola volného místa na EBS disku:
df -h /mnt/ebs/polymarket-data
Samotný aws ssm start-session je textový terminál, takže pro přenos binárních .jsonl.zst souborů z /mnt/ebs/polymarket-data/collector na váš lokální disk (např. do D:\Crypto\data\Polymarket\collector) máte 3 možnosti podle velikosti dat a toho, jak často chcete stahovat (všechny zachovávají uzavřený firewall bez veřejného portu 22):
SSM umí tunelovat SSH/SCP provoz přes AWS-StartSSHSession. Stačí jednorázově nahrát váš lokální veřejný SSH klíč (~/.ssh/id_rsa.pub nebo ~/.ssh/id_ed25519.pub) na instanci a pak můžete spouštět běžné scp -r:
-
Jednorázové přidání vašeho SSH klíče na EC2 přes SSM (spusťte v PowerShellu):
# Pokud ještě nemáte lokální SSH klíč, vygenerujte si ho: ssh-keygen -t ed25519 $pubKey = (Get-Content "$HOME\.ssh\id_ed25519.pub" -Raw).Trim() aws ssm send-command ` --region eu-west-1 ` --instance-ids "i-08fe8a64d89f05ea9" ` --document-name "AWS-RunShellScript" ` --parameters "commands=['mkdir -p /home/ec2-user/.ssh && echo `"$pubKey`" >> /home/ec2-user/.ssh/authorized_keys && chown -R ec2-user:ec2-user /home/ec2-user/.ssh && chmod 600 /home/ec2-user/.ssh/authorized_keys']"
-
Jednorázové nastavení
~/.ssh/configna vašem Windows PC: Přidejte do souboruC:\Users\marti\.ssh\config:Host i-* mi-* User ec2-user IdentityFile ~/.ssh/id_ed25519 ProxyCommand C:\Program Files\Amazon\SessionManagerPlugin\bin\session-manager-plugin.exe "%h" eu-west-1 StartSession AWS-StartSSHSession "{\"portNumber\":[\"%p\"]}"
-
Stažení všech
.jsonl.zstsouborů jedním příkazemscp:scp -r i-08fe8a64d89f05ea9:/mnt/ebs/polymarket-data/collector D:\Crypto\data\Polymarket\
Samotný SSM kanál má omezenou propustnost (řádově jednotky MB/s). Protože depthDiff a CLOB streamy vygenerují stovky MB denně, nejrychlejší a nejspolehlivější způsob v AWS je:
- Přenos mezi EC2 a S3 ve stejném regionu (
eu-west-1) je zdarma a běží rychlostí stovek MB/s. - Na EC2 běží jednoduchý cron (nebo jednorázový SSM příkaz)
aws s3 sync /mnt/ebs/polymarket-data/collector s3://<bucket>/collector. - Na svém PC pak kdykoliv spustíte:
aws s3 sync s3://<bucket>/collector D:\Crypto\data\Polymarket\collector --region eu-west-1
(Pokud chcete tuto variantu, mohu vám privátní S3 bucket a oprávnění rovnou přidat do CloudFormation šablony data-collector-ec2.yaml a připravit lokální skript.)
Možnost 3: Okamžité stažení menšího objemu dat přímo přes aws ssm send-command (bez session-manager-plugin a bez S3)
Pokud si chcete hned teď stáhnout aktuální .jsonl.zst soubory bez instalace pluginu, tento PowerShell skript zabalí adresář /mnt/ebs/polymarket-data/collector na EC2 do .tar, přenese jej přes SSM a rozbalí na váš disk:
$targetDir = "D:\Crypto\data\Polymarket\collector-download"
New-Item -ItemType Directory -Force -Path $targetDir | Out-Null
$cmdId = aws ssm send-command `
--region eu-west-1 `
--instance-ids "i-08fe8a64d89f05ea9" `
--document-name "AWS-RunShellScript" `
--parameters 'commands=["tar -cf - -C /mnt/ebs/polymarket-data collector | base64 -w 0"]' `
--query "Command.CommandId" --output text
aws ssm wait command-executed --region eu-west-1 --command-id $cmdId --instance-id "i-08fe8a64d89f05ea9"
$b64 = aws ssm get-command-invocation --region eu-west-1 --command-id $cmdId --instance-id "i-08fe8a64d89f05ea9" --query "StandardOutputContent" --output text
$tarFile = Join-Path $targetDir "collector.tar"
[IO.File]::WriteAllBytes($tarFile, [Convert]::FromBase64String($b64.Trim()))
tar -xf $tarFile -C $targetDir
Remove-Item $tarFile(Poznámka: Možnost 3 funguje pouze do limitu výstupu SSM příkazu, tj. zhruba do ~18 KB po Base64 u standardního výstupu; pro reálné několikamegabajtové denní soubory použijte Možnost 1 (scp přes SSM) nebo Možnost 2 (aws s3 sync).)
- V PowerShellu spusťte SSM port-forwarding z lokálního portu
2222na port22na EC2:aws ssm start-session ` --region eu-west-1 ` --target i-08fe8a64d89f05ea9 ` --document-name AWS-StartPortForwardingSession ` --parameters '{\"portNumber\":[\"22\"],\"localPortNumber\":[\"2222\"]}'
- Ve WinSCP se pak připojte na:
-
Host name:
localhost -
Port number:
2222 -
User name:
ec2-user -
Private key file (Advanced → SSH → Authentication):
C:\Users\marti\.ssh\id_ed25519.ppk(převedený zid_ed25519)
-
Host name:
Spusť PowerShell jako správce
choco install zstandard
Extrakce
zstd -d .\BTCUSDT-aggTrades-2026-10-12.jsonl.zst -o .\BTCUSDT-aggTrades-2026-10-12.jsonl