AWS CodeCommit の サンプルAWS Cloud9 - AWS Cloud9

AWS CodeCommit の サンプルAWS Cloud9

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

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

Prerequisites

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

  • 既存の 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 Management Console または AWS コマンドラインインターフェイス (AWS CLI) を使って完了できます。

コンソールを使用して、必要なアクセス許可を持つ IAM グループを設定する

  1. AWS Management Console にまだサインインしていない場合は、サインインします。

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

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

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

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

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

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

    • CodeCommit のすべての機能とリポジトリ関連リソースへのアクセス許可を受けるため、[AWSCodeCommitPowerUser]を選択します。ただし、CodeCommit リポジトリの削除または Amazon CloudWatch Events など他の AWS サービスでリポジトリ関連リソースの作成または削除は許可されません。

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

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

  7. Attach Policy]を選択します。

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

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

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

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

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 Management Consoleまたは AWS コマンドラインインターフェース(AWS CLI)を使って完了できます。

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

  1. 前のステップで IAM 管理者ユーザーとして AWS Management Console にサインインしていて、IAM 管理者ユーザーを使用してリポジトリを作成したくない場合は、AWS Management Console からサインアウトします。

  2. https://console.aws.amazon.com/codecommit で 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 に置き換えてリポジトリを作成します。対応するリージョンの一覧については、Amazon Web Services 全般のリファレンス の「AWS CodeCommit」を参照してください。

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

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

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

注記

ビジュアルインターフェイスを使用して Git を操作したい場合は、リモートリポジトリをクローンし、IDE で利用できるGit パネルの特徴を使用してファイルを追加します。

お持ちの 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 CLI EC2 開発環境で AWS Cloud9 の認証情報ヘルパーを設定する」を参照してください。

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

SSH 環境

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

  2. AWS CodeCommit ユーザーガイド 内の Linux、macOS、または Unix の AWS CodeCommit リポジトリへの SSH 接続設定の設定ステップ の「ステップ 3: Linux、macOS、または Unix で認証情報を設定する」を終了してください。

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

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

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

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

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

git clone CLONE_URL

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

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

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

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

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

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

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

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

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

    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 を試す)]ウェブサイトのサンプル Git リポジトリを試してください。

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

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

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