Amazon Web Servicesとはなにか? †
- 概要
- 公式サイト
- 知識
- 準備
- 用語
- EC2(Elastic Compute Cloud):仮想サーバー
- RDS(Relational Database Service):データベース
- S3(Simple Storage Service):ストレージ
仮想サーバーを立ちあげてみよう †
- アカウントコンソールからログインしEC2を選択
- Asia Pasific (Tokyo)リージョンにてLaunch Enstanceを選択
- Amazon Linux AMI(64bit)を選択
- Next: Configure Instance Detailsを選択
- Instance Type: t1.micro、Availability Zone: ap-northeast-1aを選択
- Termination Protectionにチェック:停止時オプション
- Next: Add Storageを選択:デフォルト設定でOK
- Next: Tag Instanceを選択
- Valueにインスタンス名「MyWeb1」を入力
- Next: Configure Security Groupを選択
- SSH、HTTPをAnywareで設定
- Launchを選択
- Create a new key pairを選択しKey pair nameを入力・ダウンロード
- EC2 Management ConsoleよりInstancesを選択しInstance Stateがrunningになっていることを確認
仮想サーバーの詳細を確認しよう †
- EC2 Management ConsoleよりPublic DNS(URL)、Security groupsを確認
- Stop: EC2の電源停止
- Terminate: EC2の削除(データも削除)
- Connect: SSH接続コマンドが表示される
- Elastic Block Store: インスタンス作成時に自動的にVolumeが作成
仮想サーバーに接続してみよう †
仮想サーバーを設定しよう †
- httpd、php、mysqlをインストール
$ sudo yum -y install httpd php mysql
- Webサーバーの起動、chkconfig設定
$ sudo service httpd start
$ sudo chkconfig httpd on
- Webページ作成テスト
$ sudo vim /var/www/html/index.html
<html>
Hello!
</html>
- PHP、MySQLバージョン確認
$ php -v
$ mysql --version
イメージを作成してみよう †
- EC2 Management Consoleよりインスタンスを右クリックしCreate Imageを選択
- Image Name: MyWeb1image
- Create Imageを選択
- 内部的にはインスタンスを一度ShutdownしSnapshotからAMIが作成される
IPアドレスを設定してみよう †
- ShutdownするとPublic DNSが変更される
- EC2 Management ConsoleのElastic IPsよりAllocate New Addressを選択
- Addressを右クリックしAssociate Adressを選択
- インスタンスを選択しAssociateを選択
- Elastic IPを使ってブラウザ経由でアクセスできるか確認
- Addressを右クリックしDisassociate AddressでIPアドレスを切り離すことが可能
- EC2に紐付いていないIPアドレスは課金されるためRelease Addressを選択しアドレスを解放
バックアップとスペック変更 †
- VolumesよりCreate Snapshotを選択
- Name: MySnap
- Snapshotsにて作成されていることを確認
- Snapshotを右クリックしCreate Imageを選択
- インスタンスを右クリックしStopを選択
- Stateがstoppedになったらインスタンスを右クリックしChange Instance Typeを選択+ 変更後はインスタンスのStartを実施
データベースを立ち上げてみよう †
- RDSを選択
- TokyoリージョンにてLaunch a DB Instanceを選択
- Engine: MySQL
- DB Instance Class: db.t1.micro
- Multi-AZ Deployment: No
- Allocated Storage: 5GB -> ミニマム5GB
- DB Instance Identifier: MyDBInstance
- Username/Passwordを設定
- Database Name: MyDB1 -> データベース名(オプション)
- Availability Zone: ap-northeast-1a ※EC2と同じ
- Enabled Automatic Backups: yes -> バックアップの有無
- Backup Retention Period: 1 days -> バックアップの周期
- Backup Window: No Reference -> バックアップの希望時間 ※デフォルトはUTC
- Maintenance Window: No Reference -> メンテナンスの希望時間 ※デフォルトはUTC
スペック変更とEC2からの接続 †
- Endpointを確認 -> EC2接続時に必要
- インスタンス右クリックしModifyよりスペック変更が可能
- EC2からの接続
- Security Groupsよりdefaultを選択
- Connection Type: EC2 Security Group
- EC2 Security Group Name: 接続元EC2のSecurity Group
- EC2のSecurity GroupのInboundに3306(MySQL)を追加
- EC2へSSH接続
- MySQLログイン
$ mysql -h [Endpoint] -p 3306 -u [Username] -p
Enter password:
mysql> show databases;
サーバーを増設してみよう †
- MyWeb1のAMI(MyWeb2Image)を作成
- AMIからMyWeb2(AZ:ap-northeast-1c)を作成
- MyWeb1とMyWeb2にアクセスを負荷分散するためMyLoadBalancerを作成
ロードバランサーを設置しよう †
- Load BlancersよりCreate Load Balancerを選択
- Load Balancer Name: MyLoadBalancer
- StatusがOut of serviceからIn Serviceになったことを確認
- DescriptionよりDNS Nameを確認可能
ストレージサービスを使ってみよう †
- S3 Management ConsoleよりCreate Bucketを選択
- Bucket Nameを記入、Regionを選択 ※Bucket Nameはグローバルで一意
- Bucketを選択しCreate Folderでフォルダ作成可能
- PropertiesのLinkが外部からアクセスする際のURL
- ファイルを右クリックしMake Publicを選択
- ブラウザ経由で画像が閲覧できることを確認
- SDK(SDK for PHP等)を利用することでAPIでS3を操作可能
S3でウェブサイトを運用する †
- PropertiesよりAdd bucket policyを選択
- Simple Bucket Policiesより2番目のソースを転記
- Bucketにバケット名に変更 -> Make Publicの自動化
- Static Web HostingをEnableに変更
- Index DocumentとError Docuementを指定
- EndpointにブラウザからアクセスしIndex Documentが表示されることを確認
料金を確認してみよう †
- AWS Management Consoleよりアカウント名のBilling & Cost Managementを選択
|