71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
# GenAI project infratructure with Pulumi
|
|
|
|
Nesta documentação apresentamos o setup da IaC do projeto de GenAI.
|
|
|
|
|
|
## 🚀 Deploying Infrastructure to AWS
|
|
|
|
Para deployar a infraestrutura referente o projeto de GenAI, é utilizado uma stack IaC Pulumi.
|
|
|
|
Para isso, o desenvolvedor deve seguir os passos:
|
|
|
|
1. Dentro do diretório raiz do projeto, crie um ambiente virtual pelos comandos:
|
|
```shell
|
|
# pip install virtualenv
|
|
python3.11 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
2. (opcional) Configure o seu Pulumi Token:
|
|
```shell
|
|
export PULUMI_ACCESS_TOKEN="your-access-token"
|
|
```
|
|
|
|
3. Pulumi Login:
|
|
```shell
|
|
pulumi login
|
|
```
|
|
|
|
4. (opcional) Select a stack to work on:
|
|
```shell
|
|
pulumi stack select
|
|
```
|
|
|
|
5. Suba a stack do pulumi:
|
|
```shell
|
|
pulumi up #selecione o stack se não tiver selecionado
|
|
```
|
|
|
|
Após estes passo, os serviços e dependências do projeto serão criados/atualizados, gerando a fundação para a aplicação.
|
|
|
|
#### Observação 1:
|
|
|
|
Lembre-se de configurar o usuário IAM registrado como profile no aws-cli, para detectar a conta AWS a ser utilizada:
|
|
|
|
```shell
|
|
export AWS_PROFILE=myorg-nonprod
|
|
```
|
|
Se não tiver configurado o profile o aws-cli, exporte as seguintes variáveis:
|
|
|
|
```shell
|
|
export AWS_DEFAULT_REGION=
|
|
export AWS_ACCESS_KEY_ID=
|
|
export AWS_SECRET_ACCESS_KEY=
|
|
```
|
|
|
|
#### Observação 2: Registro de imagem Docker no ECR
|
|
|
|
Para que a infraestrutura projetada anteriormente consiga referenciar as imagens de cada projeto, é necessário indicar o nome do repositório no argumento `ecr_repo_name` no arquivo YAML.
|
|
|
|
Como a versão da imagem a ser deployada, indique ou `ecr_image_tag` ou `ecr_image_digest`, sem indicar ambos.
|
|
|
|
Para registrar corretamente a imagem Docker da sua aplicação no ECR, siga os passos descritos na seguinte documentação:
|
|
|
|
- https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html
|
|
|
|
Para incluir variáveis de ambiente no container, informe-as como dicionário (chave-valor) em `env_variables`.
|
|
|
|
## 🤝 Agradecimentos
|
|
|
|
* Agradecemos por toda a parceria durante o projeto. Conte conosco! 📢 |