AWS CodeDeployを使う時のEC2のセットアップ #AWS

概要

CodeDeployを使ってEC2にデプロイするときに準備すること。

既にEC2インスタンス自体は存在することを想定。

AWS CodeDeployエージェントのインストール

docs.aws.amazon.com

  • rubywgetを先に入れておく必要があるようだ
# ステータス
sudo service codedeploy-agent status
# 起動
sudo service codedeploy-agent start
# 停止
sudo service codedeploy-agent stop
# 再起動
sudo service codedeploy-agent restart
  • エージェントのログ
    • /var/log/aws/codedeploy-agent/codedeploy-agent.log
  • デプロイするartifact
    • /opt/codedeploy-agent/deployment-root/{デプロイグループID}/{デプロイID}/deployment-archive/
  • hookで実行したスクリプトのログ
    • /opt/codedeploy-agent/deployment-root/{デプロイグループID}/{デプロイID}/logs/scripts.log

IAMインスタンスプロファイルの作成

docs.aws.amazon.com

IAMロールをインスタンスにアタッチする

docs.aws.amazon.com

associate-iam-instance-profile — AWS CLI 1.15.17 Command Reference

# こんな感じ
aws ec2 associate-iam-instance-profile \
  --instance-id {EC2のインスタンスID} \
  --iam-instance-profile Arn={IAMロールのARN}
  • ArnじゃなくてNameのオプションもある
  • アタッチした後、Codeデプロイエージェントは再起動しないとダメっぽい

参考

qiita.com