MENU
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
AWSの構築・クラウド運用を総合支援【CapsuleCloud】
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
AWSの構築・クラウド運用を総合支援【CapsuleCloud】
  • ホーム
  • AWSマネージドサービス
    • AWS運用サポート
    • AWSコンサルティング
    • コンテナ導入支援『仁』
  • AWS導入支援
  • WordPress
    • WordPress脆弱性対策
    • WordPress高速化
    • 高速WordPressサーバ『翔』
  • 導入事例
  • Q&A
  • お問い合わせ
  1. ホーム
  2. AWS
  3. AWS機能を網羅してみよう2.2 EC2編「接続&アプリ構築」

AWS機能を網羅してみよう2.2 EC2編「接続&アプリ構築」

2022 7/28
AWS
2022年7月28日
目次

はじめに

前回、EC2の各種設定を行い起動させるところまで実行しました。
今回は起動したサーバーに接続し、簡単なアプリケーションを動かしてみたいと思います。

EIPとは?EIPの取得と付与

本題に入る前に、前回盛込みきれなかった部分にEIP(Elastic IP Address)の話があります。
EIPはインターネット経由でアクセス可能な固定グローバルIPを取得し、インスタンスに付与することができます。一旦設定しておけば、削除するまでIPアドレスを保持することが可能です。Public IPアドレスの機能にも似ていますが、インスタンスを停止・起動をすると変わってしまう点で異なります。

接続

さぁ本題です。前回立ち上げたサーバーに接続してみましょう。
前提として、UNIX系のターミナル経由の場合です。あなたのPCが、MacやLinuxの場合ですね。まずは、ターミナルを開いてください!

そしたら、早速sshで接続です。
$ssh -i first-keypair.pem ec2-user@あなたのEC2のIPアドレス

-iオプションは秘密鍵があるパスを指定してください。
今いるディレクトリが秘密鍵の存在するディレクトリであれば上記のままでOKです。

初めてのサーバーにアクセスするときは、以下を聞かれると思います。
yesを入力してエンターを押しましょう。
Are you sure you want to continue connecting (yes/no)?

すると、以下のようなWARNINGが出て接続に失敗すると思います。
要は、秘密鍵に対するパーミッションがいけてませんということですね。

[bash]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for ‘first-keypair.pem’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key “first-keypair.pem”: bad permissions
Permission denied (publickey).
[/bash]

[bash]
$ls -ll
[/bash]

でパーミッションを見てみると、

[bash]
-rw-r–r–@ 1 koichi staff 1696 5 7 17:51 first-keypair.pem
[/bash]

ファイルで、本人は読み書き可、グループは読みのみ可、他人は読みのみ可の設定です。
もっと秘密にしなきゃなので、以下を実行してパーミッションを変更。

[bash]
$chmod 600 first-keypair.pem
[/bash]

もう一度

[bash]
$ls -ll
[/bash]

-rw——-@ 1 koichi staff 1696 5 7 17:51 first-keypair.pem

オッケー、秘密になりましたね!
では、気を取り直してもう一度実行

[bash]$ssh -i first-keypair.pem ec2-user@あなたのEC2のIPアドレス

__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|[/bash]

こんなのが出たら、接続成功です!!ヤター!

アプリケーション準備

サーバーのアップデート

接続が完了すると、以下の文言も表示されていると思います。

[bash]Run “sudo yum update” to apply all updates.[/bash]

言われるがままにRunしてみましょう。-yを入れます

[bash]sudo yum -y update[/bash]

最後に「完了しました!」が表示されたらOKです。

nginxのインストール

今回はWebサーバーとしてnginxを利用しましょう!
nginxはパッケージが用意されているので、簡単にインストールが可能です。

$sudo yum -y install nginx
これまた最後に「完了しました!」が表示されたらOKです。

Webサーバーを起動してみましょう。

$sudo service nginx start
Starting nginx: [ OK ]

ここまでできれば、該当のEIPを入力してみましょう。
http://XXXX.XXXX.XXXX.XXXX
「Welcome to nginx on the Amazon Linux AMI!」のページが表示されたでしょうか。
もし Welcome To The Jungle になってたら、あなたは80年代好きです。

MySQLのインストール

本日の折り返し地点になります。
次にデータベースサーバーとしてMySQLをインストールします。
こちらもnginx同様、パッケージがあるので簡単に準備できます。

$sudo yum -y install mysql-server
最後に「完了しました!」が表示されていますか?

mysqlを動かしておきましょう。

[bash]$sudo service mysq
ld start
Starting mysqld:[/bash]

になればOKです!
一応試しに接続しておきましょうか。

[bash]$mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.54 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| test |
+——————–+
4 rows in set (0.00 sec)[/bash]

