GitHubとは?AWSとGitHubを利用したデプロイについて解説


AWSとは?
AWSはAmazon Web Servicesの略で、世界でも最も広く採用しているクラウドプラットフォームです。
豊富な機能に最大規模のコミュニティを持ちながら、セキュアな環境でクラウド開発が可能です。さまざまな業種で利用ができ、広告やマーケティング、金融業、製造業など多様な業種の人々に利用されています。
もし今までオンプレミスデータセンターにてデータのバックアップを管理していた場合、AWSを利用することで負荷とネットワークの制約から解放されます。
AWSのメリットとデメリット
AWSを利用するうえで、知っておきたいメリットとデメリットが存在します。
AWSのメリットとしては主に利用料金について、デメリットとしては運用の自由度について紹介します。
メリット
AWSの大きなメリットとしては、初期費用が掛からず低価格で利用できることが挙げられます。
固定費は掛からず、利用料に応じた従量課金のみが掛かります。そのため、まだまだ事業計画の見通しが立たない場合でも将来の事業に応じてITリソースを使用できます。またAWSは継続的な値下げも行っており、2006年のサービス開始以降幾度となく値下げしています。
例えば、繁忙期ではAWSのITリソースを大きく使用し、そうでない時はあまり使用しないようにすることで、オンプレミス環境に比べ無駄なコストを削減することが可能です。
デメリット
AWSのデメリットには、保守運用での自由度がない点があります。
AWSはメンテナンスの時期を通知してはいるものの、予想通り保守イベントが行われないことも多々あります。また、AWSではインフラを提供しているだけであるため、トラブル時の対応は行ってくれません。
これにより、仕事が予定通りいかない可能性もオンプレミス環境に比べると比較的高いでしょう。
もし運用を自由にカスタマイズしたいのであれば、オンプレミス環境の利用の方が優れています。
GitHubとは、コードの管理サービスのこと
GitHubとは、無料で利用できる開発者のためのコミュニティです。
プログラムコードやデザインデータを保存・公開できるソースコードの管理はGitHubが行ってくれます。世界中の人々が自分のプログラムコードやデザインデータなどを保存し公開できます。
これにより、数百万人もの他の開発者と一緒にコードを評価しあうことや、アイデアを共有することで、皆がお互いに学びあえます。
例えば、開発者同士のコミュニケーション不足によりソフトウェア開発が進まないという場合、GitHubでその課題を解決することでよりスピーディーで効率的な開発することが可能になります。
AWS CodeDeployとは?
AWS CodeDeployでは、Amazon EC2インスタンスなどのアプリケーションサービスのデプロイを自動化できます。
プラットフォームに関わらず、全てのアプリケーションで利用可能です。複数のアプリケーションをデプロイしたい際も、同じインスタンスのセットで同時にデプロイ可能です。
例えば、オープンソースツールのJenkinsとPuppetをAWS CodeDeployで統合することも可能です。
GitHubからアプリケーションをCodeDeployする方法
GitHubからアプリケーションをCodeDeployする方法を踏む前に、ローカル環境にGitをインストールしておきましょう。
それでは、下記にて順を追ってGitHubからアプリケーションをCodeDeployする方法を説明します。
GitHub アカウントを設定する
GitHubのアカウントを作成します。
GitHubアカウント作成には、ユーザー名、Eメールアドレス、パスワードが必要になります。
もし今まで使用しているEメールアドレスとは別のメールアドレスを使用したい場合は、この手順を踏む前に新しいEメールアドレスを作成しておきましょう。
GitHub リポジトリを作成
2つ目に、GitHubリポジトリを作成します。
GitHubリポジトリの作成には、ローカルマシンでタイプ別にコマンドラインにて別のコマンドを打つ手順があります。
例えばローカルLinux、macOS、Unixマシンの場合は
mkdir /tmp/CodeDeployGitHubDemo
cd /tmp/CodeDeployGitHubDemo
touch README.md
git init
git add README.md
git commit -m "My first commit"
git remote add origin https://github.com/user-name/CodeDeployGitH
ubDemo.git
git push -u origin master
こちらのコードを1つずつ実行します。
GitHub リポジトリにサンプルアプリケーションをアップロード
3つ目に、GitHubリポジトリにサンプルアプリケーションをアップロードしましょう。
こちらの手順も、GitHubリポジトリにサンプルリビジョンをプッシュする際にローカルマシンのタイプ別に打つコマンドが異なります。
例えば、日本にてLinux、macOS、Unixマシンで作業する場合は、ターミナルを/tmp/CodeDeployGitHubDemoで開いたままにして、
aws s3 cp s3://aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip . --region ap-northeast-1
unzip SampleApp_Linux.zip
rm SampleApp_Linux.zip
git add .
git commit -m "Added sample app"
git push
と1つずつ打ちましょう。
インスタンスを作成および設定
4つ目に、インスタンスを作成します。
CodeDeployにサポートされているOSいずれかで実行されているインスタンスにデプロイが可能です。
CodeDeployデプロイで利用するためのインスタンスを既に設定している場合は、このステップは飛ばして問題ありません。
アプリケーション、デプロイグループの作成
5つ目に、デプロイ用のアプリケーションおよびデプロイグループを作成します。
こちらの作成には、CodeDeployコンソールもしくはAWS CLIを使用します。
AWS CLIを使用する場合は、
aws deploy create-application --application-name CodeDeployGitHubDemo-App
こちらのコマンドでアプリケーションを作成し、その後create-deployment-groupコマンドを使用してCodeDeployGitHubDemo-DepGrpという名前でデプロイグループを作成します。
アプリケーションをインスタンスにデプロイ
6つ目に、アプリケーションをインスタンスにデプロイします。
デプロイするには、CodeDeployコンソールもしくはAWS CLIを使用します。ローカルマシンのOSによってデプロイ方法の手順は異なる部分があります。
もしこちらの手順書を作成したい場合、CodeDeployコンソールでのデプロイ方法はOSによる手順の差はないため、統一的な手順書を作成できます。
展開の監視と検証、クリーンアップ
デプロイが問題なく行われたのかの確認と、使用したリソースを終了しましょう。
確認には、CodeDeployコンソールまたはAWS CLIを使用します。確認が済んだ後は、使用したCodeDeployデプロイコンポーネントレコードなどを削除しましょう。
もしAmazon EC2インスタンスや関連リソースの終了を怠った場合、予期しない追加料金が発生する可能性があります。
AWSとGitHubを組み合わせて、スマートなデプロイ機能を構築しよう!
AWSとGitHubを組み合わせることで、デプロイ機能を自動化できます。
1つのインスタンスに限らず、数千のインスタンスへ比較的手間も少なくデプロイができます。
まずは少額から、こちらのサービスを試してみてください。
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。