IT男のアジャイルキャリア奮闘記

IT業界でキャリアを築きたい貴方にお役立ち情報を発信していきます

MENU

ECRコンテナイメージのAWSアカウント間移行

今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。

 

目次

 

背景

f:id:hungrycrazyman:20210621075537p:plain

リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。

 

移行対象サービス

f:id:hungrycrazyman:20210623074108p:plain

AWSの完全マネージド型のコンテナレジストリサービスであるAmazon Elastic Container Registryです。

 

移行手順

1.移行元のECRレジストリにログインし、ローカルにDockerイメージをプルする。

まず以下ユーザーガイドP15を参照し、以下のようにaws cliのコマンドを実行してログイン認証します。

コマンド例

aws ecr get-login-password --region <リージョン名> | docker login --username AWS --password-stdin <アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com

ユーザーガイドは以下。

https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/ecr-ug.pdf

f:id:hungrycrazyman:20210623075457p:plain

 

次に下記のようにローカル環境にてDockerが起動されていることを確認し、 

f:id:hungrycrazyman:20210623080041p:plain

コマンドラインツールにてイメージプルのコマンドを実行します。

コマンド例

docker pull <アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/<リポジトリ名>:<バージョン>

出力結果例

f:id:hungrycrazyman:20210623080432p:plain

 

2.移行先アカウントのECRレジストリに移行元アカウントのリポジトリと同名のリポジトリを作成します。

f:id:hungrycrazyman:20210622080101p:plain

リポジトリ一覧右上にある「リポジトリを作成」から簡単にリポジトリを作成することができます。

 

作成結果

f:id:hungrycrazyman:20210623080923p:plain

 

3.移行先のリポジトリへローカルイメージをプッシュする

ローカルにあるプッシュ対象のイメージIDを確認する。

コマンドラインでdocker imagesを実行

f:id:hungrycrazyman:20210623081608p:plain


RIPOSITORYとある列がイメージ名を指し、

<アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/<リポジトリ名>という構成になっており、AWSではリポジトリのパス(リポジトリの住所)を意味している。

 

今回移行先ように既存イメージの住所を変更してあげる(イメージ名を変更する)ことで移行先アカウントのECRリポジトリへのプッシュを可能とすることが重要です。

 

なので移行したいイメージに対し、docker tagをコマンドして改名してあげます。

※実際はコピーしたイメージ対象に対し、新しく名前をつけます。

コマンド例

docker tag <イメージID> <移行先アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/<リポジトリ名>(変更後のイメージ名)

 

実行例

f:id:hungrycrazyman:20210623082624p:plain


後はイメージ名を変更したイメージに対し、移行先のリポジトリへプッシュするだけです。

コマンド例

docker push <移行先アカウントID>.dkr.ecr.<リージョン名>.amazonaws.com/<リポジトリ名>:<バージョン>(改名したイメージ名)

 

実行結果

f:id:hungrycrazyman:20210623082958p:plain

 

以上でアカウント間のECRリポジトリ移行は完了です。お疲れ様でした。
 

ではまた、会いましょう。

 

CodeCommitリポジトリのAWSアカウント間移行

今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。

 

目次

 

背景

f:id:hungrycrazyman:20210621075537p:plain

リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。

 

移行対象サービス

f:id:hungrycrazyman:20210622074949p:plain

AWSのプライベートGITリポジトリサービスであるCodeCommitです。

 

移行手順

1.移行元のCodeCommitリポジトリをローカルにプルする。

以下ユーザーガイドに沿ってCodeCommitへの初期アクセス設定を行います。

※私の場合はSSH接続でCodeCommitを操作しに行きます。

docs.aws.amazon.com

 

次に下記のようなリポジトリ一覧にて右側「URLのクローン」のいずれかをクリックし、クリップボードにURL情報をコピーします。

f:id:hungrycrazyman:20210622075207p:plain

 

次にGit bash, Command Prompt, Power Shellなどのコマンドラインツール上でリポジトリをプルするコマンドを実行します。

git pull <クリップボードにコピーしたURL>

 

出力結果にErrorが出なければプル完了です。

 

2.移行先アカウントのCodeCommitに移行元アカウントのリポジトリと同名のリポジトリを作成します。

f:id:hungrycrazyman:20210622080101p:plain

リポジトリ一覧右上にある「リポジトリを作成」から簡単にリポジトリを作成することができます。

 

3.移行先のCodeCommitへローカルアクセスするためのセキュリティ設定

1で作成したSSH(もしくは他の接続方法)接続プロファイルを再度移行先アカウントの方でも再度作成するか、IAMユーザーのクロスアカウントアクセス設定を検討してください。今回私はもう一つSSH接続を作成し、コマンド操作する際はプロファイルを切り替えるようにしました。

ローカルにてkeygen及びAWS IAMコンソール上でSSH情報の登録が完了している前提で、SSH接続のプロファイルを切り替える方法は以下の通り。

