techtsubame’s blog

備忘録であり、何が起きても責任は取りません

CICD準備 & S3作成 $ EC2作成

参考

pages.awscloud.com

docs.aws.amazon.com

S3

バケット

作成

* バケット名は世界で唯一の名前に設定

作成確認

プロパティ

静的Webサイトホスティング

有効にする

インデックスドキュメント及びエラードキュメント設定

アクセス設定

バケットポリシー設定

 xxxxxxxxに作成したバケット名を指定
{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Sid": "PublicReadGetObject",
          "Effect": "Allow",
          "Principal": "*",
          "Action": [
              "s3:GetObject"
          ],
          "Resource": [
              "arn:aws:s3:::xxxxxxxx/*"
          ]
      }
  ]
}

アップロード

ファイルをアップロード

アクセス

確認

IAM

ロール

作成

  • AmazonEC2RoleforAWSCodeDeploy
  • EC2InstanceConnect

EC2

インスタンス

作成

  • 名前はCodeDeployの設定時に必要なため控えること

セキュリティグループ

httpのアクセス許可

  • インバウンドのセキュリティグループをクリック
  • セキュリティグループIDをクリック
  • インバウンドのルールを編集
  • ルールを追加をクリック
  • SSHはマイIPとAWSIPアドレスを指定
  • HTTPにマイIPを指定
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json| jq -r '.prefixes[] | select(.region=="ap-northeast-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'

インスタンス

確認

  • 対象インスタンスの状態が実行中であることを確認

    IAM変更

  • 作成したIAMロールを指定

CodeDeploy-Agent

インストール

sudo yum update
sudo yum install ruby wget -y
cd /home/ec2-user
wget https://aws-codedeploy-eu-central-1.s3.eu-central-1.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto
systemctl status codedeploy-agent
sudo systemctl start codedeploy-agent

httpd

インストール

sudo dnf install httpd -y
sudo systemctl start httpd.service

手元PC

ブラウザ

EC2にアクセス