Tipos de AWS RDS
Amazon tiene diferentes tipos de instancias de DB o instancias de base de datos para ejecutar RDS. Como se mencionó anteriormente, la base de datos RDS que se ejecuta en estas instancias de DB está respaldada por motores de base de datos, como PostgreSQL, MySQL y MariadB. Uno puede usar la consola de administración de AWS, una versión API de Amazon RDS o la versión AWS CLI para crear una instancia de RDS. Usaremos el enfoque de línea de comandos para crear una instancia de RDS.
¿Qué exploraremos aquí??
En esta guía le mostraremos cómo crear una instancia MySQL RDS DB usando AWS CLI. Usaremos una cuenta de usuario de IAM con privilegios limitados. Avanzemos ahora con el usuario de AWS IAM.
Creando un usuario de IAM
Los proveedores de servicios en la nube generalmente ofrecen una función de gestión de IAM o identidad y acceso para brindar a una cuenta raíz de usuario de seguridad adicional. En un entorno de trabajo, dar acceso a cada usuario a una cuenta raíz o administrar servicios directamente desde la cuenta raíz lo hace vulnerable a las amenazas de seguridad. En su lugar, podemos crear usuarios con permisos específicos para evitar problemas de escalada de privilegios. Esto es similar a la creación de usuarios en Linux con acceso limitado a archivos del sistema y otros recursos. Entonces, en este laboratorio práctico, crearemos un usuario de IAM con derechos de acceso mínimos requeridos para realizar solo las operaciones de creación de bases de datos RDS.
Nota: Este usuario de IAM no podrá realizar las siguientes operaciones debido a la política de menor privilegio:
Para crear el usuario de IAM anterior, siga las instrucciones a continuación:
Paso 1. Vaya a la consola AWS IAM y haga clic en el botón "Agregar usuarios":
Paso 2. Dé un nombre adecuado a su usuario y asigne una contraseña. Dado que estamos interactuando con el usuario que usa AWS CLI, hemos marcado la casilla de marca "Clave de acceso". Además, también hemos dado acceso a la consola de gestión a este usuario:
Paso 3. También podemos agregar este usuario a un grupo, pero nos hemos omitido esto. Ahora, haga clic en "Siguiente: etiquetas" para continuar:
Etapa 4. (Opcional) Podemos agregar etiquetas (par de valores clave) para organizar a nuestros usuarios:
Paso 5. En la siguiente pantalla, revise la configuración de su usuario:
Paso 6. Cuando haga clic en el botón "Crear usuario", se le pedirá que descargue sus teclas de acceso. Mantenga estas llaves en secreto y póngalas en un lugar seguro, ya que están disponibles para descargar solo una vez. Su usuario ahora estará disponible en la sección de usuarios de IAM:
Paso 7. Ahora, agregaremos una política en línea para que este usuario realice la operación de la base de datos especificada anteriormente. En la sección de usuarios de IAM, haga clic en su nombre de usuario. Haga clic en la etiqueta "Agregar política en línea" en la pestaña "Permisos" en la nueva pantalla:
Aparecerá un nuevo asistente llamado "Crear política" donde debe seleccionar la pestaña JSON y pegar el siguiente código allí:
"Versión": "2012-10-17",
"Declaración": [
"Sid": "VisualEditor0",
"Efecto": "Permitir",
"Acción": [
"EC2: DescribeVpCattribute",
"EC2: DescribeSecurity Groups",
"EC2: Describainternetgateways",
"EC2: DescribeAvailabilityZones",
"EC2: DescribeVPCS",
"EC2: DescribeAcCountAttributes",
"EC2: DescribeSubnets",
"RDS: Describe*",
"RDS: ListTagSForResource",
"RDS: creado Binstance",
"RDS: CreateBSubnetGroup"
],
"Recurso": "*"
]
Nota: Puede modificar esta política para permitir al usuario realizar otras operaciones basadas en RDS.
Paso 8. Ahora, haga clic en el botón "Revisión de la Política" en la parte inferior:
Paso 9. Dé un nombre adecuado a su política y haga clic en el botón "Crear política":
La política en línea anterior ahora se puede ver en la consola de usuario IAM anterior:
Comenzando con AWS CLI
Ahora que hemos creado un usuario de IAM, podemos continuar con el AWS CLI. La interfaz AWS CLI se puede instalar en su computadora local. Hemos instalado AWS CLI en nuestro Ubuntu 20.04 máquina. Ahora nos conectaremos a nuestra cuenta AWS IAM utilizando las credenciales del usuario que descargamos anteriormente al crear el usuario. El archivo de credenciales, nombrado como "new_user_credentials.CSV ", contiene la" ID de clave de acceso "," clave de acceso secreto "," enlace de inicio de sesión de consola "como se muestra a continuación:
Ahora, configuraremos nuestro terminal de máquina local para usarlo con AWS. Abra una nueva terminal y tipo:
$ AWS Configurar
Solicitará la ID de clave de acceso, la clave de acceso secreto, el nombre de su región preferida y el formato de salida (JSON, YAML, texto o tabla). Ingrese sus credenciales y preferencias aquí. En la imagen a continuación, puede ver qué valores hemos seleccionado para estos parámetros:
Ese es el proceso para configurar AWS CLI para nuestro usuario de IAM.
Puede ver en la siguiente captura de pantalla de la consola de administración del usuario de IAM que hasta ahora no hemos creado ninguna instancia de base de datos:
De acuerdo, antes de intentar crear una nueva instancia de RDS DB, necesitamos conocer nuestros requisitos. Por ejemplo, qué motor de base de datos usar, cuál debería ser la CPU, la capacidad de almacenamiento y el tamaño de la memoria, que se plantan usar, y así sucesivamente. Todas estas características mencionadas se obtienen con sus comandos específicos. El documento AWS tiene una lista completa de parámetros que puede usar. Para esta guía, utilizaremos los siguientes parámetros:
-DB-Instance-Identificador: Especifique el nombre que se utilizará para la instancia de DB.
-DB-Instance-Class: especifique la configuración de la instancia de DB en términos de memoria. Número de VCPU, capacidad de E/S, etc.
-Motor: especifique el motor de la base de datos para usar con la instancia de DB.
-Master-UserName: especifique el nombre del usuario maestro para su clúster DB.
-Master-User-Password: especifique la contraseña para el usuario maestro.
-Estado asignado: especifique la capacidad de almacenamiento en Gibibytes (GIB) para la instancia de DB.
-Copia de seguridad de la retención-período: especifique el tiempo (en el número de días) para el cual se retendrá la copia de seguridad automática de la instancia de DB DB.
Ahora que conocemos todos los parámetros que queremos usar con nuestra creación de instancia RDS DB, creemos una instancia de RDS DB con la siguiente configuración:
motor = mysql
db-instancia-identificador = db-linuxhint
db-instance-class = db.T2.micro
almacenamiento asignado = 20
maestro-username = demo
Master-User-Password = 12345678
copia de seguridad-retención-período = 0
Después de eso, hemos creado un usuario de IAM, lo adjuntamos con la política necesaria, configuramos la CLI de AWS y seleccionamos los parámetros de nuestra base de datos. Ahora, es hora de crear nuestra instancia de RDS DB. En su terminal de máquina local, ingrese el siguiente comando:
$ AWS RDS CREATE-DB-Instance --DB-Instance-Identifier DB-Linuxhint --DB-Instance-Class DB.T2.Micro-Mysql--Master-User-Password 12345678 --Master-UserName Demo-Allocated-Storage 20--Retencion-Period 0
Cuando ingresamos al comando anterior, una salida de formato JSON comenzará a aparecer en el terminal:
En la consola Amazon RDS de su usuario, puede ver una nueva instancia de DB:
Tomará aproximadamente 1-2 minutos para que la instancia de DB se cree completamente. Cuando hace clic en la etiqueta "Instancias de DB", puede ver el DB creado. Realice la operación de detener, reiniciar y eliminar desde aquí:
Nota final: No olvide limpiar los recursos que no están en uso para evitar cargos inesperados.
Conclusión
Felicitaciones, hemos creado con éxito una instancia de MySQL RDS BD usando la AWS CLI. Muchas personas y tutoriales en línea usan la cuenta de usuario root para administrar los recursos de AWS como RDS, EC2, etc. Pero no hemos usado la cuenta raíz. En cambio, hemos utilizado una cuenta de usuario de IAM para iniciar esta instancia de DB, que es una práctica bastante buena desde un punto de vista de seguridad. Además, hemos proporcionado a este usuario de IAM el permiso mínimo requerido para que un usuario cree una instancia de RDS DB. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos e información.