The simplest approach would be to use flexbox - horizontal on a parent container. Create two divs in there and in those add your text and image for each column. you might need to flex-vertical the column divs as well. The vertical line can be a div 1px wide / 100% high or use the flex alignment settings to stretch it. Place it between the two content divs.
HammerOz’s method is simple and effective, but you might want to use a grid with div blocks if you need to make the design responsive. i.e. on smaller screens you might want your grid to stack.