Integração

Seu armazenamento · WordPress + WooCommerce

WooCommerce AWS S3

O plugin Alter Product inclui um módulo de armazenamento AWS S3 pronto para uso. Mantenha os grupos de arquivos compatíveis do plugin no seu próprio bucket privado, conecte-o no WordPress e migre os arquivos existentes com as ferramentas do plugin.

O Alter Product não cobra uma taxa adicional de capacidade para ampliar esse armazenamento conectado. A AWS cobra na sua conta pelo armazenamento, pelas solicitações e pela transferência. Sua hospedagem WordPress e as regras habituais do plano e das sessões embed continuam válidas.

As instruções seguem o guia de configuração do plugin. Os rótulos do console AWS permanecem em inglês.

Instale primeiro o plugin WordPress + WooCommerceConecte o Alter Product à loja antes de configurar esse armazenamento opcional.

Armazenamento, entrega e custos

O S3 armazena os objetos de arquivo do plugin. O WordPress continua responsável pela entrega autorizada ao navegador.

Um armazenamento privado para o plugin

O navegador não baixa diretamente do S3. O WordPress busca e verifica os arquivos do bucket privado e depois os fornece pelos próprios endpoints. Deixe o S3 CORS vazio e Block Public Access ativado; não se trata de um bucket público nem de uma conexão direta com uma CDN.

O módulo abrange os grupos de arquivos Alter Product compatíveis. Conectar um bucket não move todos os arquivos do WordPress nem altera os limites das ferramentas incorporadas.

O navegador solicita arquivos pelo WordPress; o WordPress se conecta a um bucket AWS S3 privado.
Os arquivos são entregues pelo WordPress. O bucket S3 privado não é exposto diretamente ao navegador.

Pagar à AWS pelos recursos utilizados

O Alter Product não cobra um valor extra para aumentar a capacidade do bucket conectado. As cobranças da AWS dependem do uso, da região e da classe de armazenamento; consulte os preços atuais do S3 em vez de presumir uma tarifa fixa.

Como o WordPress fornece os arquivos, o tráfego também pode contar para a largura de banda da sua hospedagem. O S3 não garante transferência de hospedagem nula nem capacidade de transferência ilimitada do servidor.

Criar um bucket com as configurações compatíveis

Os nomes dos campos abaixo correspondem ao console AWS em inglês e ao guia de configuração integrado ao plugin.

Criar um bucket de uso geral

Entre na AWS, abra o Amazon S3 e selecione General purpose buckets → Create bucket. Escolha uma região e um nome com letras minúsculas, números e hífens, sem pontos. Copie o nome completo do bucket, incluindo qualquer sufixo adicionado pela AWS.

  1. Aplique as configurações da tabela e escolha Create bucket.
  2. Guarde o nome completo do bucket, a região e o ID de 12 dígitos da conta AWS do proprietário.
  3. Deixe Cross-origin resource sharing (CORS) vazio. As solicitações ao S3 vêm do servidor WordPress.
Configurações usadas pelo guia S3 do plugin
Campo da AWSConfiguração
Bucket typeGeneral purpose
Bucket namespaceAccount Regional namespace (recomendado)
Object OwnershipACLs disabled / Bucket owner enforced
Block Public AccessBlock all public access (todas as quatro configurações)
Bucket VersioningEnable
Default encryptionServer-side encryption with Amazon S3 managed keys (SSE-S3 / AES256)
Bucket KeyDisable
Advanced settings → Object LockDisable

Exigir HTTPS

Adicione uma regra de transporte sem tornar o bucket público nem conceder acesso aos objetos.

Adicionar a política do bucket

Abra Permissions → Bucket policy → Edit. Substitua os dois valores EXAMPLE-BUCKET pelo nome completo do bucket. Se já existir uma política, preserve suas declarações e adicione esta regra depois de revisar o documento inteiro.

  1. Verifique as mensagens do editor e escolha Save changes.
  2. Confirme que a regra foi salva. Mantenha Block all public access ativado.
JSON da política do bucket
{
  "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"
        }
      }
    }
  ]
}

Criar acesso IAM restrito

Use uma política dedicada a esse bucket e prefixo, em vez de AdministratorAccess ou AmazonS3FullAccess.

Criar a política do plugin

Em IAM → Policies → Create policy → JSON, cole o documento a seguir. Substitua cada EXAMPLE-BUCKET pelo nome completo do bucket. O prefixo alter-product deve corresponder a Folder prefix no WordPress; altere-o em cada Resource de objeto se escolher outro prefixo.

  1. Valide a política, escolha Next e dê um nome a ela, como AlterProductS3Storage.
  2. Escolha Create policy e guarde o nome para configurar o usuário.
JSON da política IAM
{
  "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/*"
    }
  ]
}

Criar um usuário dedicado e uma chave de acesso

Escolha IAM → Users → Create user. Deixe Provide user access to the AWS Management Console desmarcado.

  1. Escolha Next → Attach policies directly e anexe apenas a política acima. Conclua Create user.
  2. Abra Security credentials → Access keys → Create access key desse usuário. Para esta configuração manual do plugin, escolha Other → Next e depois Create access key.
  3. Salve Access key ID e Secret access key em um gerenciador de senhas. O segredo é exibido apenas uma vez. Insira-os diretamente no WordPress por HTTPS, não em mensagens ou capturas de tela.

Salvar e testar a conexão do WordPress

