0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2でRundeck起動するまで

Posted at

EC2作成

今回はCloudFormationで作成する.

  • セキュリティグループにssh(20)とRundeck(4440)を設定
  • EC2のインスタンスタイプはt3.large
CloudFormationテンプレート
AWSTemplateFormatVersion: 2010-09-09
Description: create ec2 for Rundeck

Parameters: 
  projectName:
    Type: String
    Default: rundeck

# ------------------------------------------------------------#
# VPC, パブリックサブネット, IGW,ルートテーブル,セキュリティグループを作成する
# ------------------------------------------------------------#
Resources: 
  myVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 192.168.0.0/21
      Tags:
        - Key: Name
          Value: !Sub ${projectName}-vpc
  subnet:
    Type: AWS::EC2::Subnet
    Properties:
      AvailabilityZone: ap-northeast-1a
      VpcId: !Ref myVPC
      CidrBlock: 192.168.0.0/24
      Tags:
        - Key: Name
          Value: !Sub ${projectName}-subnet
  igw:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: !Sub ${projectName}-igw
  AttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref myVPC
      InternetGatewayId: !Ref igw
  routeTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref myVPC
      Tags:
        - Key: Name
          Value: !Sub ${projectName}-routeTable
  route:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref routeTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref igw
  subnetRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref subnet
      RouteTableId: !Ref routeTable
  securityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Enable SSH access via port 22
      VpcId: !Ref myVPC
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '22'
          ToPort: '22'
          CidrIp: 0.0.0.0/0
        - IpProtocol: tcp
          FromPort: '4440'
          ToPort: '4440'
          CidrIp: 0.0.0.0/0

# ------------------------------------------------------------#
# EC2作成(キーペアは「ec2-test.pemを作成しておく」)
# ------------------------------------------------------------#
  myEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      KeyName: ec2-test
      ImageId: ami-01d078c099c7f1261
      InstanceType: t3.large
      NetworkInterfaces:
        - AssociatePublicIpAddress: 'true'
          DeviceIndex: '0'
          SubnetId: !Ref subnet
          GroupSet:
            - !Ref securityGroup
      Tags:
        - Key: Name
          Value: !Sub ${projectName}-ec2

EC2にssh接続

ssh -i "~/.ssh/ec2-test.pem" ec2-user@{パブリックIP}

javaをインストール

sudo amazon-linux-extras install java-openjdk11

Rundeck ymuリポジトリを追加

curl https://raw.githubusercontent.com/rundeck/packaging/main/scripts/rpm-setup.sh 2> /dev/null | sudo bash -s rundeck

Rundeckをインストール

sudo yum install rundeck

設定ファイルの変更

設定ファイル内のlocalhostをEC2インスタンスのパブリックIPアドレスに置換する

sudo sed -i "s/localhost/$(curl -s http://checkip.amazonaws.com)/g" /etc/rundeck/rundeck-config.properties
sudo sed -i "s/localhost/$(curl -s http://checkip.amazonaws.com)/g" /etc/rundeck/framework.properties

Rundeckサービスを起動

sudo service rundeckd start

ログを確認

tail -f /var/log/rundeck/service.log

以下が表示されたら成功(数分かかる)

Grails application running at http://localhost:4440 in environment: production

ブラウザからアクセス

http://{EC2のIPアドレス}:4440

ユーザー名とPWはadminでログイン
ログイン画面

ログイン後画面

Rundeckサービスを停止

sudo service rundeckd stop

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?