According to the community answers on Google Search Help:
Instagram and Facebook block Googlebot crawling with robots.txt. So in the majority of cases, individual posts are not indexed in search results. However, if the relevant URL is linked to from outside, the search engine can detect the URL, so Instagram profile pages and individual posts may be indexed.
So how can we create URLs pointing to our Instagram posts that can be crawled?
Here two ways that I have recently being trying, one automatic once set-up and the other manual.
Automatically share Instagram posts to Pinterest
Create a page of links containing links to your individual Instagram posts
Pinterest can be a really a good source of traffic to the links associated with pins. A little-known feature of Pinterest is that by connecting your Pinterest account to your Instagram account, your Instagram posts will be pinned automatically to your Pinterest profile, including your post description with a link back to the Instagram post. Since Google crawls Pinterest, this provides a way for Googlebot to discover your Instagram posts.
To connect your Instagram to Pinterest, in Pinterest click the "Settings" menu item under your profile, and choose "Claimed Accounts", and fill out the Instagram details and ensure auto-posting is not paused. You can also choose a different board if you prefer not to post to your profile.
The second way to help Googlebot to find your Instagram posts is to maintain a page of links to your posts. This is a manual intensive process, involving copying the post URL from Instagram and then adding to a page, for example in Wordpress you could use the Instagram Embed block to create a preview of the post with the link back to Instagram embedded.