下記を参考にデプロイ環境を構築しているのですが、エラーになってしまう箇所があります。
s3バケットからインストールをしていると思われますし、
参考ページから察するに、CodeDeployのエージェントのインストールだと思います。
Amazon Linux または RHEL 用の CodeDeploy エージェントのインストールまたは再インストール
sh
1$ sudo yum update 2$ sudo yum install ruby 3$ sudo yum install wget 4$ cd /home/ec2-user 5$ wget https://example_bucket.s3.ap-northeast-1.amazonaws.com/latest/install 6--2019-08-27 15:59:14-- https://example_bucket.s3.ap-northeast-1.amazonaws.com/latest/install 7example_bucket.s3.ap-northeast-1.amazonaws.com (example_bucket.s3.ap-northeast-1.amazonaws.com) をDNSに問いあわせています... xxx.xxx.xxx.xxx 8example_bucket.s3.ap-northeast-1.amazonaws.com (example_bucket.s3.ap-northeast-1.amazonaws.com)|xxx.xxx.xxx.xxx|:443 に接続しています... 接続しました。 9HTTP による接続要求を送信しました、応答を待っています... 403 Forbidden 102019-08-27 15:59:14 エラー 403: Forbidden。
しかし、EC2のOSがAmazon Linuxなためか、すでにCodeDeployが動いています。
sh
1$ sudo service codedeploy-agent status 2The AWS CodeDeploy agent is running as PID xxx
質問
エージェント(?)の取得失敗してしまう理由
下記の処理を行うと、403エラーで弾かれてしまいます。
sh
1$ wget https://example_bucket.s3.ap-northeast-1.amazonaws.com/latest/install
S3を扱うために必要なポリシーも指定しており、バケット自体も存在します。
sh
1$ aws s3 ls 2example_bucket
何が考えられますでしょうか?
既存のCodeDeployについて
CodeDeployが動いているということは、そもそもこのフローは必要なかったのでしょうか?
wgetの処理で個別のbakcet名を指定するので、この処理をしないといけないと思っておりましたがそもそも不要だったのでしょうか?
現状としては「sudo service codedeploy-agent status」でエラーがある旨表示されているのでしょうか? : https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/codedeploy-agent-operations-verify.html
ご指摘ありがとうございます。
上記コマンドを実行すると、「The AWS CodeDeploy agent is running」と表示されますので、
動いているとは思います。
ただ、私自身インストールした覚えはありません。
ユーザガイドの構成・流れ的に + 現在の状況として、「エージェントのインストールまたは再インストール」は不要であるように思えます
そのまま「インスタンスの使用」やそのほか必要なページを参照していくことで CodeDeploy が利用可能な状態になるのではないでしょうか?
度々ご指摘ありがとうございます。
もう少し先に進めてみます。