バッチ、ぐー!
mysql> quit
で抜けておきましょう。

アプリケーション作成

さぁメインのアプリケーションですが、サクッと作りたいのでRailsでいきましょう。
ビルドのためのパッケージをインストールします。

[bash]$sudo yum -y groupinstall ‘Development Tools'[/bash]

RubyとMySQLのライブラリもインストール

[bash]$sudo yum -y install ruby-devel mysql-devel[/bash]

RailsではJavaScriptランタイムとしてNode.jsが必要になります。デフォルトではないため、EPELからインストールします。
$sudo yum -y –enablerepo=epel install nodejs

ここまででRailsをインストールする準備が整いました。
早速Railsをインストールしましょう。
$gem install rails io-console –no-rdoc –no-ri

完了したら、Railsのバージョンを確認してみましょう。
$rails -v
-bash: rails: コマンドが見つかりません

あれ?よく見ると、
$gem install rails io-console –no-rdoc –no-ri
でエラーが発生していたようです。
ERROR: Error installing rails:activesupport requires Ruby version >= 2.2.2.

rubyのバージョンが古い模様です。
gitは既にインストールされているので、rbenvをインストールしてrubyのバージョンを上げましょう。

[bash]$git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$mkdir -p ~/.rbenv/plugins
$git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$cd ~/.rbenv/plugins/ruby-build
$sudo ./install.sh
$echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bash_profile
$echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile
$source ~/.bash_profile
$sudo yum install -y readline-devel
$rbenv install 2.3.4
$rbenv versions
$rbenv rehash
$rbenv global 2.3.4[/bash]
思わぬ罠がありましたね…。

$ gem install rails
$rails -v
Rails 5.1.1
問題なく最新がインストールされました。

プロジェクトを作成して、起動してみましょう。
[bash]$rails new first-app –database=mysql –skip git –skip-javascript –skip-spring –skip-test-unit
$cd first-app
$rake db:create
$rake db:migrate[/bash]

確認

準備は整いました。
$rails server -b 0.0.0.0
で、railsを立ち上げて、ブラウザからアクセスしてみましょう。
Rialsの初期画面が表示されれば成功です!

EC2を立ち上げてアプリケーションを動かすところまでできました。
あとは、アプリケーションを作り込めばいいだけです。

AWS
aws ec2 nginx rails アプリケーション

関連記事

  • aws-route53
    AWS機能を網羅してみよう3.3 Route53編「実践」DNSフェイルオーバー
  • AWSのクラウドセキュリティ「責任共有モデル」とは?
  • ansible
    AWSのためのAnsible入門
  • aws-s3
    Amazon S3でGlacierを活用したコスト削減法
  • aws-route53
    AWS機能を網羅してみよう3.2 Route53編「実践」
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
  • aws-route53
    AWS機能を網羅してみよう3.1 Route53編「概要」
  • aws-waf
    AWS WAFでSQLインジェクションと特定URLをブロック
人気記事
  • AWS導入支援
    amazonクラウド、AWSとは?何ができるかデメリット含めわかりやすく説明
  • aws-s3
    Amazon S3で署名付きURLを使ったアクセス制御
  • terraform
    Terraformと変数(variable)のお話
新着記事
  • 10分でスタート!AWSの利用開始までを解説
  • WordPress脆弱性の原因とやっておくべき7つの対策
  • WordPress高速化!6つの簡単な方法で重さを改善
  • 高速WordPressサーバ『翔』
  • 【実例20選】AWS導入企業、活用事例をご紹介
カテゴリー
  • AWS
  • AWS導入支援
  • Rancher
  • Terraform
  • WordPress
アーカイブ
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2017年7月
  • 2017年6月
開発案件多数! フリーランス・エンジニアの求人はテックブレイン

スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。

スーパーソフトウエアはRancherパートナーネットワークのコンサルティングパートナーです。

logo

カプセルクラウドはAWSクラウドのマネージドサービスです。AWSを安心かつ迅速に導入し、負荷分散・セキュリティ・DevOps・コスト削減など、クラウドサービスのメリットを活かした豊富なベストプラクティスをご提供いたします。

Contents

  • サービス
  • 導入支援
  • WordPress
  • 導入事例
  • ブログ
  • Q&A
  • お問い合せ

お問い合わせ

株式会社スーパーソフトウエア
東京 03-6721-7105
大阪 06-4707-6001
info-capsulecloud@tokyo.supersoftware.co.jp

  • プライバシーポリシー
  • 免責事項
  • 契約約款
  • 特商法に基づく表記
  • 会社情報
  • サイトマップ

© Supersoftware 2017. All rights reserved.

目次