AWS CodeCommit
ユーザーガイド (API バージョン 2015-04-13)

このガイドの手順では、新しいコンソールデザインがサポートされています。古いバージョンのコンソールを選択すると、古い概念が反映され、本ガイドの基本的な手順がそのまま適用されます。新しいコンソールのヘルプにアクセスするには、情報アイコンを選択します。

Linux, macOS, or Unix 上で AWS CodeCommit リポジトリに SSH 接続するために必要なセットアップ手順

AWS CodeCommit に初めて接続する前に、最初の設定手順を完了する必要があります。このトピックでは、コンピュータと AWS プロファイルの設定、AWS CodeCommit リポジトリへの接続、コンピュータへのそのリポジトリの複製 (ローカルリポジトリの作成) の手順について説明します。Git を初めて利用する場合は、「Git について」でも情報を確認できます。

ステップ 1: AWS CodeCommit の初期設定

AWS アカウントを設定し、IAM ユーザーを作成して、AWS CodeCommit へのアクセスを設定するには、以下の手順に従います。

AWS CodeCommit にアクセスするための IAM ユーザーを作成および設定するには

  1. AWS アカウントを作成するには、http://aws.amazon.com にアクセスし、[Sign Up (サインアップ)] を選択します。

  2. IAM ユーザーを作成するか、AWS アカウントに関連付けられた既存のユーザーを使用します。アクセスキー ID およびシークレットアクセスキーがその IAM ユーザーに関連付けられていることを確認します。詳細については、「AWS アカウント内での IAM ユーザーの作成」を参照してください。

    注記

    AWS CodeCommit には AWS Key Management Service が必要です。既存の IAM ユーザーを使用している場合は、AWS CodeCommit で必要な AWS KMS アクションを明示的に拒否するユーザーにポリシーがアタッチされていないことを確認します。詳細については、「AWS KMS および暗号化」を参照してください。

  3. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  4. IAM コンソールのナビゲーションペインで、[Users (ユーザー)] を選択し、続いて、AWS CodeCommit へアクセスするために設定する IAM ユーザーを選択します。

  5. [Permissions] タブで、[Add Permissions] を選択します。

  6. [Grant permissions] で、[Attach existing policies directly] を選択します。

  7. AWS CodeCommit にアクセスするために、ポリシーのリストから [AWSCodeCommitFullAccess]、または別の管理ポリシーを選択します。AWS CodeCommit の管理ポリシーの詳細については、「AWS CodeCommit での AWS 管理 (事前定義) ポリシー」を参照してください。

    アタッチするポリシーを選択したら、[Next: Review] を選択して、IAM ユーザーにアタッチするポリシーのリストを表示します。リストが正しい場合は、[Add permissions] を選択します。

    AWS CodeCommit 管理ポリシーや、その他のグループおよびユーザーを含むリポジトリへのアクセス共有の詳細については、「リポジトリの共有」および「AWS CodeCommit に対する認証とアクセスコントロール」を参照してください。

注記

AWS CodeCommit で AWS CLI コマンドを使用する場合は、AWS CLI をインストールします。詳細については、「コマンドラインリファレンス」を参照してください。

ステップ 2: Git をインストールする

ファイル、コミット、および AWS CodeCommit レポジトリのその他の情報を操作するには、ローカルマシンに Git をインストールする必要があります。AWS CodeCommit は Git バージョン 1.7.9 以降をサポートしています。

Git をインストールするには、Git のダウンロードなどのウェブサイトをお勧めします。

注記

Git は、定期的に更新されている、発展中のプラットフォームです。機能の変更により、AWS CodeCommit での動作が影響を受ける場合があります。特定のバージョンの Git と AWS CodeCommit で問題が発生した場合は、「トラブルシューティング」の情報を確認してください。

ステップ 3: Linux, macOS, or Unix 上で認証情報を設定する

