Vaše vlastní úložiště · WordPress + WooCommerce
WooCommerce AWS S3
Plugin Alter Product obsahuje hotový modul úložiště AWS S3. Ukládejte podporované skupiny souborů pluginu do vlastního soukromého bucketu, připojte jej ve WordPressu a přeneste stávající soubory pomocí nástrojů pluginu.
Alter Product neúčtuje další poplatek za rozšíření kapacity tohoto připojeného úložiště. AWS účtuje vašemu účtu úložiště, požadavky a přenos dat. Nadále platí náklady na hosting WordPressu i běžná pravidla tarifu a relací vloženého nástroje.
Pokyny odpovídají průvodci nastavením v pluginu. Názvy prvků v konzoli AWS zůstávají v angličtině.
Ukládání, doručování a náklady
S3 ukládá souborové objekty pluginu. WordPress nadále zajišťuje doručování do prohlížeče s ověřením oprávnění.
Soukromé úložiště pro plugin
Prohlížeč nestahuje soubory přímo z S3. WordPress soubory ze soukromého bucketu načte a ověří a poté je doručí prostřednictvím vlastních koncových bodů. Nastavení S3 CORS ponechte prázdné a Block Public Access zapnuté; nejde o veřejný bucket ani o přímé připojení k CDN.
Modul se vztahuje na podporované skupiny souborů Alter Product. Připojení bucketu nepřesune všechny soubory ve WordPressu ani nezmění limity vložených nástrojů.

