1
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?

【AWS】Amazon EC2にNetBoxコンテナを構築したい

Posted at

はじめに

最近、他部署で、Excelを使ったIPアドレスやホスト情報の管理に課題を感じている様子があり、
管理の属人化や更新ミスといったリスクを減らすため、NetBoxの導入が検討されるようになりました。
せっかくなので、自分でもNetBoxの動作確認を兼ねて、簡単に触ってみることにしました。
今回は、AWS上にNetBoxのコンテナ環境を構築し、ログインできるまでの流れをまとめます。

TL;DR

  • NetBoxのコンテナ構築は、専用のGitHubリポジトリを使うことでお手軽に実行可能
  • セキュリティグループでTCP22とTCP8000を許可するのを忘れずに

実行環境

  • OS: Amazon Linux 2023

詳細

1. EC2インスタンスの構築

  1. 最低限、以下の要件でEC2インスタンスを構築する
    • インスタンスタイプ: t2.small
    • セキュリティグループ(インバウンド): TCP22とTCP8000を許可

2. Dockerのインストール

  1. EC2インスタンスにログイン

    • ユーザー: ec2-user
    • ポート: 22
  2. Dockerのインストール

    sudo yum update -y
    sudo yum -y install docker
    
  3. サービス起動

    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. dockerグループに追加

    sudo usermod -aG docker $USER
    
  5. 設定を反映させるため、一度ログアウトしてから再ログインする

    • VSCodeの場合はRemote-SSH: Kill VS Code Server on Host
  6. sudoなしでdockerコマンドが実行可能であることを確認

    docker run hello-world
    

3. Docker Composeのインストール

  1. rootユーザーに切り替える

    sudo su -
    
  2. Docker Composeをインストール

    curl -L https://github.com/docker/compose/releases/download/v2.35.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    
  3. バイナリに実行権限を追加

    chmod +x /usr/local/bin/docker-compose
    
  4. ec2-userユーザーにもどる

    exit
    
  5. docker-composeが利用可能であることを確認

    • バージョンが表示されれば、正常にインストールされています
    docker-compose --version
    

4. NetBoxの構築

  1. gitをインストール

    sudo yum -y install git
    
  2. NetBox用のDocker構成ファイルをクローン

    • 2025年4月時点で最新のタグ3.2.0をクローンします
    • また新しいバージョンが出ていた場合は手順が変更になっている可能性があるので注意してください
    git clone -b 3.2.0 https://github.com/netbox-community/netbox-docker.git
    
  3. クローンしたリポジトリに移動

    cd netbox-docker
    
  4. 構築用のファイルを作成

    tee docker-compose.override.yml <<EOF
    version: "3.9"
    services:
      netbox:
        ports:
          - 8000:8080
    EOF
    
  5. コンテナイメージのpull

    docker-compose pull
    
  6. コンテナを起動

    • コマンド

      docker-compose up -d
      
    • 失敗例

      • 以下のようなログが出たら、docker-compose up -d --force-recreateコマンドでやり直し(連続で2-3回失敗することがある)
      dependency failed to start: container netbox-docker-netbox-1 is unhealthy
      
  7. StateがUpであることを確認

    • コマンド

      docker-compose ps
      
    • 結果

      NAME                                  IMAGE                                         COMMAND                  SERVICE               CREATED              STATUS                        PORTS
      netbox-docker-netbox-1                docker.io/netboxcommunity/netbox:v4.2-3.2.0   "/usr/bin/tini -- /o…"   netbox                About a minute ago   Up About a minute (healthy)   0.0.0.0:8000->8080/tcp, [::]:8000->8080/tcp
      netbox-docker-netbox-housekeeping-1   docker.io/netboxcommunity/netbox:v4.2-3.2.0   "/usr/bin/tini -- /o…"   netbox-housekeeping   About a minute ago   Up About a minute (healthy)   
      netbox-docker-netbox-worker-1         docker.io/netboxcommunity/netbox:v4.2-3.2.0   "/usr/bin/tini -- /o…"   netbox-worker         About a minute ago   Up About a minute (healthy)   
      netbox-docker-postgres-1              docker.io/postgres:17-alpine                  "docker-entrypoint.s…"   postgres              About a minute ago   Up About a minute (healthy)   5432/tcp
      netbox-docker-redis-1                 docker.io/valkey/valkey:8.0-alpine            "docker-entrypoint.s…"   redis                 About a minute ago   Up About a minute (healthy)   6379/tcp
      netbox-docker-redis-cache-1           docker.io/valkey/valkey:8.0-alpine            "docker-entrypoint.s…"   redis-cache           About a minute ago   Up About a minute (healthy)   6379/tcp
      
  8. 管理者ユーザーを作成する

    docker-compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
    

5. NetBoxへのログイン

  1. NetBoxにアクセスする

    http://<global_ip>:8000
    
  2. ログイン画面が表示され、作成した管理者ユーザーでログインできれば構築完了

さいごに

NetBoxのコンテナを簡単に構築可能なのは大変ありがたいです。次回以降の記事では、
実際のNetBox操作や、Ansibleを使った自動化も今後試していきたいと思います。

参考URL

1
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
1
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?