※Git Bashを利用しています。

cdで.sshフォルダへ移動

f:id:hungrycrazyman:20210622080713p:plain

lsでフォルダ内のファイルを確認する。

f:id:hungrycrazyman:20210622080730p:plain

id_rsa, id_rsa.pubが作成したキー情報。configにSSH接続設定情報がある。

f:id:hungrycrazyman:20210622080804p:plain

cofigファイルを編集したいのでnotepadコマンドを実行。

f:id:hungrycrazyman:20210622080822p:plain

以下のように<>内に適切な情報を入力する。SSHキーはAWS IAMユーザーの認証情報タブにあるSSH情報から入手できる。また、IdentityFileはSSHキーに紐づくキーファイル名(xx_rsa)を入力する。

f:id:hungrycrazyman:20210622081007p:plain

4.2で作成したリポジトリのクローンURLを取得し、ローカルの移行元リポジトリを移行先リポジトリにプッシュする。

1.の要領でクリップボードにプッシュ先のリポジトリに関するクローンURLを取得する。ローカルで以下のコマンドを実行してErrorが出なければプッシュ完了。

git push <クリップボードにコピーしたURL>

 プッシュ結果例

f:id:hungrycrazyman:20210622081820p:plain

 

以上でアカウント間のCodeCommitリポジトリ移行は完了です。
 

ではまた、会いましょう。

 

RDS SQLServer(Expressエディション)のAWSアカウント間移行

今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。

 

目次

 

背景

f:id:hungrycrazyman:20210621075537p:plain

リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。

 

移行対象サービス

Analyze your Amazon RDS for SQL Server data with Qlik in minutes | Stitch


RDS(Relational Database Service)のMicrosoft SQL Serverです。

エディションは無料版のExpressです。

 

移行時のTips

移行方法については他サイトに既に載っているので以下をご参考ください。

qiita.com

 

今回はRDS×SQL Server Expressという点がポイントです。

結論から言いますとスナップショットを利用してDBを移行する場合、SQL ServerのExpressエディションは暗号化が不可のため、暗号化をせずにスナップショットを移行する必要があります。

※他の上位エディションは暗号化できます。

 

私は移行の際はデータを暗号化するという一般的な常識が染み付いていましたので今回引っかかってしまいました。

 

ではまた、会いましょう。

 

朝活のすゝめ 〜 ⑤朝ブログのすゝめ

朝活のすゝめシリーズ第5回です。シリーズ最終回です!

 

目次

 

朝ブログのすゝめ

f:id:hungrycrazyman:20210618071126j:plain

 普段ブログを書かない人は朝にブログを書いてみてはどうですか。

これまた朝という時間を有効活用することになりますし、何より充実します。

  

朝ブログのメリット

f:id:hungrycrazyman:20210618071718j:plain

  1. 1日がアウトプットからはじまる。起床後なので脳内の情報が整理された状態で綺麗なアウトプットがなされる。
  2. 始業前の頭の体操になる。
  3. 日記替わりになり、日々の記録が後々の資産となる。
  4. 毎日の習慣とすることで格段に文章能力、伝える力が伸びる。
  5. ブログ執筆を定点観測の手段とし、その日の調子(頭の回転)などを測ることができる。

 

私の場合

f:id:hungrycrazyman:20210618073149j:plain

朝ブログを7:30~から執筆し始め、1記事15~30分を目標に書き上げています。技術ブログになると1時間以上かかることもありますが、いずれにしても自分の資産になりますのでためになることをしていると思っていますね。ブログビギナーですが100記事投稿目指して平日毎日投稿しています。応援宜しくお願いします!笑

 

 

プログラミングをする人のイラスト(男性) | かわいいフリー素材集 いらすとや
また、フロントエンドエンジニア(HTML,CSS,JSを知っている人)は特にブログとの親和性が高いので是非執筆すべきです!現に自分は会社のジョブでフロントエンド言語を扱ったウェブアプリケーションの開発に携わったことがあり、ジョブで培った知識がブログのデザインで役に立っています。

 

 f:id:hungrycrazyman:20210618074342j:plain

特にIT業界の方は情報収集が基本的にWebサイトになると思いますし、ブログによって自分から正しい技術知識を発信していくことは大きな社会貢献になると思います。

 

結論

ブログ執筆はアウトプットの機会として優秀に思います。皆さんも是非ブログを始めてみませんか?

余談ですが、技術ブログなどは良質な記事が集まった日本語サイトQiitaがあるのでそちらに投稿した方が世のため人のためになるかもしれません。ネタによって投稿先を使い分けるのも一つの工夫ですよね。

Qiitaについては以下を参考ください。

 

qiita.com

 

ではまた、会いましょう。

 

朝活のすゝめ 〜 ④朝筋トレのすゝめ

朝活のすゝめシリーズ第4回です。シリーズ終盤です!

 

目次

 

朝筋トレのすゝめ

f:id:hungrycrazyman:20210615073755p:plain

 