Plaťte AWS za prostředky, které využíváte
Alter Product neúčtuje žádný další poplatek za navýšení kapacity úložiště v připojeném bucketu. Ceny AWS závisí na využití, regionu a třídě úložiště; místo předpokladu pevné sazby si ověřte aktuální ceník S3.
Protože soubory doručuje WordPress, může se provoz započítávat také do přenosu dat vašeho hostingu. S3 neznamená nulový přenos přes hosting ani neomezenou propustnost serveru.
Vytvoření bucketu s podporovaným nastavením
Níže uvedené názvy polí odpovídají anglické konzoli AWS a průvodci nastavením v pluginu.
Vytvořte bucket pro obecné použití
Přihlaste se do AWS, otevřete Amazon S3 a vyberte General purpose buckets → Create bucket. Zvolte region a název tvořený malými písmeny, číslicemi a spojovníky, bez teček. Zkopírujte celý název bucketu včetně případné přípony přidané AWS.
- Použijte nastavení z tabulky a zvolte Create bucket.
- Uložte si celý název bucketu, region a 12místné ID účtu AWS jeho vlastníka.
- Cross-origin resource sharing (CORS) ponechte prázdné. Požadavky na S3 přicházejí ze serveru WordPressu.
| Pole v AWS | Nastavení |
|---|---|
| Bucket type | General purpose |
| Bucket namespace | Account Regional namespace (doporučeno) |
| Object Ownership | ACLs disabled / Bucket owner enforced |
| Block Public Access | Block all public access (všechna čtyři nastavení) |
| Bucket Versioning | Enable |
| Default encryption | Server-side encryption with Amazon S3 managed keys (SSE-S3 / AES256) |
| Bucket Key | Disable |
| Advanced settings → Object Lock | Disable |
Vyžadování HTTPS
Přidejte pravidlo pro přenos, aniž byste bucket zveřejnili nebo udělili přístup k objektům.
Přidejte zásadu bucketu
Otevřete Permissions → Bucket policy → Edit. Obě hodnoty EXAMPLE-BUCKET nahraďte celým názvem svého bucketu. Pokud již zásada existuje, zachovejte její ustanovení a toto pravidlo přidejte až po kontrole celého dokumentu.
- Zkontrolujte zprávy v editoru a zvolte Save changes.
- Ověřte, že se pravidlo uložilo. Block all public access ponechte zapnuté.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyInsecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET",
"arn:aws:s3:::EXAMPLE-BUCKET/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false",
"aws:PrincipalIsAWSService": "false"
}
}
}
]
}Vytvoření omezeného přístupu IAM
Místo AdministratorAccess nebo AmazonS3FullAccess použijte samostatnou zásadu pro tento bucket a prefix.
Vytvořte zásadu pro plugin
Do IAM → Policies → Create policy → JSON vložte následující dokument. Každý výskyt EXAMPLE-BUCKET nahraďte celým názvem bucketu. Prefix alter-product musí odpovídat poli Folder prefix ve WordPressu; pokud zvolíte jiný prefix, změňte jej v každé hodnotě Resource pro objekty.
- Ověřte platnost zásady, zvolte Next a pojmenujte ji například AlterProductS3Storage.
- Zvolte Create policy a název si uložte pro nastavení uživatele.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadRequiredBucketControls",
"Effect": "Allow",
"Action": [
"s3:GetBucketVersioning",
"s3:GetBucketOwnershipControls",
"s3:GetBucketPublicAccessBlock",
"s3:GetEncryptionConfiguration"
],
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET"
},
{
"Sid": "WriteAndReadVersionedPluginObjects",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*",
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
]
},
{
"Sid": "RecoverJournalOwnedObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*"
},
{
"Sid": "DeleteOnlyConnectionTestVersions",
"Effect": "Allow",
"Action": "s3:DeleteObjectVersion",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
}
]
}Vytvořte samostatného uživatele a přístupový klíč
Zvolte IAM → Users → Create user. Pole Provide user access to the AWS Management Console ponechte nezaškrtnuté.
- Zvolte Next → Attach policies directly a přiřaďte pouze výše uvedenou zásadu. Dokončete Create user.
- U tohoto uživatele otevřete Security credentials → Access keys → Create access key. Pro toto ruční nastavení pluginu zvolte Other → Next a poté Create access key.
- Access key ID a Secret access key uložte do správce hesel. Tajný klíč se zobrazí pouze jednou. Zadejte je přímo do WordPressu přes HTTPS, nikoli do zpráv nebo snímků obrazovky.
Uložení a otestování připojení ve WordPressu
V administraci obchodu přístupné přes HTTPS otevřete Alter Product → Settings → Storage. Zvolte AWS S3 a + / Add connection.
Zadejte údaje připojení
Vyberte New connection. Stejné vestavěné pokyny jsou dostupné pod AWS S3 setup guide.
- Zvolte Save connection a počkejte na potvrzení.
- Zvolte Test connection. Před dalším testem uložte všechny úpravy.
- Zkontrolujte výsledek v dialogu a ve sloupci Last connection test. Prázdná pole klíčů po uložení jsou záměrná.
| Pole | Hodnota |
|---|---|
| Bucket name | Celý název bucketu, nikoli ARN, adresa s3:// nebo adresa HTTPS; bez teček. |
| Folder prefix | alter-product, shodně se zásadou IAM. Použijte písmena, číslice, spojovníky, podtržítka a oddělené složky; bez lomítka na začátku nebo na konci. |
| Bucket owner AWS account ID | 12místné ID účtu vlastníka, bez mezer. |
| AWS region | Skutečný region bucketu. Výchozí hodnota formuláře je eu-central-1. |
| AWS access key ID / AWS secret access key | Uložený pár klíčů samostatného uživatele IAM. |
| Use temporary AWS credentials | Pro dlouhodobý klíč tohoto uživatele IAM ponechte nezaškrtnuté. Zapněte pouze pro dočasné přihlašovací údaje a vyplňte AWS session token. |
Pokud test připojení selže
Ověřte název bucketu, vlastníka, region, požadovaná nastavení bucketu a přesný prefix ve WordPressu i IAM. CORS ponechte prázdné; nevypínejte ochranu před veřejným přístupem.
Uložený bucket, prefix, vlastník a region určují připojení. Pro jiný cíl vyberte New connection. Edit → Reconnect slouží k výměně přihlašovacích údajů při zachování stejných uložených odkazů na soubory.
Podpoře předejte výsledek testu bez přístupových klíčů. Než tuto S3 zvolíte jako výchozí, musí test připojení úspěšně proběhnout.
Volba výchozího úložiště a migrace stávajících souborů
Nastavení výchozího cíle a migrace jsou samostatné akce.
Použijte S3 pro nové skupiny
Na řádku uloženého připojení zvolte Make default. Plugin otestuje připojení a výchozí nastavení změní pouze po úspěšném testu. Týká se to nových skupin souborů; stávající skupiny a pozdější revize si až do migrace zachovají zaznamenaný cíl.
Přesuňte podporované stávající skupiny
Před první migrací společně zálohujte databázi, soli WordPressu a soubory. Začněte v testovacím prostředí nebo s malou skupinou. Na řádku cílové S3 otevřete Migrate; samotné otevření panelu soubory nekopíruje.
Automatická migrace zahrnuje podporované skupiny mimo zvolený cíl. Nezaručuje migraci nesouvisejících souborů WordPressu.
- Zvolte Start migration. Plugin otestuje S3, připraví každou skupinu, zkopíruje ji, ověří ji a přepne její odkazy.
- Ponechte stránku otevřenou. Pause zastaví práci po aktuální skupině; Resume migration pokračuje od uloženého postupu. Pokud stránku zavřete, znovu ji otevřete, aby pokračovalo zadávání práce.
- Pokud skupina selže, prohlédněte si zprávu a Advanced, odstraňte příčinu a pokračujte. Neopakujte naslepo operaci, jejíž výsledek nahrávání není známý.
- Po Migration completed otestujte běžné čtení a úpravy souborů, náhledy a přístup k souborům objednávek. Nové skupiny vytvořené během prohledávání mohou vyžadovat další průchod.
Odstranění řádku nesmaže uložené soubory
V případě potřeby nejprve změňte výchozí úložiště. Remove odebere připojení ze seznamu, ale stávající soubory a jejich uložené přihlašovací údaje zůstanou dostupné. Nejde o příkaz k promazání objektů AWS.
Sdílení úložiště mezi uzly WordPressu
Sdílený cíl S3 může snížit závislost na disku se soubory jednoho uzlu. Nástroj pro vyvažování zátěže však nadále vyžaduje správně sdílenou instalaci WordPressu.
Požadavky pro více uzlů
Pro jednu instalaci WordPressu za nástrojem pro vyvažování zátěže zajistěte současně všechny následující podmínky:
- Jediný konzistentní uzel pro zápis do SQL a sdílený stav databáze pluginu.
- Sdílený adresář uploads pro soubory, které jsou stále uloženy lokálně, a uchované zdroje migrace.
- Stejné původní soli WordPressu na každém uzlu, aby zůstaly uložené přihlašovací údaje a šifrované soubory čitelné.
- Soukromý dočasný adresář na každém uzlu pro přenosy.
- Jednotná konfigurace pluginu a přístup ke stejnému soukromému bucketu S3 a verzím objektů.
- Používejte standardní wpdb s nativním mysqli a tabulkami InnoDB. Moduly drop-in pro směrování databáze, například HyperDB, nejsou podporovány; vyvažování zátěže zde probíhá na úrovni HTTP.
Zachování funkční obnovy a obměny klíčů
Databázi, soli a odkazované verze souborů uchovávejte společně.
Zálohujte, znovu připojujte a ověřujte
Pomocí Edit → Reconnect vyměňte přihlašovací údaje pro stejné uložené připojení. Před vyřazením starého klíče otestujte čtení aktuálních i historických souborů, včetně ostatních uložených připojení, která jej mohou stále používat.
Verzování S3 ponechte zapnuté a uchovávejte verze, na které plugin odkazuje. Nepoužívejte pravidla životního cyklu, která mažou potřebné historické verze. Otestujte společnou obnovu databáze, solí a uložených souborů.
Dočasné přihlašovací údaje vyprší a vyžadují nový platný token a klíče; plugin je automaticky neobnovuje. S růstem obchodu sledujte využití AWS a přenosy na hostingu.