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?

More than 1 year has passed since last update.

BizRobo!の環境をAWSで簡単に構築してみた

Last updated at Posted at 2023-07-28

はじめに

弊社のチームではBizRobo!の検証をするための環境構築を依頼されることが度々あります。
そのたびにインスタンスを新規作成しているのですが、依頼される頻度が多くなってきたので効率化したいなと思いAWSのCloudFormationを使って構築してみました。
タグ管理も統一できるようになるので効率的な運用ができそうです。
どのように実現したのかまとめてみました。

構築イメージ

インフラ構成図

ゴールとするインフラ構成図は以下のようになります。
AWS環境構築(社内依頼確認用) - Qiita用CloudFormation構成図.jpg

事前準備

CloudFormationを構築する前に準備しておく事

  • BizRobo!の環境構築済みのAMI
  • VPC
    • IGWの設定
  • サブネット
    • ルートテーブルの設定
  • セキュリティグループ

やってみる

実際に構築したコードは以下に記します。

AWSTemplateFormatVersion: 2010-09-09
Description: BizRobo!v11.3 test instance

Parameters:
  ExistingVpcId:
    Type: AWS::EC2::VPC::Id
    Description: 利用するvpcID
    
  ExistingSubnetId:
    Type: AWS::EC2::Subnet::Id
    Description: 利用するsubnetID

  ExistingSecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
    Description: 利用するsgID

Resources:
  MyEIP:
    Type: AWS::EC2::EIP
    Properties:
      Domain: vpc

  MyNetworkInterface:
    Type: AWS::EC2::NetworkInterface
    Properties:
      SubnetId: !Ref ExistingSubnetId
      GroupSet:
        - !Ref ExistingSecurityGroupId
      Tags:
        - Key: Name
          Value: v11.3_testserver_network_interface

  MyInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: 利用するamiID
      InstanceType: r5a.large(タイプは用途に応じて)
      NetworkInterfaces:
        - NetworkInterfaceId: !Ref MyNetworkInterface
          DeviceIndex: 0
      Tags:
        - Key: Name
          Value: v11.3_testserver
        - Key: Used
          Value: unknown
        - Key: Product
          Value: test
        - Key: EndDate
          Value: unknown
        - Key: Team
          Value: unknown

~余談~
プログラミング経験が浅いのでChatGPTに問いかけて大枠の構成を作成してもらい、細かい修正を筆者が行いました。
ざっくりした問いかけである程度作成してもらえるので、プログラミングの勉強時間が削減できていいですね!
image.png

振り返り

VPC・サブネット・セキュリティグループを固定に設定したかったのですが、既存のものはパラメーターからしか設定できないようです。
運用オペレーションでカバーできますが、本当は固定にしたいなと思います。

AMIは固定値にしていますが、パラメータで選択するようにして事前に複数バージョン用意しておけば対応の幅が広がる気がします。
また、特定のサブネットにあるインスタンスを自動停止する設定をしておけば不要なコストがかかりっぱなしになるリスクも下げれられると思います。(こちらの記事で記述します)

おわりに

ある程度要件が似たような環境構築をする際はCloudFormationを利用すると便利だと感じました。
環境構築がシンプルで容易になるように模索していきたいと思います。

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?