朝筋トレは短い時間の中で集中して自分の鍛えたい部位だけ鍛えます。これを毎日継続していくことで筋肉がつき、自信に満ち溢れます。

朝に筋トレしてみませんか。 

  

朝筋トレの効果

f:id:hungrycrazyman:20210617073609j:plain



  1. 自分に勝ち、筋トレを終えたころには達成感がある。
  2. 朝から頭が冴える。
  3. 前日に仕事やプライベートで嫌なことがあってもストレス発散になるし、気持ちを切り替えるきっかけになる。
  4. メンタル面での強さを手に入れられる。

 

私の場合

朝筋トレを朝の5~10分実施し、毎日継続しています。理由は体がだらしないと心もだらしなくなるからです。特に腹筋が割れず、お腹が出ているとイケていないですよね。

また、人間はそのまま自分を放っておくと次第に緩いメンタルになっていく動物なので自分に喝を入れるためにも朝から筋トレを行っています。

最高の無料イラスト: 元の筋肉 トレーニング 筋 トレ イラスト

 

私が実践している筋トレ内容は以下の別記事を参考ください。オススメの筋トレyoutube動画も掲載しております。 

hungrycrazyman.hatenablog.com

結論

私のように自己肯定感が低い人には特に朝筋トレおすすめです。毎日朝から達成感を経験していきましょう。自分に勝てると自ずと強気になれます。強い自分でいられることはコロナ禍のこのご時世非常に良いことだと思います。

上手くセルフマネジメントしていきたいですよね。 

 

最終回は朝ブログのすゝめを発信していきます。

ではまた、会いましょう。

 

朝活のすゝめ 〜 ③朝学習のすゝめ

朝活のすゝめシリーズ第3回です。

 

目次

 

朝学習のすゝめ

朝早く起きて勉強したい!夜型な高校生が朝型になる方法

 

朝学習は私の中で"オフ・ザ・ジョブ・トレーニング"と読んでいます。これは小宮一慶氏の言葉を引用させていただいたものです。以下参考サイトです。

president.jp

 

 

朝学習によって日々さらに自分をレベルアップさせることができます。それは知識的にも人間的にも。朝の10分でもいいので朝学習してみませんか。

 

朝学習の効果

f:id:hungrycrazyman:20210615073755p:plain

  1. 仕事では学べないことを朝学び、それが仕事でも生きる。
  2. 1日の充実感が違う。とても充実している。
  3. 日常の忙しさから離れて考える時間が増えるので自分の人生やキャリアについて考え直す機会ができる。よって自分の歩む方向を修正するきっかけになる。

 

私の場合

特に仕事とのシナジーを期待して、朝学習・仕事の両輪で取り組むことを意識しています。

f:id:hungrycrazyman:20210616080310j:plain

 

例えば、仕事でAWSクラウド環境の運用を任されているときに朝学習ではAWSのSolution Architect Assocciateの資格勉強をするといった形です。

 

朝学習でAWSクラウドの知識をつけるとさらに効率の良い運用方法がわかるのでそれを仕事で実践することができます。特にクラウドはハンズオン学習するにもお金がかかることが多いため、ただでクラウド環境を利用できる仕事の場で朝学習したことを実践できることは非常に素晴らしいことです。

 

結論

私のように自己肯定感が低い人には特に朝学習おすすめです。

朝学習も人生の経験になります。経験を増やせば自ずと自信が付きます。

自信がつくと仕事にも精を出せるようになります。

経験があるので考える力もあり、仕事を効率良くこなせます。

仕事を効率よくこなせると評価されます。

評価されると嬉しいですよね。それが人生の充実感になると思います。

 

 

次回は朝筋トレのすゝめを発信していきます。

ではまた、会いましょう。

 

朝活のすゝめ 〜 ②朝食のすゝめ

朝活のすゝめシリーズ第2回です。

 

目次

 

朝食のすゝめ

朝食プレート | 無料イラスト素材|素材ラボ

 

私にとって朝食を取ることは昼までの集中力を維持してくれるものだと思っています。

朝食を取らないでいると午前の仕事中に空腹に悩まされ、集中力が続かないことがありました。

 

朝食を摂ることによる効果

f:id:hungrycrazyman:20210615073755p:plain

  1. 味覚を刺激し、目を覚ます
  2. 無駄な間食が減り、太りにくくなる
  3. 始業時には脳に糖分が行き、集中しやすい状態に

 

私の場合

朝食は6時半に摂ります。そこから7時半まで家事を行い、その後はブログ執筆、朝学習(プログラミングなど)を行い、始業15分前に筋トレを行って仕事に臨みます。

このような過ごし方をしていますが、仕事前の準備としてしっかり朝食を摂ることで仕事ではハイパフォーマンスを発揮できていると実感しています。

 

結論

たかが朝食、されど朝食です。侮るなかれ

 

次回は朝学習のすゝめを発信していきます。

ではまた、会いましょう。