Abra Alter Product → Settings → Storage no painel HTTPS da loja. Escolha AWS S3 e + / Add connection.

Inserir os detalhes da conexão

Selecione New connection. As mesmas instruções integradas estão disponíveis em AWS S3 setup guide.

  1. Escolha Save connection e aguarde a confirmação.
  2. Escolha Test connection. Salve as alterações antes de testar novamente.
  3. Verifique o resultado na caixa de diálogo e na coluna Last connection test. Os campos de chave vazios após salvar são intencionais.
Campos de conexão do WordPress
CampoValor
Bucket nameNome completo do bucket, não um ARN, uma URL s3:// ou um endereço HTTPS; sem pontos.
Folder prefixalter-product, correspondente à política IAM. Use letras, números, hífens, sublinhados e pastas separadas; sem barra no início ou no fim.
Bucket owner AWS account IDID de 12 dígitos da conta do proprietário, sem espaços.
AWS regionA região real do bucket. O formulário usa eu-central-1 como padrão.
AWS access key ID / AWS secret access keyO par de chaves salvo do usuário IAM dedicado.
Use temporary AWS credentialsDeixe desmarcado para a chave de longa duração desse usuário IAM. Ative somente para credenciais temporárias e forneça o AWS session token.

Se o teste de conexão falhar

Verifique o nome, proprietário e região do bucket, as configurações exigidas e o prefixo exato no WordPress e no IAM. Mantenha CORS vazio; não desative a proteção contra acesso público.

O bucket, prefixo, proprietário e região salvos identificam a conexão. Para outro destino, selecione New connection. Edit → Reconnect substitui as credenciais mantendo as mesmas referências de arquivos salvas.

Envie ao suporte o resultado do teste, sem chaves de acesso. É necessário um teste bem-sucedido antes de escolher esse S3 como padrão.

Escolher o padrão e migrar arquivos existentes

Definir o destino padrão e migrar são ações separadas.

Usar S3 para novos grupos

Escolha Make default na linha da conexão salva. O plugin testa a conexão e muda o padrão somente após o sucesso. Isso se aplica aos novos grupos de arquivos; os existentes e suas revisões posteriores mantêm o destino registrado até serem migrados.

Mover grupos existentes compatíveis

Faça backup conjunto do banco de dados, dos salts do WordPress e dos arquivos antes da primeira migração. Comece em um ambiente de teste ou com um grupo pequeno. Abra Migrate na linha S3 de destino; abrir o painel não copia arquivos.

Auto migration abrange os grupos compatíveis fora do destino escolhido. Ela não garante a migração de arquivos WordPress sem relação com o plugin.

  1. Escolha Start migration. O plugin testa o S3, prepara cada grupo, copia, verifica e troca suas referências.
  2. Mantenha a página aberta. Pause interrompe após o grupo atual; Resume migration continua o progresso salvo. Se fechar a página, abra-a novamente para retomar o envio das tarefas.
  3. Se um grupo falhar, examine a mensagem e Advanced, corrija a causa e retome. Não repita às cegas uma operação cujo resultado de envio é desconhecido.
  4. Após Migration completed, teste a leitura normal dos recursos, a edição, as prévias e o acesso aos arquivos de pedidos. Grupos criados durante a varredura podem precisar de outra passagem.

Remover uma linha não apaga os arquivos armazenados

Troque primeiro o destino padrão, se necessário. Remove retira a conexão da lista, mas os arquivos existentes e suas credenciais salvas continuam disponíveis. Não é um comando de limpeza de objetos AWS.

Compartilhar armazenamento entre nós WordPress

Um destino S3 compartilhado pode reduzir a dependência do disco de um único nó. Um balanceador de carga ainda precisa de uma instalação WordPress compartilhada corretamente.

Requisitos para vários nós

Para uma instalação WordPress atrás de um balanceador de carga, forneça todos estes itens juntos:

  • Um ponto consistente de gravação SQL e um estado compartilhado do banco de dados do plugin.
  • Um diretório uploads compartilhado para arquivos ainda locais e fontes de migração preservadas.
  • Os mesmos salts originais do WordPress em todos os nós, para que as credenciais salvas e os arquivos criptografados continuem legíveis.
  • Um diretório temporário privado por nó para as transferências.
  • Uma configuração consistente do plugin e acesso ao mesmo bucket S3 privado e às mesmas versões dos objetos.
  • Use wpdb padrão com mysqli nativo e tabelas InnoDB. Drop-ins de roteamento de banco de dados, como HyperDB, não são compatíveis; o balanceamento de carga aqui ocorre na camada HTTP.

Manter a recuperação e a rotação de chaves funcionando

Preserve juntos o banco de dados, os salts e as versões de arquivos referenciadas.

Fazer backup, reconectar e verificar

Use Edit → Reconnect para substituir as credenciais da mesma conexão salva. Teste a leitura dos arquivos atuais e históricos antes de desativar a chave antiga, incluindo outras conexões salvas que ainda possam usá-la.

Mantenha o versionamento do S3 ativado e preserve as versões referenciadas pelo plugin. Não aplique uma limpeza de ciclo de vida que exclua versões históricas necessárias. Teste a restauração conjunta do banco de dados, dos salts e dos arquivos armazenados.

As credenciais temporárias expiram e exigem um novo token válido e chaves; o plugin não as renova automaticamente. Monitore o uso da AWS e a transferência da hospedagem conforme a loja cresce.