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

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

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

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

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

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

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

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

    注記

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

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

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

  5. [Permissions (アクセス許可)] タブで、[Add Permissions (アクセス許可の追加)] を選択します。

  6. [Grant permissions (アクセス許可の付与)] で、[Attach existing policies directly (既存のポリシーを直接アタッチする)] を選択します。

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

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

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

注記

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

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

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

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

注記

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

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

SSH および Linux, macOS, or Unix: Git および 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/)を開きます。

    注記

    CodeCommit の認証情報を [セキュリティ認証情報] で直接表示および管理できます。詳細については、「認証情報の表示と管理」を参照してください。

  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

    注記

    複数の SSH キー ID をアップロードしている場合、キーは、アップロードの日付ではなく、キー ID のアルファベット順にリストされます。正しいアップロードの日付に関連付けられたキー 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 ファイルにまだ含まれていないため、接続の確認を求められます。この確認の一部として、CodeCommit サーバーのフィンガープリントが表示されます (MD5 の場合は a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e、SHA256 の場合は 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ)。

    注記

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

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

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

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

    接続の問題のトラブルシューティングに役立つ詳細情報は、トラブルシューティング を参照してください。

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

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

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

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

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

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

    リポジトリのリストではなく [Welcome] ページが表示された場合、AWS アカウントに関連付けられているリポジトリはありません。リポジトリを作成するには、「AWS CodeCommit リポジトリの作成」を参照するか、「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 システムでの接続が失敗します。」を参照してください。

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

次のステップ

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