AWS Cloud9
ユーザーガイド

AWS Cloud9 の AWS CodeCommit サンプル

このサンプルでは、CodeCommit のリモートコードディレクトリを操作するように AWS Cloud9 開発環境 を設定できます。CodeCommit はソースコードコントロールサービスです。このサービスで Git リポジトリを AWS クラウドにプライベートに保存して管理できます。CodeCommit の詳細については、AWS CodeCommit ユーザーガイド を参照してください。

このサンプルを作成すると、AWS アカウントに課金される場合があります。これには、Amazon EC2 や CodeCommit などのサービスで発生する可能性がある料金も含まれます。詳細については、「Amazon EC2 料金表」および「AWS CodeCommit 料金表」を参照してください。

前提条件

このサンプルを使用する前に、以下の前提条件を満たしていることを確認します。

  • 既存の AWS Cloud9 EC2 開発環境 がある。 このサンプルでは、Amazon Linux または Ubuntu Server を実行する Amazon EC2 インスタンスに接続された EC2 環境 が既にあることを前提としています。別のタイプまたはオペレーティングシステムの 環境 がある場合、このサンプルの手順を調整して関連ツールをセットアップする必要がある場合があります。詳細については、「AWS Cloud9 で 環境 を作成する」を参照してください。

  • 既存の環境に既に開いている AWS Cloud9 IDE がある。 環境 を開くと、AWS Cloud9 によってその 環境 の IDE がウェブブラウザで開かれます。詳細については、「AWS Cloud9 で環境を開く」を参照してください。

ステップ 1: 必要なアクセス権限を持つ IAM グループをセットアップする

AWS 認証情報が AWS アカウントの IAM 管理者ユーザーに関連付けられており、このユーザーを使用して CodeCommit を操作する場合は、「ステップ 2: AWS CodeCommit のリポジトリを作成する」までスキップします。

このステップは、AWS マネジメントコンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使って完了できます。

コンソールを使用して、必要なアクセス権限を持つ IAM グループをセットアップする

  1. AWS マネジメントコンソールにまだサインインしていない場合は、サインインします。

    このステップでは、AWS アカウントの IAM 管理者ユーザーの認証情報を使用してサインインすることをお勧めします。これを実行できない場合は、AWS アカウントの管理者に確認してください。

  2. IAM コンソールを開きます。これを行うには、コンソールのナビゲーションバーで、[サービス] を選択します。次に、[IAM] を選択します。

  3. [グループ] を選択します。

  4. グループの名前を選択します。

  5. [アクセス許可] タブの [管理ポリシー] で [ポリシーのアタッチ] を選択します。

  6. ポリシー名のリストで、次のいずれかのボックスを選択します。

    • [AWSCodeCommitPowerUser] は CodeCommit のすべての機能およびリポジトリ関連リソースへのアクセスをユーザーに許可しますが、CodeCommit リポジトリの削除、または Amazon CloudWatch Events などの他の AWS のサービスのリポジトリ関連リソースの作成または削除はできません。

    • リポジトリを削除する機能を含め、CodeCommit リポジトリと AWS アカウントの関連リソースを完全に制御するには、[AWSCodeCommitFullAccess] を選択します。

    (これらのポリシー名のいずれかがリストに表示されない場合は、[フィルタ] ボックスにポリシー名を入力して表示させます。)

  7. [ポリシーのアタッチ] を選択します。

これらの AWS 管理ポリシーがグループに付与するアクセス許可のリストを表示するには、AWS CodeCommit ユーザーガイド の「AWS CodeCommit の AWS 管理 (事前定義) ポリシー」を参照してください。

ステップ 2: AWS CodeCommit のリポジトリを作成する」に進みます。

AWS CLI を使用して、必要なアクセス許可を持つ IAM グループをセットアップする

必要なアクセス権限を記述する AWS 管理ポリシーのグループの名前とポリシーの Amazon リソースネーム (ARN) を指定して IAM attach-group-policy コマンドを実行します。以下に例を示します。

aws iam attach-group-policy --group-name MyGroup --policy-arn POLICY_ARN

前述のコマンドでは、MyGroup をグループの名前に置き換えます。以下のように、POLICY_ARN を AWS 管理ポリシーの ARN に置き換えます。

  • arn:aws:iam::aws:policy/AWSCodeCommitPowerUser は、CodeCommit のすべての機能およびリポジトリ関連リソースへのアクセスをユーザーに許可しますが、CodeCommit リポジトリの削除、または Amazon CloudWatch Events などの他の AWS のサービスのリポジトリ関連リソースの作成または削除はできません。

  • arn:aws:iam::aws:policy/AWSCodeCommitFullAccess は、リポジトリを削除する機能を含め、CodeCommit リポジトリと AWS アカウントの関連リソースを完全に制御します。

