【初心者必見!】AWS環境構築を分かりやすく解説!
AWS (Amazon Web Services) クラウドの導入を検討しているものの、環境構築に不安を感じている方も多いのではないでしょうか。
本記事では、AWSアカウントの作成方法から、EC2などの主要サービスを利用したサーバー構築手順、セキュリティ対策、パフォーマンスチューニング、コスト最適化といった運用を見据えたノウハウまで、分かりやすく解説します。
AWS初心者の方から、ある程度の知識をお持ちの中級者の方まで、ご自身のレベルに合わせて必要な情報を得ることができます。
AWS環境構築の基本構成要素
AWSでシステムを構築する際に必要となる、主要なサービスについて解説します。それぞれのサービスがどのような役割を担っているのか、基本的な知識を習得しましょう。
Amazon VPC(Amazon Virtual Private Cloud)
Amazon VPC (Amazon Virtual Private Cloud) は、AWSクラウド上に独自の仮想ネットワークを構築できるサービスです。
AWS上に隔離されたネットワーク空間を作成し、その中でEC2インスタンスなどのリソースを運用できます。
VPCでは、IPアドレス範囲 (CIDRブロック)、サブネット、ルートテーブル、インターネットゲートウェイなどを設定することで、柔軟なネットワーク構成を設計できます。
外部ネットワークから隔離されたセキュアな環境を構築できるため、機密性の高いシステムやアプリケーションを運用する際に役立ちます。
AWS Internet Gateway
AWS Internet Gatewayは、VPCとインターネット間の通信を可能にするサービスです。
VPC内に構築したシステムをインターネットに公開したり、インターネット上のリソースにアクセスしたりする際に必要となります。
インターネットゲートウェイは、VPCのルートテーブルに設定することで、VPC内のインスタンスがインターネットと通信するための経路を提供します。
高度な可用性と冗長性を備えているため、安定したインターネット接続を維持できます。
ALB(Application Load Balancer)
WebサイトやWebアプリケーションへのアクセスが増えると、サーバーにかかる負荷も大きくなります。アクセスが集中しすぎると、サーバーがダウンしてしまい、サービスが停止してしまうことも。
このような事態を防ぐために、複数のサーバーにアクセスを分散させる役割を担うのが ロードバランサーです。ロードバランサーを利用することで、1台のサーバーに負荷が集中することを防ぎ、システム全体の可用性とパフォーマンスを向上させることができます。
ALB (Application Load Balancer) は、AWSが提供するロードバランサーの一種で、HTTPやHTTPSなどのアプリケーション層で動作するため、Webアプリケーションの特性に合わせた細かい制御が可能です。
Amazon EC2(Amazon Elastic Compute Cloud)
Amazon EC2 (Amazon Elastic Compute Cloud) は、AWSクラウド上で仮想サーバーを構築できるサービスです。
仮想サーバーは、実際の物理サーバーと同じように、OSやアプリケーションをインストールして使用できます。
EC2では、OS、CPU、メモリ、ストレージ容量などを自由に選択し、用途に合わせた仮想サーバー環境を構築できます。Webサイトやアプリケーションの運用、データベースの構築、開発環境など、様々な用途に利用されています。
EC2は、AWSクラウドの基盤となるサービスの一つであり、クラウドのメリットを最大限に活かせるサービスと言えるでしょう。
Amazon RDS(Amazon Relational Database Service)
Webサイトやアプリケーションで扱うデータを保存・管理するには、データベースが必要です。
Amazon RDS (Amazon Relational Database Service) は、AWS クラウド上でデータベースを簡単に構築・運用できるサービスです。RDSでは、MySQL、PostgreSQL、Oracle Databaseなど、様々なデータベースエンジンを選択できます。
データベースの構築、運用、管理に必要な作業をAWSが代行してくれるため、データベースの専門知識がなくても、簡単にデータベースを運用することが可能です。
AWS環境構築の手順
ここからは、実際にAWSを使って仮想サーバーを立ち上げるまでの手順を、解説します。
1.AWS環境構築の準備
AWS環境を構築する前に、まずは必要な準備を行いましょう。
1-1.AWSアカウントの作成
AWSを利用するには、AWSアカウントが必要です。まだアカウントをお持ちでない方は、以下の手順でアカウントを作成しましょう。
1-1-1.アカウント作成ページへ移動
まずは、AWSのアカウントを作成します。
1-1-2.必要情報を入力
メールアドレス、パスワード、氏名、住所、電話番号、クレジットカード情報などの必要情報を入力します。
1-1-3.AWSマネジメントコンソールへのログイン
AWSマネジメントコンソールへのログインができたら、AWSアカウント作成は完了です。
1-2.IAMユーザーの作成
AWSアカウントを作成したら、次は IAMユーザー を作成しましょう。
IAMユーザーとは、AWSリソースへのアクセスを管理するためのユーザーアカウントです。ルートユーザー (AWSアカウント作成時に作成されるマスターユーザー) はAWSアカウントへのフルアクセス権限を持つため、セキュリティリスクが高い状態です。
IAMユーザーを作成し、必要なアクセス権限のみを付与することで、セキュリティリスクを軽減し、より安全にAWSリソースを操作できます。
IAMユーザーは、AWSマネジメントコンソールのIAMサービスから作成できます。
1-3.Amazon EC2インスタンスの作成
いよいよ、AWS上に仮想サーバーを構築していきます。
仮想サーバーとは、物理的なサーバーをAWS上に仮想的に用意したものです。AWSでは、この仮想サーバーを EC2インスタンス と呼びます。
EC2インスタンスを作成するには、AWSマネジメントコンソールから設定を行います。
1-3-1. EC2サービスの選択
AWSマネジメントコンソールを開き、サービス一覧から EC2 を選択します。
1-3-2. インスタンスの起動
EC2ダッシュボードが表示されたら、「インスタンスを起動」ボタンをクリックします。
Amazon EC2でインスタンスを作成するには、AMIの選択、インスタンスタイプの決定など、いくつかの手順があります。ここでは、インスタンス作成に必要な6つの主要項目について、順を追って詳しく解説していきます。
1-3-3. 名前とタグ
インスタンスに分かりやすい名前をつけ、タグで情報を追加しましょう。名前は後で変更できますが、タグはインスタンス作成時に設定する必要があります。
項目 | 概要 | 設定例 |
名前 | インスタンスを識別しやすい名前を入力します。 | Webサーバー、DBサーバーなど |
タグ | キーと値のペアで構成されます。用途や役割を分類するために使用します。 | キー「環境」、値「開発」など |
1-3-4. AMIの選択
EC2インスタンスを立ち上げるには、まず「設計図」が必要になります。この設計図にあたるのがAMI (Amazon Machine Image) です。AMIには、OS (WindowsやLinuxなど) や必要なソフトウェアがあらかじめ含まれているので、ゼロから環境を構築する必要がなく、簡単にインスタンスを作成できます。
今回は、Amazon Linux 2 というOSを使うので、「Amazon Linux 2 AMI」という設計図を選びます。
1-3-5. インスタンスタイプの選択
EC2インスタンスの性能は、パソコンでいうCPUやメモリのようなものです。インスタンスタイプを選ぶことで、処理能力やメモリ容量など、インスタンスの性能を決めることができます。
今回は、AWSの無料利用枠でEC2を使うので、「t2.micro」という種類のインスタンスを選びます。
1-3-6. キーペア (ログイン) 情報
EC2インスタンスにログインするには、鍵が必要です。この鍵を作るのが「キーペアの作成」です。キーペアには、「公開鍵」と「秘密鍵」の2つがあります。
項目 | 概要 |
公開鍵 | EC2側に設定されます。 |
秘密鍵 | 自分で大切に保管します。 |
[キーペア(ログイン)]セクションの[新しいキーペアの作成]を押下します。
この画面では、EC2インスタンスに接続するためのキーペアを作成します。以下の手順で操作してください。
手順 | 手順名 | 概要 |
STEP1 | キーペア名を入力 | 任意のキーペア名を入力します。名前は最大255文字のASCII文字で、先頭または末尾にスペースを含めることはできません。例:MyKeyPair 、 WebServerKey など、分かりやすい名前をつけましょう。 |
STEP2 | キーペアのタイプを選択 | RSA (推奨) : 従来から広く使われている方式です。ED25519 : より新しい方式で、セキュリティ強度が高いです。特に理由がなければ、RSA を選択しておけば問題ありません。 |
STEP3 | プライベートキーファイル形式を選択 | .pem (推奨):OpenSSHで使用する形式です。LinuxやmacOSで接続する場合はこちらを選択します。.ppk:PuTTYで使用する形式です。WindowsでPuTTYを使って接続する場合はこちらを選択します。 |
STEP4 | 「キーペアを作成」ボタンをクリック | キーペアが作成され、秘密鍵(.pem または .ppk ファイル)がダウンロードされます。 |
ダウンロードされた秘密鍵は、EC2インスタンスにログインする際に必要になります。 紛失しないように、安全な場所に保管してください。
1-3-7. ネットワーク設定
EC2インスタンスは、インターネット上に公開されます。そこで、外部からの不正アクセスを防ぐために、ファイアウォールを設定する必要があります。このファイアウォールは、「セキュリティグループ」と呼ばれ、EC2インスタンスへのアクセスを許可するルールを設定することができます。
今回は、新しいセキュリティグループを作成し、以下のルールを設定します。
1.SSHトラフィックを許可
自分のパソコンからEC2インスタンスに接続するためのルールです。
「任意の場所」を選択すると、どこからでも接続できるようになります。セキュリティを強化する場合は、自分のパソコンのIPアドレスを指定するようにしましょう。
2.HTTPS・HTTPトラフィックを許可
これは、Webサイトを公開する場合などに必要なルールです。今はWebサイトを公開しないので、チェックボックスを オフ にしておきます。
1-3-8. ストレージ設定
EC2インスタンスには、データを保存するためのストレージが必要です。AWSの無料利用枠では、30GBまでのストレージを使うことができます。
今回は、デフォルトで設定されている8GBのストレージで問題ありません。
1-3-9. インスタンスの起動
設定内容を確認し、 [インスタンスを起動] ボタンをクリックします。
1-4.SSH接続
EC2インスタンスが起動したら、SSH接続でインスタンスにアクセスし、コマンド操作を行うことができます。Macには、標準でターミナルが搭載されているため、特別なソフトウェアをインストールする必要はありません。
1-4-1. ターミナルを起動
アプリケーションフォルダ内にある ターミナル を起動します。
1-4-2. 秘密鍵のパーミッション変更
EC2インスタンス作成時にダウンロードした秘密鍵 (.pem ファイル) のパーミッションを変更します。
ターミナルで以下のコマンドを実行します。 your-key-pair.pem の部分は、ダウンロードした秘密鍵のファイル名に置き換えてください。
chmod 400 your-key-pair.pem
項目 | 概要 |
chmod | ファイルやフォルダのパーミッションを変更するコマンドです。 |
400 | 所有者だけに読み取り権限を与え、他のユーザーにはアクセス権を与えません。 |
your-key-pair.pem | 秘密鍵のファイル名です。 |
この操作により、秘密鍵へのアクセスを制限し、セキュリティを強化することができます。
1-4-3. SSH接続コマンドの実行
EC2インスタンスに接続するには、SSHという仕組みを使います。SSHは、安全にリモートコンピュータに接続するためのプロトコルです。Macでは、ターミナルというアプリを使ってSSH接続を行います。
ターミナルに以下のコマンドを入力し、「your-key-pair.pem」の部分をダウンロードした秘密鍵のファイル名に置き換え、「your-instance-public-dns」の部分をEC2インスタンスのパブリックDNS名に置き換えて、 Enter キーを押下すれば完了です。
ssh -i your-key-pair.pem ec2-user@your-instance-public-dns
パブリックDNS名の調べ方
- AWSマネジメントコンソールにログインします。
- 「EC2」サービスを選択します。
- 左側のメニューから「インスタンス」を選択します。
- 作成したインスタンスを選択します。
- 「パブリックIPv4 DNS」の値がパブリックDNS名です。
AWS環境構築を最適化する方法
AWS環境を構築する際には、セキュリティ、コスト、パフォーマンスの3つの要素を最適化することが重要です。それぞれの要素について、具体的な方法を解説していきます。
セキュリティ対策
AWS環境のセキュリティ対策は、ビジネスの信頼性を守る上で欠かせません。
仮想ネットワーク(VPC)を活用し、インターネットから隔離されたセキュアな環境を構築しましょう。セキュリティグループでEC2インスタンスへのアクセスを制御し、IAMでユーザーの権限を適切に管理することも重要です。
さらに、S3やEBSなどのストレージサービスでデータを暗号化し、AWS ConfigやCloudTrailなどのサービスでセキュリティ監査を実施することで、より強固なセキュリティ対策を実現できます。
コスト最適化
AWSのコスト最適化は、クラウド運用で重要な要素です。
適切なインスタンスタイプを選択し、必要以上のスペックを持つサーバーを使わないようにしましょう。S3などのストレージサービスでは、データの特性に合ったストレージクラスを選択し、ライフサイクルポリシーで古いデータを自動的に管理することでコスト削減につながります。
AWS Cost Explorerなどのツールを活用し、コストの発生源を分析して、無駄な費用を削減しましょう。
パフォーマンス向上
AWSで作ったシステムをスムーズに動かすには、パフォーマンス向上が大切です。
Webサイトの表示を速くしたいなら、CDNを使ってみましょう。CDNは、「Content Delivery Network」の略で、世界中に配置されたサーバーネットワークを使って、Webサイトのコンテンツを高速に配信する仕組みです。
また、アクセスが集中しても大丈夫なように、ロードバランサーで複数のサーバーに負荷を分散させるのも効果的です。
まとめ
本記事では、AWS初心者の方に向けて、AWS環境構築の基本からEC2インスタンスの作成、SSH接続までを図解を交えながら詳しく解説しました。
AWS環境を構築する際には、セキュリティ、コスト、パフォーマンスの最適化が重要です。
VPCやセキュリティグループを活用したセキュリティ対策、適切なインスタンスタイプの選択によるコスト最適化、CDNやロードバランサーによるパフォーマンス向上など、さまざまな方法があります。
これらの方法を参考に、安全で効率的なAWS環境を構築し、ビジネスに役立ててください。