O Object Storage Service (OSS) oferece uma forma econômica de persistir e compartilhar dados entre instâncias de aplicação, com ferramentas intuitivas e um console para gerenciamento visual de buckets. O OSS é ideal para cenários com muitas leituras, como a montagem de arquivos de configuração ou a entrega de arquivos estáticos de frontend.
Pré-requisitos
Pontos de entrada
O procedimento varia conforme o cenário.
Criar uma aplicação
Faça login no console do SAE. No painel de navegação à esquerda, escolha Applications > Applications. Selecione a região e o namespace desejados e clique em Create Application.
Na página do assistente Basic Information, configure as definições necessárias e clique em Next: Advanced Settings.
Modificar uma aplicação em execução
A reimplantação de uma aplicação reinicia o serviço. Para evitar erros imprevisíveis, como interrupções nos negócios, implante aplicações fora dos horários de pico.
Faça login no console do SAE. No painel de navegação à esquerda, escolha Applications > Application List. Selecione a região e o namespace desejados e clique no nome da aplicação alvo.
Na página Basic Information da aplicação alvo, clique em Deploy Application.
Modificar uma aplicação parada
Faça login no console do SAE. No painel de navegação à esquerda, escolha Applications > Application List. Selecione a região e o namespace desejados e clique no nome da aplicação alvo.
Na página Basic Information da aplicação alvo, clique em Modify Application Configurations.
Procedimento
Expanda a seção Configure Persistent Storage e ative Enable OSS.
Montar armazenamento OSS
-
Insira o AccessKey ID e o AccessKey Secret.
Como prática recomendada de segurança, utilize o par de AccessKey de um usuário RAM. Por exemplo, a política mínima abaixo concede acesso somente leitura ao diretório oss-test/ no bucket test-sae para um usuário RAM.
{ "Statement": [ { "Action": "oss:GetBucket", "Effect": "Allow", "Resource": "acs:oss:*:*:test-sae" }, { "Action": "oss:GetObject", "Effect": "Allow", "Resource": "acs:oss:*:*:/" } ], "Version": "1" } -
Configure as definições de montagem do OSS. Para adicionar várias entradas, clique em Add.
Parâmetro
Descrição
Exemplo
Bucket
Um bucket OSS existente.
bucketname
Mount Directory
Um diretório ou objeto OSS existente. Se o diretório de montagem especificado não existir, ocorrerá um erro.
Exemplos:
-
/
NotaMonta a raiz do bucket.
-
tmp/oss-test/
-
tmp/oss-demo.log
Container Path
O caminho no contêiner do SAE. Se o caminho já existir, seu conteúdo será sobrescrito. Caso contrário, ele será criado.
/home/admin/app/php/
Permission
A permissão de acesso ao recurso montado. Valores válidos:
-
read-only
-
read/write
read-only
-
Desmontar armazenamento OSS
Desmonte o armazenamento OSS quando ele não for mais necessário. A desmontagem não exclui os dados armazenados no OSS.
Para remover uma configuração OSS, localize a entrada desejada e clique no ícone
na coluna Actions.
Verificação
-
Verifique os detalhes da implantação.
Uma implantação bem-sucedida, sem exceções nas instâncias, indica que a montagem foi concluída corretamente.
-
Valide a partir do interior do contêiner.
Log on to Webshell e execute o comando abaixo para confirmar as informações de montagem do OSS.
cat /proc/mounts | grep ossfsUma montagem bem-sucedida retorna uma saída semelhante à seguinte:
# cat /proc/mounts | grep ossfs ossfs /xxx fuse.ossfs ro,relatime,user_id=0,group_id=0,allow_other 0 0 -
Confirme no nível da aplicação.
Log on to Webshell e realize operações no caminho do sistema de arquivos OSS montado. Se o console do OSS refletir as alterações, a montagem está correta.
Perguntas frequentes
Posso usar o OSS para armazenar logs?
Utilize o Simple Log Service (SLS) ou o ApsaraMQ for Kafka para armazenamento persistente de logs.
Não use o OSS para armazenamento persistente de logs. O OSS foi projetado para processamento de arquivos em grande escala, como imagens, áudio e vídeo, e para separação de recursos estáticos e dinâmicos em aplicações web.
Solução de problemas
Caso enfrente falhas de montagem, caminhos ausentes ou erros de permissão, siga estas etapas para solucionar o problema.
-
Verifique se o bucket OSS configurado existe.
Ao implantar a aplicação pelo console, selecione apenas buckets OSS existentes na mesma conta e região.
Se a implantação for feita por outros métodos, como API, SDK, ferramenta saectl ou plug-in do Jenkins, faça login no console do OSS e confirme se o nome do bucket OSS especificado existe na mesma conta e região.
-
Verifique as permissões do usuário RAM associado ao AccessKey ID e AccessKey Secret.
Identifique o usuário RAM vinculado ao AccessKey ID e AccessKey Secret.
Confirme se o usuário RAM possui as required permissions sobre o bucket OSS configurado.
-
Verifique a Bucket Policy.
Faça login no console do OSS. Na página de detalhes do bucket alvo, escolha no painel de navegação à esquerda.
-
Verifique se a Bucket Policy bloqueia o acesso proveniente do SAE. Garanta que os endereços IP públicos do SAE para sua região estejam adicionados à lista de permissões, conforme a tabela a seguir.
NotaPara obter os endereços IP públicos específicos do SAE, entre em contato com o suporte técnico no grupo do DingTalk (ID: 32874633).
Região
Endereço IP
cn-hangzhou
47,99.xx.xx
cn-shanghai
47,101.xx.xx
cn-beijing
47,94.xx.xx
cn-zhangjiakou
121,89.xx.xx
cn-wulanchabu
8,130.xx.xx
cn-shenzhen
39,108.xx.xx
cn-heyuan
47,121.xx.xx
cn-guangzhou
8,134.xx.xx
cn-chengdu
47,108.xx.xx
cn-hongkong
47,243.xx.xx
8,210.xx.xx
ap-southeast-1
8,219.xx.xx
eu-central-1
8,211.xx.xx
us-west-1
47,89.xx.xx
us-east-1
47,252.xx.xx