SSH および Linux, macOS, or Unix: Git および AWS CodeCommit で使用するパブリックキーとプライベートキーのセットアップ

  1. ローカルマシンのターミナルから ssh-keygen コマンドを実行し、手順に従って、プロフィールの .ssh ディレクトリにファイルを保存します。

    注記

    必ず、キーファイルの保存場所および使用するファイルの命名パターンをシステム管理者に確認してください。

    以下に例を示します。

    $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user-name/.ssh/id_rsa): Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-user-name/.ssh/codecommit_rsa Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter> Enter same passphrase again: <Type the passphrase again, and then press Enter> Your identification has been saved in /home/user-name/.ssh/codecommit_rsa. Your public key has been saved in /home/user-name/.ssh/codecommit_rsa.pub. The key fingerprint is: 45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-name The key's randomart image is: +--[ RSA 2048]----+ | E.+.o*.++| | .o .=.=o.| | . .. *. +| | ..o . +..| | So . . . | | . | | | | | | | +-----------------+

    これにより、以下が生成されます。

    • codecommit_rsa ファイル (プライベートキーファイル)

    • codecommit_rsa.pub ファイル (パブリックキーファイル )

  2. 次のコマンドを実行して、パブリックキーファイル (codecommit_rsa.pub) の値を表示します。

    cat ~/.ssh/codecommit_rsa.pub

    この値をコピーします。以下のようになります。

    ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137
  3. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  4. IAM コンソールのナビゲーションペインで [Users (ユーザー)] を選択し、ユーザーのリストから自分の IAM ユーザーを選択します。

  5. ユーザーの詳細ページで、[Security Credentials] タブを選択し、次に Upload SSH public key を選択します。

  6. SSH パブリックキーの内容をフィールドに貼り付け、[Upload SSH public key] を選択します。

  7. SSH Key ID の情報を (APKAEIBAERJR2EXAMPLE など) をコピーまたは保存します。

    
              IAM コンソールの SSH キー ID
  8. ローカルマシンで、テキストエディタを使用して ~/.ssh ディレクトリに設定ファイルを作成し、そのファイルに次の行を追加します。ここで、User は、前の手順で作成した SSH キー ID を表します。

    Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa

    注記

    プライベートキーファイルに codecommit_rsa 以外の名前を付けた場合は、ここでその名前を必ず使用してください。

    このファイル名を config として保存します。

  9. ターミナルから、次のコマンドを実行して設定ファイルのアクセス権限を変更します。

    chmod 600 config
  10. 以下のコマンドを実行して、SSH 設定をテストします。

    ssh git-codecommit.us-east-2.amazonaws.com

    git-codecommit.us-east-2.amazonaws.com が既知の Hosts ファイルにまだ含まれていないため、接続を確認するように求められます。その確認時、AWS CodeCommit サーバーのフィンガープリントが表示されます (MD5 の場合は a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e、SHA256 の場合は 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ)。

    注記

    AWS CodeCommit サーバーのフィンガープリントは、各リージョンに固有です。特定リージョンのサーバーフィンガープリントを表示する方法については、「AWS CodeCommit のサーバーフィンガープリント」を参照してください。

    接続の確認後、そのサーバーが既知の Hosts ファイルに追加されたことの確認と接続の成功メッセージが表示されます。成功メッセージが表示されない場合は、AWS CodeCommit にアクセスするために設定した IAM ユーザーの ~/.ssh ディレクトリに config ファイルが保存されていること、適切なプライベートキーファイルが指定されていることをもう一度確認します。

    問題の解決に役立つ情報については、-v パラメータを指定して ssh コマンドを実行してください。

    ssh -v git-codecommit.us-east-2.amazonaws.com

    問題のトラブルシューティングに役立つ詳細情報は、トラブルシューティング で確認できます。

ステップ 4: AWS CodeCommit コンソールに接続し、リポジトリを複製する

管理者から AWS CodeCommit リポジトリの名前と接続の詳細をすでに受け取っている場合は、このステップをスキップしてリポジトリを直接複製できます。

AWS CodeCommit リポジトリに接続するには

  1. https://console.aws.amazon.com/codecommit にある AWS CodeCommit コンソールを開きます。

  2. リージョンセレクタで、リポジトリが作成されたリージョンを選択します。リポジトリは、AWS リージョンに固有のものです。詳細については、「リージョンと Git 接続エンドポイント」を参照してください。

  3. リストから、接続するリポジトリを選択します。そのリポジトリの [Code] ページが開きます。

    レポジトリのリストではなく [Welcome] ページが表示される場合、お客様の AWS アカウントに関連付けられているレポジトリはありません。リポジトリを作成するには、「AWS CodeCommit リポジトリの作成」を参照するか、「AWS CodeCommit での Git の使用に関するチュートリアル」チュートリアルのステップに従います。

  4. リポジトリへの接続時に使用する SSH URL をコピーします。

  5. ターミナルを開きます。/tmp ディレクトリから、コピーした SSH URL を使用して git clone コマンドを実行し、リポジトリのクローンを作成します。たとえば、MyDemoRepo という名前のリポジトリを 米国東部 (オハイオ) リージョンの my-demo-repo というローカルリポジトリに複製するには、次のようにします。

    git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    注記

    正常に接続されたことを確認できたが、コマンドを実行してもクローンを作成できない場合には、設定ファイルへのアクセスに必要な権限が付与されていないか、他の設定が設定ファイルと競合している可能性があります。もう一度接続をお試しください。今度は、コマンドに SSH キー ID を含めます。以下に例を示します。

    git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    詳細については、「アクセスエラー: パブリックキーは IAM に正常にアップロードされましたが、Linux, macOS, or Unix システムでの接続に失敗しました。」を参照してください。

    リポジトリへの接続方法の詳細については、「リポジトリのクローンを作成して AWS CodeCommit リポジトリに接続する」を参照してください。

次のステップ

前提条件を完了しました。「AWS CodeCommit のチュートリアル」のステップに従って、AWS CodeCommit の使用を開始してください。