> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metronome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MySQL Aurora

## Prérequis

* Si votre base de données MySQL est protégée par des groupes de sécurité ou d'autres paramètres de pare-feu, vous devrez disposer de l'adresse IP statique du service de synchronisation des données pour effectuer l'étape 1.

## Étape 1 : autoriser l'accès

Autorisez l'accès en écriture à une partie de votre base de données Aurora MySQL.

### Configurer le groupe de sécurité

1. Dans votre liste **Amazon RDS** > **Databases**, cliquez sur l'instance MySQL vers laquelle vous souhaitez envoyer les données.
2. Sur la page de la base de données, dans l'onglet **Connectivity & security**, notez l'**Endpoint** et le numéro de **Port**. Notez que vous devrez peut-être sélectionner la « **Writer instance** » dans la liste des identifiants DB pour faire apparaître l'endpoint.

![](https://storage.googleapis.com/prequel_docs/images/aws-mysql-endpoint-port.png "mysql endpoint port.png")

3. Pour vous assurer que la destination est accessible depuis l'extérieur de votre VPC, cliquez sur « **Modify** » en haut à droite et, dans la section « **Connectivity** », dans le menu déroulant **Additional configuration**, vérifiez que le paramètre **Publicly accessible** est défini sur **Yes**. Notez que l'accès reste limité aux IP autorisées à ce stade.

![](https://storage.googleapis.com/prequel_docs/images/aws-mysql-publicly-accessible.png "mysql publicly accessible.png")

4. De retour sur la page de la base de données, dans les détails de la « **Writer instance** », cliquez sur l'un des groupes de sécurité du VPC (généralement `default`). Remarque : les groupes VPC sont permissifs (vs. restrictifs) et pour les instances avec plusieurs groupes de sécurité VPC, un seul doit être configuré avec la nouvelle règle entrante.

![](https://storage.googleapis.com/prequel_docs/images/aws-mysql-default-security-group.png "vsg.png")

5. Dans la section **Security Groups**, sélectionnez l'onglet **Inbound rules**.
6. Cliquez sur **Edit inbound rules** puis cliquez sur **Add rule**.
7. Modifiez la règle nouvellement créée en lui attribuant le type **Custom TCP**, la **Port range** notée à la première étape (généralement `5432`) et une valeur **Source** `Custom` qui inclut toutes les IP du service. Remarque : vous devrez ajouter `/32` à la fin de chaque IP (notation CIDR).
8. Cliquez sur **Save rules**.

![](https://storage.googleapis.com/prequel_docs/images/postgres-add-rule.png "add rule.png")

### Configurer les ACL réseau (listes de contrôle d'accès)

Pour les instances de base de données dans un VPC

1. Dans votre tableau de bord RDS, sélectionnez l'instance MySQL.
2. Cliquez sur le lien vers le VPC de l'instance.
3. Cliquez sur le **VPC ID**.

![](https://storage.googleapis.com/prequel_docs/images/postgres-vpc-id.png "vpc id.png")

4. Dans la section **Details**, cliquez sur le lien sous **Main network ACL**.

![](https://storage.googleapis.com/prequel_docs/images/postgres-main-network-acl-id.png "network acl id.png")

5. Cliquez sur l'ID de la liste de contrôle d'accès réseau.

![](https://storage.googleapis.com/prequel_docs/images/postgres-network-acl-id.png "network acl id.png")

#### Modifier les règles entrantes

6. Cliquez sur l'onglet **Inbound rules**, et vérifiez s'il existe une règle existante avec une Source de `0.0.0.0/0` définie sur `Allow`. (Il s'agit d'une règle par défaut créée par AWS. Si cette règle existe déjà, passez à **Modifier les règles sortantes**.)

![](https://storage.googleapis.com/prequel_docs/images/postgres-inbound-rules.png "inbound rules.png")

7. Créez la règle entrante (si elle n'existe pas). Cliquez sur **Edit inbound rules** et soit **Add new rule** soit modifiez une règle existante pour autoriser l'accès au **numéro de port** de votre instance de base de données (généralement `5432`) depuis l'IP statique de Prequel. Cliquez sur **Save changes**.

#### Modifier les règles sortantes

8. Dans le menu ACL, sélectionnez l'onglet **Outbound rules**, et vérifiez s'il existe une règle existante avec une Destination de `0.0.0.0/0` définie sur `Allow`. (Il s'agit d'une règle par défaut créée par AWS. Si cette règle existe déjà, passez à l'étape suivante.)

![](https://storage.googleapis.com/prequel_docs/images/postgres-outbound-rules.png "outbound rules.png")

9. Créez la règle sortante (si elle n'existe pas). Cliquez sur **Edit outbound rules** et modifiez les règles pour autoriser le trafic sortant vers les ports 1024-65535 pour la **Destination** `0.0.0.0/0`.

## Étape 2 : créer un utilisateur en écriture

Créez un utilisateur de base de données qui se chargera de l'écriture des données source.

1. Ouvrez une connexion à votre base de données Aurora MySQL.
2. Créez un utilisateur pour le transfert de données en exécutant la commande SQL suivante.

```sql theme={null}
CREATE USER <username>@'%' IDENTIFIED BY '<some-password>';
```

3. Accordez à l'utilisateur les privilèges requis sur la base de données.

```sql theme={null}
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW ON *.* TO <username>@'%';
```

> 🚧 Si le `schema/database` existe déjà :
>
> Par défaut, le service crée un nouveau schéma (*dans MySQL, `schema` est synonyme de `database`*). Si vous préférez créer le schéma vous-même avant de connecter la destination, vous devez vous assurer que l'utilisateur en écriture dispose des autorisations adéquates sur le schéma, en utilisant `GRANT ALL PRIVILEGES ON <database_name>.* TO <username>@'%';`

## Étape 3 : ajouter votre destination

Partagez de manière sécurisée votre **nom d'hôte**, le **nom de la base de données**, le **port**, le **nom du schéma** choisi, le **nom d'utilisateur** et le **mot de passe** avec nous pour finaliser la connexion.
