【ITニュース解説】Before Kamal: How to Set Up a VM, Domain, and Dockerfile the Easy Way
2025年09月06日に「Dev.to」が公開したITニュース「Before Kamal: How to Set Up a VM, Domain, and Dockerfile the Easy Way」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
VM、ドメイン、Dockerfileの設定はアプリ開発に不可欠だが、初心者には難解。この記事では、VMレンタル、ドメイン取得、Dockerfile作成の基本を解説。DigitalOceanでのVM作成、DNS設定、AIを活用したDockerfile生成を紹介し、Kamalなどのデプロイツール利用の準備を支援。AIは効率化に役立つが、基礎知識の習得も重要と強調。
ITニュース解説
この記事では、アプリケーションを自身の仮想マシン(VM)にデプロイする際に必要な準備として、VMのレンタル、ドメイン名の取得、Dockerfileの作成という3つのステップについて解説する。これらのステップは、アプリケーション開発における基盤となる部分であり、特に初心者にとっては難しく感じられるかもしれない。
まず、VMのレンタルについて。アプリケーションをデプロイするためには、VMが必要となる。VMは、Amazon AWS EC2、Google GCP Compute Engine、Microsoft Azure Virtual Machine、DigitalOcean Droplet、Akamai Cloud Computeといったクラウドプロバイダーから容易にレンタルできる。これらのサービスは名前こそ異なるものの、すべてVMを提供するものだ。この記事ではDigitalOcean Dropletを例に、VMの作成方法を説明する。DigitalOceanに登録後、「Droplets」ページから「Create Droplet」を選択し、OS(UbuntuまたはDebianがおすすめ)、マシンのスペック(練習目的ならば最小構成で十分)を選択する。SSHキーの設定も重要だ。Droplet作成後、IPアドレスが表示されるので、sshコマンドを使ってVMに接続する。
次に、SSHキーの設定について。パスワード認証ではなくSSHキー認証を使うことで、より安全かつ簡単にVMにログインできるようになる。SSHキーペア(秘密鍵と公開鍵)を生成し、公開鍵をVMの~/.ssh/authorized_keysファイルに登録することで、パスワードなしでVMにログインできるようになる。
続いて、ドメイン名の取得について。IPアドレスの代わりに覚えやすいドメイン名を使うことで、ユーザーはhttps://your-domain.comのようなアドレスでVMにアクセスできるようになる。GoDaddy、porkbun、cloudflareといったドメイン名プロバイダーで、希望するドメイン名を検索し、購入する。購入後、DNS設定でAレコードをVMのIPアドレスに向ける必要がある。また、wwwのCNAMEレコードも設定することで、www.your-domain.comでもアクセスできるようになる。DNS設定が反映されるまでには時間がかかる場合がある。
最後に、Dockerfileの作成について。Dockerfileは、アプリケーションの実行に必要な環境を定義するファイルであり、Dockerコンテナを作成するために使用される。Dockerfileの作成は、過去には手間のかかる作業だったが、現在ではAIツールを活用することで効率化できる。この記事では、Gemini CLIを使ってDockerfileを生成する例を紹介する。Gemini CLIをインストールし、プロジェクトのルートディレクトリで/initコマンドを実行することで、Gemini CLIにプロジェクトの基本情報を学習させることができる。その後、Dockerfileの生成を指示することで、AIが適切なDockerfileを生成してくれる。
Dockerfileの作成はAIによって大幅に効率化できるものの、AIが生成したDockerfileには誤りが含まれる可能性もあるため、内容を十分に理解し、必要に応じて修正することが重要だ。
これらの準備を終えることで、アプリケーションをVMにデプロイするための基盤が整う。AIツールを活用することで、これらのステップをより迅速に進めることができるが、それぞれの技術的な知識を習得することも重要だ。