LINEで送る
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力が試される…!!!

LINEで送る
Pocket


adachin

1989年生まれのSRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社インフラ対応、ECS/Fargateへの移行、Wordpressによるコーポレートサイトの修正、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

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