これらの AWS 管理ポリシーがグループに付与するアクセス許可のリストを表示するには、AWS CodeCommit ユーザーガイド の「AWS CodeCommit の AWS 管理 (事前定義) ポリシー」を参照してください。

ステップ 2: CodeCommit にレポジトリを作成する

このステップでは、CodeCommit コンソールを使用して CodeCommit にリモートコードリポジトリを作成します。

すでに CodeCommit リポジトリがある場合は、「ステップ 3: 環境をリモートリポジトリに接続する」に進みます。

このステップは、AWS マネジメントコンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使って完了できます。

コンソールを使用して CodeCommit に新しいリポジトリを作成する

  1. 前のステップで IAM 管理者ユーザーとして AWS マネジメントコンソールにサインインしていて、IAM 管理者ユーザーを使用してリポジトリを作成しない場合は、AWS マネジメントコンソールからログアウトします。

  2. CodeCommit コンソール (https://console.aws.amazon.com/codecommit) を開きます。

  3. コンソールのナビゲーションバーで、リージョンセレクタを使用して、リポジトリの作成先の AWS リージョンを選択します (例: 米国東部 (オハイオ))。

  4. ウェルカムページが表示された場合は、[今すぐ始める] を選択します。それ以外の場合は、[リポジトリの作成] を選択します。

  5. [リポジトリの作成] ページの [レポジトリ名] に、新しいレポジトリの名前を入力します (例: MyDemoCloud9Repo)。(別の名前を選択する場合は、このサンプル全体でそれに置き換えてください。)

  6. (オプション) [説明] に、リポジトリに関する説明 (This is a demonstration repository for the AWS Cloud9 sample. など) を入力します。

  7. [リポジトリの作成] を選択します。[リポジトリに接続] ペインが表示されます。[閉じる] を選択します。このトピックの後半で別の方法でリポジトリに接続するためです。

ステップ 3: 環境をリモートリポジトリに接続する」に進みます。

AWS CLI を使用して CodeCommit に新しいリポジトリを作成する

リポジトリの名前、オプションの説明、およびリポジトリを作成する AWS リージョンを指定して、AWS CodeCommit create-repository コマンドを実行します。次に例を示します。

aws codecommit create-repository --repository-name MyDemoCloud9Repo --repository-description "This is a demonstration repository for the AWS Cloud9 sample." --region us-east-2

前述のコマンドで、us-east-2 を AWS リージョンの ID に置き換えてリポジトリを作成します。サポートされているリージョンのリストについては、アマゾン ウェブ サービス全般のリファレンス の「AWS CodeCommit」を参照してください。

(別のリポジトリ名を使用する場合は、このサンプル全体でそれに置き換えてください。)

ステップ 3: 環境 をリモートリポジトリに接続する

このステップでは、AWS Cloud9 IDE を使用して、前のステップで作成または特定した CodeCommit リポジトリに接続します。

AWS Cloud9 開発環境 の種類に応じて、次の一連の手順のいずれかを実行します。

環境タイプ 以下の手順に従います

EC2 環境

  1. IDE のターミナルセッションから、次の 2 つのコマンドを実行します。

    git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true

    詳細については、AWS CodeCommit ユーザーガイド の「AWS Cloud9 と AWS CodeCommit の統合」の「ステップ 2: AWS Cloud9 EC2 開発環境で AWS CLI の認証情報ヘルパーを設定する」を参照してください。

  2. このトピック後半の「ステップ 4: リモートリポジトリのクローンを環境に作成する」に進みます。

SSH 環境

  1. Git が 環境 にまだインストールされていない場合は、IDE のターミナルセッションを使用してインストールします。詳細については、AWS CodeCommit ユーザーガイド の「Linux, macOS, or Unix 上で AWS CodeCommit リポジトリに SSH 接続するために必要なセットアップ手順」の「ステップ 2: Git をインストールする」を参照してください。

  2. AWS CodeCommit ユーザーガイド の「Linux, macOS, or Unix 上で AWS CodeCommit リポジトリに SSH 接続するために必要なセットアップ手順」の「ステップ 3: Linux, macOS, or Unix 上で認証情報を設定する」を参照してください。

    AWS マネジメントコンソールにサインインして IAM コンソールを開くように指示されたら、AWS アカウントの IAM 管理者ユーザーの認証情報を使用してサインインすることをお勧めします。これを実行できない場合は、AWS アカウントの管理者に確認してください。

  3. このトピック後半の「ステップ 4: リモートリポジトリのクローンを環境に作成する」に進みます。

ステップ 4: リモートリポジトリのクローンを 環境 に作成する

このステップでは、AWS Cloud9 IDE を使用して CodeCommit のリモートリポジトリを 環境 にクローンします。

リポジトリのクローンを作成するには、git clone コマンドを実行します。次のように、リポジトリのクローン URL を指定します ( CLONE_URL )。

git clone CLONE_URL

EC2 環境 の場合は、https:// で始まる HTTPS クローン URL を指定します。SSH 環境 の場合は、ssh:// で始まる SSH クローン URL を指定します。

完全なクローン URL を取得するには、AWS CodeCommit ユーザーガイド の「AWS CodeCommit コンソールを使用してリポジトリの詳細を表示する」を参照してください。

リポジトリにファイルがない場合は、「You appear to have cloned an empty repository.」のような警告メッセージが表示されます。これは想定される動作で、後で説明します。

ステップ 5: リポジトリにファイルを追加する

このステップでは、環境 にクローン下リポジトリに 3 つのシンプルなファイルを作成します。その後、ファイルをクローンされたリポジトリの Git ステージング領域に追加し、ステージングされたファイルをコミットして、そのコミットを CodeCommit のリモートリポジトリにプッシュします。

クローンされたリポジトリにすでにファイルが含まれている場合、操作は不要で、このサンプルの残りの部分はスキップできます。

リポジトリにファイルを追加するには

  1. 新しいファイルを作成します。メニューバーで [File (ファイル)]、[New File (新規ファイル)] の順に選択します。

  2. ファイルに次の内容を入力してから、[File (ファイル)]、[Save (保存)] の順に選択してファイルを bird.txt として 環境 の MyDemoCloud9Repo ディレクトリに保存します。

    bird.txt -------- Birds are a group of endothermic vertebrates, characterized by feathers, toothless beaked jaws, the laying of hard-shelled eggs, a high metabolic rate, a four-chambered heart, and a lightweight but strong skeleton.

    注記

    このファイルが正しいディレクトリに保存されたことを確認するには、[Save As (名前を付けて保存)] ダイアログボックスで MyDemoCloud9Repo フォルダを選択し、[Folder (フォルダ)] に /MyDemoCloud9Repo が表示されていることを確認します。

  3. 次の内容で insect.txtreptile.txt という名前の残り 2 つのファイルを作成し、同じ MyDemoCloud9Repo ディレクトリに保存します。

    insect.txt ---------- Insects are a class of invertebrates within the arthropod phylum that have a chitinous exoskeleton, a three-part body (head, thorax, and abdomen), three pairs of jointed legs, compound eyes, and one pair of antennae.
    reptile.txt ----------- Reptiles are tetrapod (four-limbed vertebrate) animals in the class Reptilia, comprising today's turtles, crocodilians, snakes, amphisbaenians, lizards, tuatara, and their extinct relatives.
  4. ターミナルで、cd コマンドを実行して MyDemoCloud9Repo ディレクトリに切り替えます。

    cd MyDemoCloud9Repo
  5. git status コマンドを実行して、ファイルが正しく MyDemoCloud9Repo ディレクトリに保存されたことを確認します。3 つのファイルはすべて追跡されていないファイルとして表示されます。

    Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt insect.txt reptile.txt
  6. git add コマンドを実行して、ファイルを Git ステージング領域に追加します。

    git add --all
  7. git status コマンドを実行して、ファイルが正しく Git ステージング領域に追加されたことを確認します。3 つのファイルがすべてコミットされる変更としてリストされます。

    Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: bird.txt new file: insect.txt new file: reptile.txt
  8. git commit コマンドを実行して、ステージングされたファイルをコミットします。

    git commit -m "Added information about birds, insects, and reptiles."
  9. git push コマンドを実行して、コミットを CodeCommit のリモートリポジトリにプッシュします。

    git push -u origin master
  10. ファイルが正常にプッシュされたかどうかを確認します。CodeCommit コンソール (https://console.aws.amazon.com/codecommit) を開きます (まだ開いていない場合)。

  11. ナビゲーションバーの右上で、リポジトリを作成した AWS リージョンを選択します ([米国東部 (オハイオ)] など)。

  12. [ダッシュボード] ページで、[MyDemoCloud9Repo] を選択します。3 つのファイルが表示されます。

CodeCommit リポジトリの試用を続行するには、AWS CodeCommit ユーザーガイド の「リポジトリの内容を参照する」を参照してください。

Git を初めて使用する場合で CodeCommit リポジトリに手を加えたくない場合は、Try Git ウェブサイトのサンプル Git リポジトリを試してください。

ステップ 6: クリーンアップ

このサンプルを使用し終わった後 AWS アカウントで料金が継続的に発生するのを防ぐには、CodeCommit リポジトリを削除する必要があります。手順については、AWS CodeCommit ユーザーガイド の「AWS CodeCommit リポジトリの削除」を参照してください。

環境 も削除する必要があります。手順については、「環境の削除」を参照してください。