>>No1エンジニア養成プログラム テックキャンプ
あなたは、ローカルホストで動作するアプリを作り、「最近プログラミングできるようになったな」と感じていませんか?ウェブ上に「https://●●●.herokuapp.com」というURLを作り、「最近アプリつくったんだよね」「え、すごい!」というやりとりをしていますか?もしそうであるならば、プログラミングビギナーの可能性が高いです。もうローカルホストやHerokuで消耗するプログラミングビギナー人生とは訣別しよう―。この記事は、すべての悩める「脱プログラミングビギナー」を目指す未来のエンジニアのための、AWS解説書です。難易度としては、プログラミング初心者の方であっても一読でわかるよう心がけました。
この記事もオススメ
この記事の目次
AWSとは?
AWSとは「アマゾンウェブサービス(Amazon Web Service)」の略称です。アマゾンウェブサービス(以下、AWS)は「クラウドサービスプラットフォーム」の代表格で、同業界において世界トップシェアを誇っています。クラウドサービスプラットフォーム上では、様々なウェブ上の処理を簡単に、素早く、安価に行うための様々なサービスへ瞬時にアクセスすることができます。類似のサービスに、「グーグルクラウドプラットフォーム(Google Could Platform)」や「マイクロソフトアジュール(Microsoft Azure)」などがあります。
Amazonが提供するクラウドサービスプラットフォーム
AWSはアマゾン社が提供する、急成長中のクラウドサービスプラットフォームです。アマゾン社は皆さんもご存知の通り、書籍や日用雑貨の充実度で知られる世界最大手のオンラインショッピングサービス「Amazon.com」を運営しています。Amazon.comによるオンラインショッピング事業を展開していたアマゾン社が、AWSのサービスを開始したのは2006年3月のことでした。以来、本講執筆時点(2016年12月)までの10年間で売上規模は7000億円を超えるなど、サービスは急拡大を続けています。またAWSはビジネスシーンで使われることも多く、以下のような企業が実際にAWSのクライアントになっています。
アマゾンウェブサービスのクライアント一例
- ■ ゼネラルエレクトロニクス
- ■ アドビシステムズ
- ■ ユニリーバ
- ■ ドワンゴ
- ■ グリー
- ■ NASA
- ■ Airbnb
- ■ Abema TV
画像出典1:https://commons.wikimedia.org/
画像出典2:http://www.the-digital-picture.com/
画像出典3:http://master-logo.blogspot.jp/
クラウドサービスプラットフォームとは何か
クラウドサービスプラットフォーム(CSP)とは、ウェブ上の処理を簡単に、素早く、安価に行うための様々なサービスへ瞬時にアクセスを提供するシステムです。CSPを利用することで開発者は、データストレージ、アプリケーションサーバー、アクセス分散システム等のITリソースへ、必要な時に必要な分だけアクセスすることができます。CSPを使用するメリットについては詳しく後述します。
類似サービスの紹介
類似のCSPに、「グーグルクラウドプラットフォーム(Google Could Platform)」や「マイクロソフトアジュール(Microsoft Azure)」があります。それぞれグーグル社とマイクロソフト社が提供しているCSPで、以下のような企業が各社のクライアントとなっています。
グーグルクラウドプラットフォ−ムのクライアント一例
- ■ コカ・コーラ
- ■ フィリップス
- ■ スナップチャット
- ■ ナイアンティックラボ
- ■ エバーノート
- ■ ベストバイ
- ■ HTC
- ■ DeNA
画像出典:https://www.credential.net/
マイクロソフトアジュールのクライアント一例
- ■ セブン&アイホールディングス
- ■ NTTコミュニケーションズ
- ■ バンダイナムコゲームス
- ■ インテリジェンス
- ■ ハイネケン
- ■ レコチョク
- ■ 東京大学
- ■ 東京工業大学
画像出典:http://logo-logotype.com/
この先本記事で得られる知識の紹介
この先本記事を読み進めることで以下のことを腹の底から理解できるようになります。
- ■ AWSとは何か?
- ■ なぜAWSを使うべきなのか?
- ■ どうやってAWSを使うのか?
- ■ AWSエキスパートになるための道筋
ここまでは「AWSとは何か」に焦点を絞ってきました。ここから先は「なぜAWSを使うべきなのか」に論点を移していきます。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合
AWSを使うことによって可能になること
AWSを代表とするクラウドサービスプラットフォーム(CSP)を使用すると、ビジネスやサービスの運営・拡大において多大なる恩恵を享受することができます。CSPの中でも特にAWSは日本語での様々なブログや解説等が充実しており、また無料でできることが多いという良さがあります。
画像出典:https://aws.amazon.com/
クラウドサービスプラットフォームのメリット
CSPを利用することで開発者は、以下のメリットを享受することができます。
- 1. イニシャルコスト・ランニングコストの削減
- 2. 柔軟なスケーラビリティの担保
- 3. サービススピードとスケールの向上
順に説明していきます。
「イニシャルコスト・ランニングコストの削減」について、CSPを使うとビジネスやサービスを開始する際の初期投資、並びに操業費用を大幅に削減することができます。CSPはその名の通りクラウドサービスのため、自分自身でサーバー用のマシン購入や増設、並びにそれに併せた物理環境整備といった煩雑な作業を行う必要がありません。これは大きな人的コストの削減にもつながります。
「柔軟なスケーラビリティの担保」について、CSPを使うとビジネスの急激な規模変化にも柔軟に対応することができます。物理的に固定の自社サーバーを所持していないことで、サイトやサービスへのアクセス数増減によるサーバーのスペックアップ・ダウンにもスムーズに対処することができるようになります。またその柔軟性と即時性から、将来のサーバー負荷予測等を緻密に計算する必要がなくなり、技術者はより創造的な仕事に集中することが可能となります。
「サービススピードとスケールの向上」について、CSPを使うとサービス等の公開・検証・更新を素早く、大規模に実現することができます。数回のクリックで世界中に配置されたサーバーに最適な形でサービスをデプロイできるので、ビジネスの迅速性・規模感を大きく向上させてくれます。また新たなITリソースを導入しサービスの改善検証をしたい場合も、わずか数分で新規リソース導入から環境構築、デプロイまで終えることができるため、検証・改善のサイクルも抜群に速く顧客の機会損失も最小限に抑えることができます。
AWSをオススメする理由
CSPの中でもAWSは、以下の点において優れているため皆さんにオススメしています。
- 1. サーバーの自動回復機能がありダウンタイムをつくらない
- 2. ユーザー数とコミュニティ規模が圧倒的でノウハウの蓄積が多い
- 3. 日本語での説明や解説がダントツで充実している
順に説明していきます。
「サーバーの自動回復機能がありダウンタイムをつくらない」について、AWSではホストサーバーが何らかのトラブルを起こし機能停止した際でも、他のサーバーにて自動的に補完しシステムを自動復旧させる仕組みが備わっています。これによりサービスのダウンタイムが大幅に縮小され、機会損失を最小限に抑えることが可能となっています。
「ユーザー数とコミュニティ規模が圧倒的でノウハウの蓄積が多い」について、AWSはCSPサービス提供者の中でも「2位以下の合計の10倍以上も使われている」こともあり、日々蓄積されていくノウハウの量が圧倒的に多いのです。そのため大抵のエラーや疑問などは検索することで解決できてしまいます。「技術者の仕事の9割はエラー解決」と表現されるほど技術者にとってエラー発生は日常茶飯事のため、これは特筆すべきメリットです。
「日本語での説明や解説がダントツで充実している」について、AWSでは近年日本語での公式説明・解説を大幅に拡充しており、普段日本語を使用する私たちにとって大変利用しやすい環境が作られています。また現在英語のみサポートされているAWS内サービスであっても、検索して何かしら日本語の解説ブログ等を見つけることは難しくありません。それほど日本語ユーザーコミュニティが大きいことの証左でもあります。類似サービスとして名前の挙がることが多いGoogle Cloud Platformと比較しても、この点いかにAWSが優れているか、実感することができます。
画像出典:https://aws.amazon.com/
ここまでは「なぜAWSをつかうべきなのか」に焦点を絞ってきました。ここから先は「どうやってAWSを使うのか」に論点を移していきます。
AWS導入方法完全解説
「AWSをこの記事で初めて知った」というエンジニアの卵でも、数時間後には、自分のアプリケーションをAWS上にデプロイするための環境構築ができていることをお約束します。AWSを利用する際に最初の壁となる専門用語たちの解説から始め、順を追って丁寧に理解してもらうことを目指します。
この記事のハッシュタグ
用語解説からアカウントの作成まで
AWSを導入しようとして挫折してしまう最初の要因は、解説の不足でも作業の難易度でもなく、カタカナ専門用語の多さだと言えます。日本語の解説が豊富にあるとは言え、そこで使われている用語たちはあくまでも英単語をカタカナ表記しただけのものがほとんどです。ここではまず、それらカタカナ専門用語の中から特に頻出する言葉について説明し、その後実際にAWSアカウントを作り始めるところまでを解説していきます。
AWSマスターへの登竜門 ー 用語の解説
まずは、頻出かつ重要な以下の用語たちを解説します。
- ■ リージョン
- ■ アベイラビリティゾーン
- ■ マネージメントコンソール
- ■ API(エーピーアイ)
リージョン:AWSのデータセンターが設置されている、相互に地理的に離されたエリアの呼称。データセンターとは、物理的にサーバー等が設置され実際の保守・運用している場所のことを指します。自然災害や天変地異の可能性も考慮し、AWSではカリフォルニア、シンガポール、アイルランド、東京等、世界各地に10箇所弱のリージョンを構えサービスを運用しています。
アベイラビリティゾーン:リージョン内にある、相互に物理的に数十キロ以上離れた各データセンターの呼称。1リージョンは最低2つのアベイラビリティゾーンから構成されています。また同一リージョン内のアベイラビリティゾーンは互いにネットワーク接続されています。そのため何らかの障害によりひとつのアベイラビリティゾーンが機能しなくなった際でもすぐに、ネットワーク接続された他のアベイラビリティ・ゾーンを使用することでサービスを復旧させることが可能となっています。
マネージメントコンソール:AWSの各種サービスを利用する際にいちばん最初に見ることになる管理画面。サービスの一覧から構成され、非常にシンプルなインターフェースとなっています。
API(エーピーアイ):アプリケーションプログラムインターフェイスの略語。オンラインに存在するソフトウェアの機能の一部を、他のソフトウェアからも利用できるようにした仕組みのこと。俗に言う「APIを叩く」とは「APIを利用する」ことを意味しています。API機能を持った外部ソフトウェアにアクセスすることにより、自分がやりたいことを自分が全て実装するよりも速く、高品質に、低価格で実現するためやるのが一般的です。
次に、最もよく利用される以下のAWS内サービスたちを解説します。
- ■ S3 / Amazon シンプルストレージサービス
- ■ EC2 / Amazon エラスティックコンピュートクラウド
S3 / AWSシンプルストレージサービス:インターネット経由で使用可能なストレージサービス。これを使用することで、ウェブ上のどの場所からも、いつでも、いくらでも、データを保存し取得することができます。またS3はそのデータ堅牢性によっても知られ、「Amazon S3に1万個のデータを保存したとして、そのうち1つが障害によって失われるのに平均で1000万年ほどかかるレベル」だと、公式発表されているほど。
EC2 / Amazon エラスティックコンピュートクラウド:アプリケーションやソフトウェアを実際に動かすためのサーバーの作成・管理できるサービス。EC2で管理できるサーバーは「インスタンス」と呼ばれます。インスタンスの種類は、LinuxやUnix、WindowsといったOS、さらに処理速度やキャパシティ等のスペック面を指定して選択することができます。そもそもサーバーとは、「電源つけっぱなしでネットに繋がった画面のないパソコン」だと表現できます。サーバーとは何か、改めて確認したい方は下記の資料をご参照ください。
「非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術」
ここまでは「専門用語解説」に焦点を絞ってきました。ここから先は「AWSアカウントのつくり方」に論点を移していきます。
アカウントの作成
AWSアカウントの作成は、Amazonアカウントの作成と非常に似ています。すこし英語が多いため若干「ウッ」となる部分もあるかと思いますが、Amazonのアカウントを作ったことのある皆さんだったらきっと大丈夫です。下準備として、まずはこちらからAWSのサイトを開いておきましょう。
準備が整ったら、早速始めます。
①AWSのサイトにアクセスしてサインアップボタンを押します
②ログイン情報を登録します
サインアップボタンをクリックすると、画像のようなページに遷移するので、メールアドレスを入力し、「I am a new user.」を選択します。最後にオレンジ色のボタンをクリックします。
③個人情報を登録します
画像のような基本情報を入力するページに遷移するので、各項目を入力して「Create Account」をクリックします。
次に、画像のような連絡先情報を入力するページに遷移します。各項目入力とアグリーメントをクリックして、アカウントを作成します。入力は、全て半角英数字で入力します。
次に、支払情報を入力するページに遷移するので各項目の入力をし、「次へ」をクリックします。
④本人確認をします
以下の画像のような本人確認をするページに遷移するので、「すぐに連絡を受ける」をクリックします。電話が掛かって来るので、画面に表示されるPIN番号を入力します。本人確認が完了したら、次へ進みます。
⑤サポートプランを選択します
以下の画像のようなサポートプランを選択するページに遷移します。ベーシックプランを選択し、次へ進みます。
これにてAWSアカウント作成完了です!数分後に、登録したメールアドレス宛に確認メールが届きますが、認証等はありませんので今はチェックする必要はありません。
⑥作成したアカウントでサインインします
AWSマネジメントコンソールにサインインします。AWSトップページから「アカウント」>「AWSマネジメントコンソール」を選択するとサインイン画面に移行します。先程登録したメールアドレスとパスワードを入力し、サインインします。サインイン後、以下の画像のような画面が表示されたら正しくサインインできています。
もしもの時の退会方法
登録の方法を教えるのならば、退会の方法まで教えるのが義理というもの。ということで、もしもAWSを使わなくなった時、既存のアカウントを閉じて新しいアカウントを作りたいときなどのために、AWS退会の方法を簡単にお教えします。
- 1. AWSマネジメントコンソールにサインインします
- 2. サインインしたまま「Billing and Cost Managementコンソール」を開きます
- 3. サイト上部のナビゲーションバーからアカウント名選択します
- 4. ドロップダウンリストの中から「アカウント」を選択します
- 5. ページの最後までスクロールします
- 6. 「Close Account」の下にあるチェックボックスをオンにします
- 7. 「Close Account」を選択します
たった7つのステップですが、これで退会が完了となります。なおAWSの仕様として、AWSアカウントを解約した後でも、サインインして過去の請求を確認したり、カスタマーサポートに問い合わせたりすることができます。詳細については、「カスタマーサポートへの請求に関するお問い合わせ」を参照してください。
ここまでは「AWSアカウントのつくり方」に焦点を絞ってきました。ここから先は「AWSでアプリケーションをデプロイするための環境構築」に論点を移していきます。
AWSでアプリケーションをデプロイするための環境構築
誇大に聞こえるかもしませんが、インターネットの世界は、どこまでも続く砂漠のような空間です。その砂漠の上にある家が、サーバーになります。サーバーとは、アプリケーションが設置されている画面の無いコンピューターのことを言いますが、サーバーは常時ネットワークに接続されているため、インターネットという広大な砂漠の中において、世界中のどのコンピューターからも訪問可能な家だと思ってください。
今回使用する「Amazon EC2」とは?
「Amazon EC2」というサービスは、仮想サーバーを扱いやすい形で提供するサービスです。Amazon EC2は以下の画像のように、仮想サーバーを大量生産する製造マシーンのような役割を果たします。
しかし、家を建てるためにはそもそも土地整備が必要になります。以後の説明では以下の画像のように、作成したアプリケーションを世界に公開する下準備として、AWS内での土地整備、即ち環境構築をすることを目指します。
リージョンを設定する
AWSは、世界の11箇所に分散されたデータセンター郡によって構成されています。データセンターとは、サーバーやネットワーク機器などのIT機器を設置・運用する設備・建物の総称です。データセンター群とは、それらの設備・建物の集合のことを言います。そして、それぞれの地域に存在するデータセンター郡のことを「リージョン」と呼びます。例えば、シドニーリージョン、東京リージョンなどがあります。
それぞれのリージョンは、更に細かい「アベイラビリティゾーン」に分割されています。このように、物理的に設備を拡散することで、あるアベイラビリティゾーンが地震や洪水などの被害を受けても、他のアベイラビリティゾーンと連携することで、被害を最小限に抑えることが可能になります。
また、各アベイラビリティゾーンは独立した設備を用いています。よって、あるアベイラビリティゾーンが被害を受けても、他のアベイラビリティゾーンには影響がありません。このような物理的ネットワークにより、AWSはその機能を保ち、正常に稼働させ続けることのできる耐障害性を高めています。
以下の画像は、リージョンとアベイラビリティゾーンのイメージ図です(※図には4つのリージョンがありますが、実際には、11のリージョンがあります)。
AWSのEC2で仮想サーバーを構築する際は、どのリージョンの、どのアベイラビリティゾーンに置くのかを選択する必要があります。まずは、この設定をしましょう。
まずはAWSアカウントにログインし、マネジメントコンソールを表示させます。以下の画像の手順に従い、リージョンを東京に設定しましょう。
ページを更新した際に、「東京」と表示されていれば、正しく設定出来ています。
VPCとは何か?
VPCとはVirtual Private Cloudの略語で、AWS上での自身の所有領域になります。VPCのイメージ図は、以下の画像になります。
VPCを構築することで、ネットワークセキュリティーを高めることや、自身の所有領域の中での自由なネットワーク設計が可能になります。
またVPCを構築することは、クラウド上にLANネットワークを構築するのに似ています。LANとは、Local Area Network (ローカルエリアネットワーク)の略語で、このLANが存在していることにより、個々に存在している通信機器を、一つのグループとしてまとめてあげることができるようになります。
例えば家庭に2台以上のパソコンがある場合を想像してみます。それらパソコンが全て1つのLANに属することによって、一方のパソコンで編集したファイルをもう一方のパソコンで閲覧することが出来たり(ファイルの共有)、独自の設定をLAN内のみで行えたりと、様々なメリットを享受できるようになります。また、このLANの仕組みは設定次第でインターネット接続への応用も可能となります。
VPCは、まさにLANが通常行っている役割をAWS上において果たす存在なのです。
VPCを作成する
マネジメントコンソールを開きます。以下の画像のようなページが表示されたら、左下の「VPC」をクリックします。
次に、以下の画像のような手順で、「VPCの作成」画面が出るところまで作業を進めます。
以下の情報を入力して、「作成」をクリックします。
項目 | 設定例 |
ネームタグ | vpc_practice |
CIDRブロック | 10.0.0.0/16 |
テナンシー | デフォルト |
ネームダグとは、今回作成するVPCの名前です。VPCであることが分かりやすい名前を付けてあげましょう。今後、各作業においてネームダグを作成することになります。今後出てくるネームタグの説明は省略するので、是非ここで、ネームタグとはある作業における名前であるということを覚えてしまいましょう。
サブネットとは何か?
サブネットとは、VPCを更に小さなCIDRブロックに分割したグループのことを言います。サブネットに分割することで、その部分でネットワークを分けることが可能になります。
同じVPCの中で更に分割するメリットは2つあります。
1つ目はVPCの中での隔離です。片方のサブネットに不具合が生じても、その不具合による影響がもう片方に出にくくなります。例えば同じ土地を完全に独立した2つの土地に分割して、独立に家を建てるとします。このとき、2つに分けた内の1つの土地で作業の執行に支障が出たとしても、独立しているもう1つの土地は影響なく作業を進めることが出来ます。
2つ目はセキュリティーの強化です。分けたサブネットに対して異なる役割を与えることが出来るため、「これらは外部通信だけを行う」、「これらは内部通信だけを行う」というように、ネットワーク別の設定が出来ます。先ほどの例で例えると、2つに分けた内の1つの土地では来客用の建物を建てて、もう1つの土地では土地所有者が住む建物を建てるとします。このとき、外部から訪れた客は、土地所有者のプライベートな建物の中を知らないので、セキュリティー上、より安全と言えます。
サブネットを作成する
「マネジメントコンソール」>「VPC」を選択し、VPCダッシュボードが表示されたら以下の画像のような手順で「サブネット作成」画面が出るところまで作業を進めます。
以下の情報を入力して、「作成」をクリックします。
項目 | 設定例 |
ネームタグ | subnet_practice |
VPC | vpc_practice |
CIDRブロック | 10.0.0.0/24 |
アベイラビリティゾーン | ap-northeast-1a |
以上の作業で、以下の図のようなサブネットを持ったVPCを作成することが出来ました。
インターネットゲートウェイとは何か?
インターネットゲートウェイとは、その名の通り、インターネットの入り口のことを言います。今までのVPCやサブネットはあくまでAWS内での占有領域でしたが、インターネットに接続するには、このプライベートな領域から外に出る必要があります。その窓口となるのが、今回のインターネットゲートウェイになります。
インターネットゲートウェイを作成する
VPCダッシュボードを開いていることを確認したら、以下の画像のような手順で、「インターネットゲートウェイの作成」画面が出るところまで作業を進めましょう。
以下の情報を入力して、「作成」をクリックします。
項目 | 設定例 |
ネームタグ | gateway_practice |
次に、VPCを紐付ける作業をします。この紐付けによって、選択したゲートウェイを通りインターネットに接続することが可能になります。この段階では、ゲートウェイとVPCはまだ紐付けられていない状態です。以下の画像のような手順で、作成したVPCと紐付ける作業をしましょう。
作成したVPCを選択して、「アタッチ」をクリックします。状態が紐付けられたのを確認しましょう。
以上の作業で、以下の図のような設定を作成することが出来ました。
ルートテーブルとは何か?
ルートテーブルとは、通信に関するルールブックのようなものになります。AWSのVPCでは、サブネットごとにルートテーブル、つまりルールブックを設定することが可能です。よって、宛先IPアドレスの値が〇〇のときはXXのネットワークに流す、といったようなルールをサブネットごとに設定することができます。
ルートテーブルを作成する
VPCダッシュボードを開いていることを確認したら、以下の画像のような手順で、「ルートテーブルの作成」画面が出るところまで作業を進めます。
以下の情報を入力して、「作成」をクリックします。
項目 | 設定例 |
ネームタグ | route_practice |
VPC | vpc_practice |
サブネットとの紐付けを行います。ルートテーブルと紐付けたいVPC(先ほど作成したもの)を選択しましょう。
VPCとルートテーブルを紐付けたので、実際に通信におけるルールを作成していきます。以下の画像のように、作成したルートテーブルを選択した状態で、下のタブ「ルート」を選択し、「編集」を選択します。
次に、以下の画像のように、「別ルートの追加」をクリックします。
以下の画像のような画面が表示されたら、送信先を「0.0.0.0/0」に指定して、ターゲットを先ほど作成したゲートウェイにします。
次に、作成したサブネットの紐付けを行います。以下の画像のように手順を追って、サブネットをルートテーブルに紐付けます。
以上の作業で、以下の図のような設定を作成することが出来ました。
セキュリティーグループとは?
セキュリティーグループとは、その名の通り、セキュリティーに関するルールを記載したものです。「この通信は許可」「この通信は拒否」と言った具合に、任意のグループ毎にセキュリティーのルールを設定できます。
セキュリティーグループを作成する
VPCダッシュボードを開いていることを確認したら、以下の画像のような手順で、「セキュリティグループの作成」画面が出るところまで作業を進めます。
以下の情報を入力して、「作成」をクリックします。
項目 | 設定例 |
ネームタグ | security_group_practice |
グループ名 | security_group_practice |
説明 | sample |
VPC | vpc_practice |
セキュリティーグループには、インバウンドルールとアウトバウンドルールというものがあります。インバウンドルールとは、どのような通信が来たら許可するのかを指定するものです。これに対してアウトバウンドルールとは、どの様な通信を送ると許可されるのかを指定するものです。
セキュリティーグループのデフォルト設定では、インバウンドルールを追加するまで、全て外部から来る通信を拒否する設定になっています。また、アウトバウンドルールを追加するまで、全ての外部への通信を許可する設定になっています。
現状では、外部から来る通信を全て拒否する設定になっているので、こちらでインバウンドルールを設定し、外部からの通信を受け付けられるようにします。以下の2枚の画像にそって、インバウンドルールを設定します。
デフォルトでは上の画像に表示されている「カスタムTCPルール」と「TCP(6)」が選択されていますが、以下のルールを設定しましょう。今回は、以下の通信のみを許可します。
タイプ | プロトコル | ポート範囲 | 送信元 |
SSH(22) | TCP(6) | 22 | 0.0.0.0/0 |
HTTP(80) | TCP(6) | 22 | 0.0.0.0/0 |
以上の作業で、以下の図のような設定を作成することが出来ました。
AWS環境構築まとめ
- ■ VPCとは、AWS内に作成することの出来る、自身の所有領域
- ■ サブネットとは、VPCを更に分割したグループ
- ■ インターネットゲートウェイとは、自身の所有領域を、外部と繋げる窓口
- ■ ルートテーブルとは、サブネットとVPC内での通信に関するルールブック
- ■ セキュリティーグループとは、外部と通信する際のセキュリティーに関するルール
以上で、AWSでアプリケーションをデプロイするための環境構築が完了しました!作業は単純だと思いますが、その内容を把握するのはそう簡単ではありません。AWSの仕組みは非常に複雑でその全てを把握することは非常に困難ですから、興味があればもっと細かい部分をすこしずつ調べてみましょう!
今後の学習方法
ここまででAWSの基本的な設定は全て完了しましたので、あとは実際にアプリケーションをデプロイするのみとなります。ここから先は、アプリケーションの仕様によっても方法が変わって来てしまいますので、豊富なAWSコミュニティの知識を検索しつつ、進めていきたいですね。
オススメのAWS学習記事
数ある解説記事の中でも、非常に丁寧に解説してあるプログラミングスクールのテックキャンプ プログラミング教養講師が執筆したものを紹介します。これまで紹介してきたAWS環境構築から、実際にアプリケーションをAWS上で動かすところまで、丁寧に解説してくれています。
使用している開発環境は「Ruby on Rails」です。
「世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで」
まとめ − AWSを使うと幸せになれる
以上で「AWSとは何か」「なぜAWSを使うべきなのか」「どうやってAWSを使うのか」の解説は終了です。ウェブサイト、ソフトウェア、アプリケーション関連のお仕事に今後携わる方々はいま一度確認しておきたい必見の話題だったのではないでしょうか?
今後、CSPの有効活用は間違いなくホットトピックのひとつになっていきます。今のうちに基本となる「概念」の部分から理解しておくことで、必ずや後々の自分のタメになっていきます。皆さんが一歩進んだデキる人材になり、より幸せに人生を送られることをお祈りしています!
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。