ssh(1) -i $PRIVATE_KEY_FILE -D 8888 ubuntu@$INSTANCE_ID
OpenSSH SSH client (remote login program)
-i identity_file
        Selects a file from which the identity (private key) for public key authentication is read.  The
        default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and
        ~/.ssh/id_rsa for protocol version 2.  Identity files may also be specified on a per-host basis in
        the configuration file.  It is possible to have multiple -i options (and multiple identities
        specified in configuration files).  ssh will also try to load certificate information from the
        filename obtained by appending -cert.pub to identity filenames.
-D [bind_address:]port
        Specifies a local “dynamic” application-level port forwarding.  This works by allocating a socket
        to listen to port on the local side, optionally bound to the specified bind_address.  Whenever a
        connection is made to this port, the connection is forwarded over the secure channel, and the
        application protocol is then used to determine where to connect to from the remote machine.
        Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server.  Only
        root can forward privileged ports.  Dynamic port forwardings can also be specified in the
        configuration file.

        IPv6 addresses can be specified by enclosing the address in square brackets.  Only the superuser
        can forward privileged ports.  By default, the local port is bound in accordance with the
        GatewayPorts setting.  However, an explicit bind_address may be used to bind the connection to a
        specific address.  The bind_address of “localhost” indicates that the listening port be bound for
        local use only, while an empty address or ‘*’ indicates that the port should be available from all
        interfaces.
ssh connects and logs into the specified hostname (with optional user name).  The user must prove his/her
identity to the remote machine using one of several methods depending on the protocol version used (see
below).

If command is specified, it is executed on the remote host instead of a login shell.
source manpages: ssh