Very easy. Just build a network within the scope of tf.distribute.MirroredStrategy tf.distribute.MirroredStrategy. You only need to change a few lines.
Here, as a simple example, we are building a simple network with only one hidden layer.
import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras.optimizers import Adam
with tf.distribute.MirroredStrategy().scope():
    #Build a network with this block
    x = Input(32, dtype=tf.int32, name='x')
    hidden = Dense(20, activation='relu', name='hidden')(x)
    y = Dense(5, activation='sigmoid', name='y')(hidden)
    model = Model(inputs=x, outputs=y)
    model.compile(
        optimizer=Adam(lr=0.001),
        loss='binary_crossentropy',
    )
model.fit(
    x_train, y_train,
    epochs=10,
    batch_size=16,
)
The official documentation is as follows.
If you want to use the Keras API as it is, as introduced in this article, but if you implement a custom training loop, there are some additional points to consider. In that case, please refer to the above document.
multi_gpu_model () is scheduled to be abolished after April 2020.