The suspension without pay came after a second violation of the Minor League Drug Prevention and Treatment Program for a drug of abuse, an MLB statement indicated.
The free agent's suspension will be effective immediately upon his signing with another major league organization.
The 26-year-old right-hander was waived by the Astros this month after appearing in 17 games for Class AAA Oklahoma City last season, where he posted a 4.71 ERA in 21 innings, the Houston Chronicle reported.
The St. Paul, Minn., native originally signed with the Minnesota Twins in 2007 after an open tryout. He appeared in five games with Texas Rangers in 2011, going 1-0 with a 4.50 ERA.