AWS Parameter Store經驗總結

Parameter Store用來存儲配置的信息還是蠻方便的,記錄一下這方面的經驗。

AWS CLI value值有http url時會嘗試解析這個url

aws ssm put-parameter --name "/my-service/qa/service_url" --type String --overwrite --region us-east-1 --value "https://myservice/api/"

這條命令執行的時候會去訪問https://myservice/api/,會出現各種問題。項目上這個值是內網的地址,必須要通過代理才能訪問,執行這條命令后就死在那里了。具體可以通過aws --debug ssm這樣去查看。
在github上面有人提到了同樣的問題,據說這還是一個“特性”。解決方案是將這個關閉:

aws configure set cli_follow_urlparam false

命令行小工具

如果想要知道一個路徑下面所有的值,在AWS的console界面里面非常的難找。要做數據遷移的時候非常的麻煩。在網上找到一個叫做aws-ssm-commander的小工具,能夠非常方便的顯示出某個路徑下所有的參數的值,并且能夠導入導出。

Python中使用Parameter Store

在Python中使用Parameter Store可以使用原生的boto3 API進行,但有時候想在配置文件里面融入Parameter Store的值,并且能夠透明的讀取的話,還是不是太方便。

后來發現了一個https://github.com/adobe/himl的庫,能夠滿足所有的需要。但這個庫有個問題是當AWS_PROFILE沒有設置的時候,會無法取到值。比如在EKS里面運行的時候,就會沒有,但boto3能夠自行去尋找對應的aws認證參數,也能獲取到Parameter Store的值。

我后來提交了一個Pull Request,等待官方合并。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容