Pocket

[Amazon ECS]AWS FargateでSSHコンテナを動かしてみた

以前、ECS/FargateでSSHするためのコンテナ(devops)を作るというブログを書きました。目的としては rails console 、aws cliやブランチ切り替えてテストなど、ソースコードを配置してまるごとappコンテナと同じコンテナを作りたいため、毎回CircleCIでbuildするたびに設定を自動化する上で、githubの鍵ってどうやって配置するのかといろいろ調べていましたが、公式には書いておらず。。そこで Environment Variables で環境変数として指定すると空白と改行が入ってしまい、非常に辛かったので SSH Permissionsfingerprints を使って実装してみました。


■SSH Permissions

https://circleci.com/docs/ja/2.0/add-ssh-key/

秘密鍵をまずはCircleCI >Settings > SSH Permissions から秘密鍵を指定し、 Fingerprint のハッシュ値をメモしてください。あとはconfig.ymlにハッシュ値を指定してあげれば、コンテナ内の  ~/.ssh/id_rsa_a1xxxxxxxxx と配置されます。あとはこれを頑張ってroot/.ssh配下に移動するように仕込むだけですね!


■CircleCI

  • .circleci/config.yml

27行目のfindコマンドを使って正規表現(0-9)で ~/app ディレクトリに移動してます。そこからDockerfileで以下のように id_rsa_a1xxxxxxxxx をid_rsa_githubにファイル名を変更してます。

  • Dockerfile

  • 確認


■まとめ

CircleCIはLinux力が試される…!!!

Pocket


adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください